ComunicaçãoAo vivo
Real-time & Comunicação
Um chat em grupo por salas temporárias: você cria conta, entra ou cria uma sala através de um link, e conversa com até 10 pessoas em tempo real. Cada sala expira sozinha 7 dias depois de criada, sem deixar rastro. As mensagens ficam criptografadas (AES-256-GCM) no banco de dados.
Realtime Chat WebSocket Server-Sent Events Java Spring Boot Redis JWT
Tecnologias
- Java 21
- Spring Boot
- Spring WebSocket
- Spring Security
- JJWT
- PostgreSQL (Supabase)
- Redis
- BCrypt
- Server-Sent Events
- Criptografia AES-256-GCM
Arquitetura
- Frontend Next.js consumindo uma API Java externa
- WebSocket puro para o chat da sala (uma conexão por sala)
- Server-Sent Events por usuário para avisar de mensagens novas em qualquer sala dele
- Redis Pub/Sub entre instâncias
- mensagens cifradas com AES-256-GCM antes de serem gravadas no banco
- JWT de acesso curto com refresh token rotacionado
- cookie de sessão cross-origin
- expiração de sala controlada por data no banco — não por token
Conceitos
- Ciclo de vida de WebSocket
- EventSource e reconexão automática
- notificações do navegador (Notification API)
- Redis Pub/Sub entre instâncias
- presença online via TTL
- JWT com refresh token rotacionado
- cookie de sessão cross-origin
- expiração de dados via job agendado
- modelagem relacional de salas e participantes
- criptografia de mensagens em repouso (AES-GCM)
Área de demonstração
A demonstração é 100% funcional — teste agora.
Demo Anterior
Dashboards
Dashboard de observabilidade inspirado em ferramentas como Grafana, simulando em tempo real a saúde de uma aplicação distribuída através de métricas, eventos, gráficos interativos e cenários de incidentes.
Próxima Demo
Arquitetura de Micro-frontends
Um diagrama vivo do Feature-Sliced Design deste projeto, mais uma demo de Module Federation mostrando dois micro-apps independentes lado a lado.