5.6 KiB
5.6 KiB
EPICA: EPIC-MGN-008 - Notificaciones
Metadata
| Campo | Valor |
|---|---|
| ID | EPIC-MGN-008 |
| Nombre | Sistema de Notificaciones |
| Modulo | notifications |
| Fase | Fase 3 - Extended |
| Prioridad | P2 |
| Estado | Backlog |
| Story Points | 21 |
| Sprint(s) | Sprint 13-14 |
Descripcion
Sistema de notificaciones multicanal que incluye notificaciones in-app, email y push (mobile). Permite preferencias por usuario, templates de notificacion reutilizables con variables dinamicas, y soporte para eventos del sistema.
Objetivo de Negocio
Proveer notificaciones que:
- Mantengan usuarios informados de eventos relevantes
- Soporten multiples canales (in-app, email, push)
- Permitan personalizacion de preferencias
- Reduzcan tiempo de respuesta a eventos criticos
- Mejoren engagement con la plataforma
Stakeholders
| Rol | Nombre/Equipo | Responsabilidad |
|---|---|---|
| Product Owner | Equipo Producto | Definicion de tipos de notificaciones |
| Tech Lead | Equipo Backend | Arquitectura multicanal |
| UX Designer | Equipo Frontend | Diseño de experiencia |
| DevOps | Infraestructura | Configuracion servicios (FCM, SMTP) |
Historias de Usuario
| ID | Historia | Prioridad | SP | Estado |
|---|---|---|---|---|
| US-MGN008-001 | Como usuario, quiero recibir notificaciones in-app para estar al tanto de eventos importantes | P0 | 5 | Backlog |
| US-MGN008-002 | Como usuario, quiero recibir notificaciones por email para eventos que requieren accion | P0 | 5 | Backlog |
| US-MGN008-003 | Como usuario, quiero configurar mis preferencias de notificacion para controlar que recibo | P0 | 3 | Backlog |
| US-MGN008-004 | Como admin, quiero crear templates de notificacion para estandarizar comunicaciones | P1 | 5 | Backlog |
| US-MGN008-005 | Como usuario, quiero marcar notificaciones como leidas para gestionar mi bandeja | P0 | 2 | Backlog |
| US-MGN008-006 | Como usuario, quiero recibir push notifications en mobile para estar informado fuera del sistema | P2 | 3 | Backlog |
Total Story Points: 23 SP (ajustado a 21)
Criterios de Aceptacion de la Epica
Funcionales:
- Notificaciones in-app con badge de conteo no leido
- Emails con templates HTML responsivos
- Preferencias granulares por tipo de notificacion y canal
- Push notifications (Firebase Cloud Messaging)
- Templates con variables dinamicas ({{user.name}}, {{order.total}})
- Historial de notificaciones con filtros
No Funcionales:
- Performance: Notificacion entregada en < 2s (in-app)
- Reliability: Email delivery rate > 95%
- Escalabilidad: 1000+ notificaciones/minuto
Tecnicos:
- Cobertura de tests > 80%
- Documentacion de templates disponibles
- Integracion con proveedores externos configurada
Dependencias
Esta epica depende de:
| Epica/Modulo | Estado | Bloqueante |
|---|---|---|
| EPIC-MGN-002 Users | Ready | Si |
| EPIC-MGN-006 Settings (Email config) | Backlog | Si |
Esta epica bloquea:
| Epica/Modulo | Razon |
|---|---|
| Todos los modulos | Usan notificaciones para eventos |
Desglose Tecnico
Database:
- Schema:
core_notifications - Tablas: 5 (notifications, notification_preferences, templates, push_tokens, email_queue)
- Indices: Por user_id, read_at, created_at
- RLS Policies: Si (usuario solo ve sus notificaciones)
Backend:
- Modulo:
notifications - Services: NotificationService, EmailService, PushService, TemplateEngine
- Entities: 5 (Notification, NotificationPreference, Template, PushToken, EmailQueue)
- Endpoints: 8 (listar, marcar leido, preferencias, etc.)
- Jobs: SendEmailJob, SendPushJob, CleanupOldNotificationsJob
- Tests: 20+
Frontend:
- Componentes: NotificationBell, NotificationDrawer, PreferencesForm, NotificationItem
- Stores: 1 (notificationsStore con WebSocket para real-time)
- WebSocket: Para notificaciones en tiempo real
Riesgos
| Riesgo | Probabilidad | Impacto | Mitigacion |
|---|---|---|---|
| Email en spam | Media | Alto | Configurar SPF, DKIM, DMARC |
| Push tokens invalidos | Media | Medio | Cleanup periodico de tokens |
| Sobrecarga de notificaciones | Media | Medio | Throttling, preferencias |
Definition of Ready (DoR)
- Historias de usuario definidas
- Criterios de aceptacion claros
- Dependencias identificadas
- Estimacion completada
- Configuracion SMTP disponible
- Proyecto Firebase configurado
- Sin bloqueadores activos
Definition of Done (DoD)
- Codigo implementado y revisado
- Tests pasando (unit, integration)
- Notificaciones in-app funcionando
- Emails enviandose correctamente
- Preferencias configurables
- Documentacion actualizada
- Inventarios actualizados
- Demo realizada
- Product Owner aprobo
Documentacion Relacionada
- Requerimientos:
docs/03-requerimientos/RF-notifications/ - User Stories:
docs/05-user-stories/mgn-008/ - DDL Spec:
docs/04-modelado/database-design/DDL-SPEC-core_notifications.md
Historial
| Fecha | Cambio | Autor |
|---|---|---|
| 2025-12-05 | Creacion de epica | Requirements-Analyst |
| 2025-12-05 | Completado con Stakeholders, Riesgos, DoR/DoD | Requirements-Analyst |
Creada por: Requirements-Analyst Fecha: 2025-12-05 Ultima actualizacion: 2025-12-05