Configurando Supabase Realtime para dashboards
Clase 10 de 17 • 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
Convierte tu aplicación en un sistema en vivo con un dashboard de administración conectado a Supabase Realtime: verás nuevos likes, comentarios, posts y registros aparecer al instante, sin refrescar. Aquí se aclara qué es Realtime, cómo funciona con WebSockets y cómo preparar la interfaz para activar suscripciones que mantengan los números siempre actualizados.
¿Qué es Realtime de Supabase y por qué importa?
Supabase Realtime permite manejar estado en tiempo real del lado del cliente usando WebSockets. Así, cada cambio relevante se refleja en pantalla sin recargas. La documentación oficial (supabase.com/realtime) presenta tres features clave que usaremos como guía.
- Cambios de base de datos: escuchar nuevos datos y reflejarlos al instante.
- Presencia: indicar si un usuario está online con el puntito verde.
- Transmisión: enviar y recibir datos en un mismo canal suscrito.
Los ejemplos muestran chats que responden al momento y casos de uso tipo Figma con seguimiento de cursores: dos clientes actualizan su posición en vivo. Esta idea potencia interfaces colaborativas y ayuda a monitorear y depurar comportamientos de uso sin fricción.
¿Cómo conectar el dashboard para ver cambios en vivo?
El proyecto incluye una nueva página en el repositorio: /dashboard. Actualmente solo tiene interfaz con placeholders y skeletons, y los conteos se actualizan solo tras refrescar. Por ejemplo, al publicar “Comentario de prueba” el número pasa de siete a ocho, pero no cambia hasta recargar. El objetivo: que cada interacción se refleje automáticamente.
- Abre dos ventanas: el dashboard y la aplicación en el puerto 3000 o el que tengas configurado.
- Ejecuta interacciones reales: comentario, like, post o registro de usuario.
- Observa el conteo en vivo: sin presionar refrescar.
Más adelante, se activarán suscripciones para cuatro eventos: creación de usuarios, nuevos posts, likes instantáneos y comentarios que aparecen en vivo dentro de la interfaz. Así, el panel se convierte en una herramienta para entender la actividad y detectar problemas rápidamente.
¿Cómo se suscribe el cliente a los eventos?
La base de la implementación se inspira en los ejemplos mínimos de la documentación. La idea general es:
- Importar y crear el client de Supabase.
- Crear un channel con el nombre que desees.
- Definir la suscripción usando “progress changes” para cambios en base de datos.
- Especificar el evento a escuchar: insert para todo lo nuevo.
- Indicar el schema público y la tabla objetivo, por ejemplo “mensajes”.
- Recibir el payload con el dato nuevo y usarlo en la interfaz al suscribirse con subscribe.
Este patrón será la base para conectar el dashboard con Realtime y mantenerlo sincronizado con la actividad.
¿Qué habilidades y conceptos aplicarás paso a paso?
Dominarás conceptos prácticos para construir experiencias reactivas y observables en producción.
- Realtime con WebSockets: estado del cliente actualizado sin recarga.
- Suscripciones por tabla y evento: foco en insert para datos nuevos.
- Canales de comunicación: un único channel para agrupar eventos relacionados.
- Estructura de base de datos: schema público y tabla “mensajes”.
- Flujo de datos: del payload a los contadores visibles.
- Diseño de interfaz: uso de placeholders y skeletons para cargas.
- Monitoreo y depuración: observar actividad y detectar fallos en vivo.
- Organización del proyecto: rama “clase diez” y ruta /dashboard en el repo.
- Trabajo en paralelo: dos ventanas abiertas para ver app y dashboard en simultáneo.
¿Te gustaría que agreguemos más métricas en vivo o nuevos eventos a monitorear? Cuéntalo en los comentarios y comparte cómo planeas usar estas suscripciones en tu proyecto.