Structure: - control-plane/: Registries, SIMCO directives, CI/CD templates - projects/: Gamilit, ERP-Suite, Trading-Platform, Betting-Analytics - shared/: Libs catalog, knowledge-base Key features: - Centralized port, domain, database, and service registries - 23 SIMCO directives + 6 fundamental principles - NEXUS agent profiles with delegation rules - Validation scripts for workspace integrity - Dockerfiles for all services - Path aliases for quick reference 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.4 KiB
RF-SYS-003: Configuración de Notificaciones
ID: RF-SYS-003 Título: Sistema de Configuración de Notificaciones Prioridad: Media Estado: ✅ Implementado Fase: 1 - Alcance Inicial Épica: EAI-006 - Configuración del Sistema
📋 Descripción
Sistema de configuración de preferencias de notificaciones por usuario, permitiendo control granular sobre canales, frecuencia y horarios de entrega.
🎯 Requerimientos Funcionales
REQ-001: Canales de Notificación
Como usuario Quiero elegir por qué canales recibir notificaciones Para controlar cómo soy contactado
Canales soportados:
email- Correo electrónicosms- Mensajes de textopush- Notificaciones pushin_app- Notificaciones en la appwebhook- Webhooks para integraciones
REQ-002: Frecuencia de Notificaciones
Como usuario Quiero controlar la frecuencia de notificaciones Para evitar spam
Frecuencias:
immediate- Inmediato (default)daily- Resumen diarioweekly- Resumen semanalnever- Nunca (desactivado)
REQ-003: Horarios Silenciosos
Como usuario Quiero definir horarios sin notificaciones Para no ser molestado en ciertos horarios
Criterios:
- ✅
quiet_hours_startyquiet_hours_end - ✅ Durante este período no se envían notificaciones
REQ-004: Límites de Notificaciones
Como usuario Quiero limitar notificaciones por día Para evitar saturación
Criterios:
- ✅
max_per_day- Máximo de notificaciones por día (default: 999)
🔧 Tabla: system_configuration.notification_settings
Columnas:
id- UUID (PK)tenant_id- UUIDuser_id- UUID (NOT NULL)notification_type- TEXT (tipo de notificación)channel- TEXT (email|sms|push|in_app|webhook)is_enabled- BOOLEANfrequency- TEXT (immediate|daily|weekly|never)quiet_hours_start- TIMEquiet_hours_end- TIMEmax_per_day- INTEGERtemplate_id- UUIDretry_policy- JSONBdelivery_settings- JSONB
Constraint: UNIQUE(user_id, notification_type, channel)
📝 Ejemplo
{
"user_id": "550e8400-e29b-41d4-a716-446655440000",
"notification_type": "exercise_completed",
"channel": "email",
"is_enabled": true,
"frequency": "daily",
"quiet_hours_start": "22:00",
"quiet_hours_end": "08:00",
"max_per_day": 5
}
Creado: 2025-11-08 Estado: ✅ Implementado