Supabase Realtime: dashboard en vivo sin recargar
Clase 10 de 17 • Curso de Supabase Avanzado
Contenido del curso
Autenticación
CRUD de la aplicación
Seguridad avanzada
Dashboard con Supabase Realtime
Emails y Resend para Suplatzigram
MCP y Edge Functions
Conecta tu dashboard de administrador a Supabase Realtime y observa likes, comentarios, posts y registros aparecer al instante, sin recargar. Con WebSockets, tu proyecto se vuelve más visible, trazable y fácil de depurar: cada interacción se refleja de inmediato en la interfaz.
¿Qué es Realtime en Supabase y por qué importa?
Realtime es la capa de Supabase que permite suscribirte a eventos en vivo desde el cliente usando WebSockets. Ofrece tres grandes opciones: cambios de base de datos, presencia y transmisión. Así, tu dashboard se mantiene actualizado en tiempo real con la actividad de la aplicación.
- Cambios de base de datos: inserciones, actualizaciones y borrados llegan como eventos.
- Presencia: usuarios en línea para mostrar, por ejemplo, el punto verde.
- Transmisión: enviar y recibir datos arbitrarios dentro de un canal.
¿Qué opciones ofrece Realtime?
- Cambios de base de datos para escuchar eventos como INSERT y actualizar métricas sin recargar.
- Presencia para reflejar conexión de usuarios y estados en vivo.
- Transmisión para sincronizar datos compartidos entre clientes suscritos a un mismo canal.
¿Qué ejemplos ilustran su uso?
- Chat en vivo: al escribir “Hola” en un cliente, aparece de inmediato en el otro. Dos clientes distintos conectados vía Realtime a Supabase.
- Presencia: mostrar un punto verde cuando alguien está online.
- Cursor tracking como en Figma: varios usuarios moviendo cursores y viéndose entre sí en tiempo real con Supabase de backend.
- La documentación en supabase.com/realtime trae ejemplos y el código para copiarlos y probarlos en local.
¿Cómo preparamos el dashboard para datos en vivo?
Partimos de una interfaz en la rama “clase diez” del repositorio, ubicada en la ruta “/dashboard”. Hoy muestra placeholders o skeletons y requiere refrescar para ver los números actualizados. El objetivo es que cada métrica cambie sola tras cada interacción.
- Abre dos ventanas: una con el dashboard y otra con la app en el puerto 3000 (o el que tengas por defecto).
- Genera actividad real: publica un comentario, da like o crea un post.
- Observa el comportamiento: sin Realtime, el contador sube solo al refrescar; con Realtime, subirá al instante.
- Métricas clave: likes, comentarios, posts y registros de usuario en vivo.
¿Cómo se implementa la suscripción a cambios de base de datos?
La lógica se basa en el cliente de Supabase, un channel y una suscripción. Tras importar y crear el cliente, defines un canal con el nombre que prefieras y especificas el feature de progress changes para escuchar eventos. Luego indicas el evento a rastrear (por ejemplo, insert), el schema público y la tabla objetivo. Cada cambio llega en el payload, y con .subscribe() empiezas a recibirlos automáticamente.
- Crear el cliente de Supabase e importarlo desde tu archivo de configuración.
- Definir un channel: es el contenedor donde el cliente se suscribe.
- Elegir el feature: cambios de base de datos con progress changes.
- Especificar evento: insert para detectar nuevos registros.
- Indicar ámbito: schema público y la tabla (ejemplo: “mensajes”).
- Procesar el payload: cada evento trae los datos nuevos listos para pintar en UI.
- Suscribirse con
.subscribe()y reflejar cambios en pantalla sin recarga.
¿Qué eventos rastrearemos en el dashboard?
- Nuevos usuarios: cada registro se refleja al instante.
- Nuevos posts: aparecen en vivo.
- Likes al instante: incrementos visibles sin refrescar.
- Comentarios en vivo: cada “comentario de prueba” se ve de inmediato.
Este enfoque convierte el panel en una herramienta de monitoreo y depuración en tiempo real, alineada con cómo operan aplicaciones de producción. ¿Qué métrica te gustaría ver en vivo primero? Cuéntalo en los comentarios y probamos juntos.