ComunicaciónEn vivo

Real-time & Comunicación

Un chat grupal organizado en salas temporales: creas una cuenta, entras o creas una sala mediante un link, y conversas con hasta 10 personas en tiempo real. Cada sala expira sola 7 días después de creada, sin dejar rastro. Los mensajes se guardan cifrados (AES-256-GCM) en la base de datos.

Realtime Chat WebSocket Server-Sent Events Java Spring Boot Redis JWT

Tecnologías

  • Java 21
  • Spring Boot
  • Spring WebSocket
  • Spring Security
  • JJWT
  • PostgreSQL (Supabase)
  • Redis
  • BCrypt
  • Server-Sent Events
  • Cifrado AES-256-GCM

Arquitectura

  • Frontend Next.js consumiendo una API Java externa
  • WebSocket puro para el chat de la sala (una conexión por sala)
  • Server-Sent Events por usuario para avisar de mensajes nuevos en cualquiera de sus salas
  • Redis Pub/Sub entre instancias
  • mensajes cifrados con AES-256-GCM antes de guardarse en la base de datos
  • JWT de acceso corto con refresh token rotativo
  • cookie de sesión cross-origin
  • expiración de sala controlada por fecha en la base de datos — no por token

Conceptos

  • Ciclo de vida de WebSocket
  • EventSource y reconexión automática
  • notificaciones del navegador (Notification API)
  • Redis Pub/Sub entre instancias
  • presencia en línea vía TTL
  • JWT con refresh token rotativo
  • cookie de sesión cross-origin
  • expiración de datos vía job programado
  • modelado relacional de salas y participantes
  • cifrado de mensajes en reposo (AES-GCM)

Área de demostración

La demostración es 100% funcional — pruébala ahora.