Skip to content

feat(notificaciones): campana Realtime en Navbar y servicio simulado de correo - #57

Merged
juanjose1234456787654 merged 4 commits into
developfrom
feature/notificaciones
Nov 9, 2026
Merged

juanjose1234456787654 merged 4 commits into
developfrom
feature/notificaciones

Conversation

@AnahiM2025

Copy link
Copy Markdown
Collaborator

Closes #32

📌 Descripcion

Implementación del módulo de notificaciones en tiempo real con Supabase Realtime. Se agregó una campana en el Navbar con contador de no leídas, un desplegable para ver las notificaciones y un servicio simulado de correo electrónico para los eventos clave del ciclo de pago.

🛠️ Detalles de la Implementación

  1. Campana en Navbar: Componente NotificacionCampana.tsx con badge, desplegable y opción de marcar como leída.
  2. Supabase Realtime: Escucha cambios en la tabla Boleto filtrados por pasajeroId. Detecta estados COMPLETADO/PAGADO y RECHAZADO/CANCELADO para mostrar la notificación.
  3. Servicio de Correo Simulado: Función enviarCorreoSimulado en emailService.ts que registra en consola los envíos.
  4. Plantillas: Archivo emailTemplates.ts con las 3 plantillas (Pago Recibido, Boleto Aprobado, Pago Rechazado).

🏁 Definición de Terminado (Checklist)

  • Código con tipado estricto TypeScript (cero any).
  • Sin imports de mockData.
  • Commits con formato feat(notificaciones): <descripción>.
  • PR hacia develop con Closes #32 (A la espera de las 2 aprobaciones).
  • Captura del Navbar con campana y badge activo.
  • Evidencia preparada para el informe técnico UTA.

📸 Evidencia Visual

image

@AnahiM2025

Copy link
Copy Markdown
Collaborator Author

He subido un nuevo commit con los dos arreglos solicitados:

  1. Evento Pago Recibido: Agregué el else if para el estado PENDIENTE_APROBACION en NotificacionCampana.tsx.
  2. Servicio de Correo Simulado: Ahora se importa y ejecuta enviarCorreoSimulado desde NotificacionCampana.tsx, y los logs se ven en la consola del navegador.

Adjunto captura de la consola donde se evidencia el log del correo enviado.
image

@juanjose1234456787654 juanjose1234456787654 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revisado y aprobado. ✅

  • Verificados los cambios del commit c3838d2: la inclusión del evento para PENDIENTE_APROBACION y el trigger de enviarCorreoSimulado funcionan según lo esperado.
  • Suscripción limpia a Supabase Realtime filtrando correctamente por pasajeroId.
  • Componente NotificacionCampana.tsx bien integrado en el Navbar con conteo reactivo y acción de marcado como leída.
  • Plantillas en emailTemplates.ts consistentes con los 3 estados del flujo.
  • Tipado estricto en TS sin errores y sin presencia de mockData.

Listo para merge a develop. 👍

@The-Fabry The-Fabry left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revisión y Aprobación: Campana Realtime en Navbar y servicio simulado de correo (Issue #32)

Excelente trabajo con este módulo de notificaciones. Revisé el código y las capturas de la consola que adjuntaste. El sistema funciona muy bien y es una gran mejora para mantener informado al pasajero sobre el estado de su compra.

Puntos que revisé y me gustaron:

  • Campana de Notificaciones (NotificacionCampana.tsx):

    • El componente visual está muy bien hecho. Tiene el contador de notificaciones no leídas, el menú desplegable se cierra al hacer clic afuera y permite marcar las notificaciones como leídas.
    • La conexión con Supabase Realtime está perfecta. Se filtra por el pasajeroId para que cada usuario reciba solo sus propias notificaciones en tiempo real.
  • Servicio de Correo Simulado:

    • Excelente trabajo con los tres eventos: Pago Recibido, Boleto Aprobado y Pago Rechazado.
    • Las plantillas (emailTemplates.ts) son claras y fáciles de leer, lo que simula muy bien cómo se vería un correo real.
  • Solución de Conflictos y Mejoras:

    • Veo que corregiste el evento "Pago Recibido" usando el else if, lo cual evita que se mezclen los mensajes.
    • La captura de la consola demuestra que el correo simulado se está enviando correctamente en el navegador.

Revisión de la Lista de Verificación:

  • Rama creada desde develop.
  • Commits con el formato correcto.
  • Compilación exitosa.
  • Evidencia visual y de consola adjunta en el Pull Request.
  • Primera aprobación recibida (Juan José).

Con esta segunda aprobación, el PR queda listo para hacer el merge a develop. ¡Muy buen trabajo!

@juanjose1234456787654
juanjose1234456787654 merged commit 809a3e1 into develop Nov 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants