Volver a proyectos Chat en tiempo real

ChatLive

Sistema de chat en vivo con WebSocket, roles de usuario y administrador.

Sobre el proyecto

Sistema de chat en tiempo real construido con Django, Channels y Daphne sobre WebSocket, con dos roles separados: usuario normal y administrador, cada uno con su propio login y su propia sala.

Maneja reconexión automática si se cae la conexión, ping/pong para medir latencia y control de acceso por decoradores según el rol.

Es la base sobre la que se armaron variantes de marca del mismo chat (ChatFenixPlay, ChatSharkGames), agregándoles envío de comprobantes de pago.

Cómo se desarrolló

  1. 1Consumers de Channels sobre ASGI, uno por rol (usuario / admin)
  2. 2Reconexión automática del cliente cada 3s si se pierde la conexión
  3. 3Ping/Pong para medir latencia de la conexión
  4. 4Control de acceso por decoradores (@access_user, @access_admin)

Otros detalles

Channel layer en memoria; queda pendiente pasar a Redis para correr con más de un worker.