Skip to content

[INTEGRATION] F-01.3 — Actualización en Tiempo Real via SSE

Épica: EPIC-01 — Dashboard Principal (Vista en Tiempo Real)

🏷️ Categoría

Categoría: IntegrationSecundaria: UI / PresentationImpacta en: Equipo Fullstack (Livewire + Laravel)

📦 Dependencias

Backlogs que deben estar completados antes de implementar esta feature.

BacklogMotivo
F-01.1Componente DashboardCards con método refreshCounts para recibir el evento
F-01.2Card 'Todos' incluida en el componente que debe actualizarse
F-05.2Endpoint GET /sse/logs implementado y emitiendo eventos SSE

Prioridad: Must


Descripción: Como administrador del sistema Quiero que los contadores del dashboard se actualicen automáticamente sin recargar la página Para ver el estado real del sistema en todo momento sin intervención manual

Criterios de Aceptación (Checklist):

  • [ ] Escenario 1 (Happy Path): Dado que n8n inserta un nuevo log Critical en Postgres, cuando han pasado menos de 2 segundos, entonces el contador de la card "Critical" del dashboard se incrementa automáticamente.
  • [ ] Escenario 2 (Reconexión): Dado que la conexión SSE se pierde (red inestable), cuando el frontend detecta el corte, entonces intenta reconectar automáticamente con backoff exponencial.
  • [ ] Escenario 3 (Seguridad): Dado que un usuario no autenticado intenta conectarse al endpoint SSE, cuando realiza la petición, entonces recibe un 401 Unauthorized y no recibe datos.
  • [ ] Requisito Técnico: Implementar via StreamedResponse de Laravel 12. El servidor escucha pg_notify (LISTEN/NOTIFY de PostgreSQL) para minimizar latencia. El endpoint SSE requiere sesión activa (middleware auth) antes de emitir (STRIDE I-API-01). El cliente conecta via EventSource JS nativo; Alpine.js despacha $wire.dispatch('refreshCounts') al recibir el evento.

Log Management Dashboard — Documentación del Proyecto