Sistema NEXUS v3.4 migrado con: Estructura principal: - core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles) - core/catalog: Catalogo de funcionalidades reutilizables - shared/knowledge-base: Base de conocimiento compartida - devtools/scripts: Herramientas de desarrollo - control-plane/registries: Control de servicios y CI/CD - orchestration/: Configuracion de orquestacion de agentes Proyectos incluidos (11): - gamilit (submodule -> GitHub) - trading-platform (OrbiquanTIA) - erp-suite con 5 verticales: - erp-core, construccion, vidrio-templado - mecanicas-diesel, retail, clinicas - betting-analytics - inmobiliaria-analytics - platform_marketing_content - pos-micro, erp-basico Configuracion: - .gitignore completo para Node.js/Python/Docker - gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git) - Sistema de puertos estandarizado (3005-3199) Generated with NEXUS v3.4 Migration System EPIC-010: Configuracion Git y Repositorios
10 KiB
_MAP: MAI-013 - Administración & Seguridad
Épica: MAI-013 Nombre: Administración & Seguridad Fase: 1 - Alcance Inicial Presupuesto: $25,000 MXN Story Points: 40 SP Estado: 📝 A crear Sprint: Sprint 3-4 (Semanas 5-8) Última actualización: 2025-11-17 Prioridad: P0
📋 Propósito
Administración completa del sistema, gestión de usuarios, permisos, auditoría y seguridad:
- Gestión de usuarios/roles/permisos específicos de construcción
- Centros de costo por obra y por empresa
- Bitácora de actividades y logs de cambios auditables
- Backups, restauración y mantenimiento del sistema
- Seguridad de datos y cumplimiento normativo
Integración clave: Base transversal para todos los módulos. Reutiliza infraestructura de GAMILIT.
📁 Contenido
Requerimientos Funcionales (Estimados: 5)
| ID | Título | Estado |
|---|---|---|
| RF-ADM-001 | Gestión de usuarios y roles por empresa/obra | 📝 A crear |
| RF-ADM-002 | Sistema de permisos granulares (RBAC + ABAC) | 📝 A crear |
| RF-ADM-003 | Centros de costo y estructura organizacional | 📝 A crear |
| RF-ADM-004 | Auditoría completa y trazabilidad de cambios | 📝 A crear |
| RF-ADM-005 | Backups automáticos y restauración | 📝 A crear |
Especificaciones Técnicas (Estimadas: 5)
| ID | Título | RF | Estado |
|---|---|---|---|
| ET-ADM-001 | Modelo de RBAC multi-tenancy | RF-ADM-001, RF-ADM-002 | 📝 A crear |
| ET-ADM-002 | Sistema de centros de costo jerárquicos | RF-ADM-003 | 📝 A crear |
| ET-ADM-003 | Audit logging y change tracking | RF-ADM-004 | 📝 A crear |
| ET-ADM-004 | Estrategia de backups y DR (Disaster Recovery) | RF-ADM-005 | 📝 A crear |
| ET-ADM-005 | Seguridad de datos (encriptación, GDPR/LFPDPPP) | RF-ADM-002 | 📝 A crear |
Historias de Usuario (Estimadas: 8)
| ID | Título | SP | Estado |
|---|---|---|---|
| US-ADM-001 | Crear y gestionar usuarios de empresa | 5 | 📝 A crear |
| US-ADM-002 | Asignar roles y permisos por módulo | 5 | 📝 A crear |
| US-ADM-003 | Configurar centros de costo de obra | 5 | 📝 A crear |
| US-ADM-004 | Consultar bitácora de auditoría | 5 | 📝 A crear |
| US-ADM-005 | Configurar backups automáticos | 3 | 📝 A crear |
| US-ADM-006 | Restaurar sistema desde backup | 5 | 📝 A crear |
| US-ADM-007 | Dashboard de administración del sistema | 7 | 📝 A crear |
| US-ADM-008 | Configurar políticas de seguridad | 5 | 📝 A crear |
Total Story Points: 40 SP
Implementación
📊 Inventarios de trazabilidad:
- TRACEABILITY.yml - Matriz completa de trazabilidad
- DATABASE.yml - Objetos de base de datos
- BACKEND.yml - Módulos backend
- FRONTEND.yml - Componentes frontend
Pruebas
📋 Documentación de testing:
- TEST-PLAN.md - Plan de pruebas
- TEST-CASES.md - Casos de prueba
🔗 Referencias
- README: README.md - Descripción detallada de la épica
- Fase 1: ../README.md - Información de la fase completa
- Módulo relacionado MVP: Módulo 13 - Administración & Seguridad (MVP-APP.md)
📊 Métricas
| Métrica | Valor |
|---|---|
| Presupuesto estimado | $25,000 MXN |
| Story Points estimados | 40 SP |
| Duración estimada | 8 días |
| Reutilización GAMILIT | 90% (infraestructura base ya existe) |
| RF a implementar | 5/5 |
| ET a implementar | 5/5 |
| US a completar | 8/8 |
🎯 Módulos Afectados
Base de Datos
- Schema:
auth_management,admin,audit_logging - Tablas principales:
users- Usuarios del sistemaroles- Roles y permisosrole_permissions- Matriz de permisoscompanies- Empresas (multi-tenancy)cost_centers- Centros de costoaudit_logs- Logs de auditoríasystem_settings- Configuraciones del sistemabackups- Registro de backups
- ENUMs:
user_status(active, inactive, suspended, locked)permission_type(read, write, delete, approve, admin)audit_action(create, update, delete, login, logout, etc.)
Backend
- Módulo:
admin,auth-management,audit - Path:
apps/backend/src/modules/admin/ - Services: UserService, RoleService, AuditService, BackupService, CostCenterService
- Controllers: UserController, RoleController, AuditController, BackupController
- Middlewares: PermissionGuard, AuditMiddleware, RateLimitGuard
Frontend
- Features:
admin,user-management,audit-logs,system-settings - Path:
apps/frontend/src/features/admin/ - Componentes:
- UserList
- UserForm (create/edit)
- RoleManager
- PermissionMatrix
- CostCenterTree
- AuditLogViewer
- BackupManager
- SystemSettingsDashboard
- Stores: adminStore, userStore, auditStore, settingsStore
🔐 Roles del Sistema
Roles Predefinidos
| Rol | Código | Descripción | Módulos de acceso principal |
|---|---|---|---|
| Director General | director |
Acceso total al sistema | Todos |
| Ingeniero/Planeación | engineer |
Gestión técnica y planeación | Proyectos, Presupuestos, Control de Obra |
| Residente de Obra | resident |
Control operativo en campo | Control de Obra, Compras, Inventarios |
| Compras/Almacén | purchases |
Gestión de compras e inventarios | Compras, Inventarios, Proveedores |
| Administración/Finanzas | finance |
Gestión financiera | Estimaciones, Finanzas, Reportes |
| RRHH/Nómina | hr |
Recursos humanos | RRHH, Asistencias, Nómina |
| Postventa | post_sales |
Atención al cliente | Calidad, Postventa, CRM |
🔒 Matriz de Permisos (Ejemplo)
Permisos por Módulo
| Módulo | Director | Engineer | Resident | Purchases | Finance | HR | Post Sales |
|---|---|---|---|---|---|---|---|
| Proyectos | CRUD+A | CRUD | R | R | R | R | R |
| Presupuestos | CRUD+A | CRUD | R | R | R | - | - |
| Compras | CRUD+A | R | CRUD | CRUD+A | R | - | - |
| Inventarios | CRUD+A | R | CRUD | CRUD | R | - | - |
| Control Obra | CRUD+A | CRUD | CRUD | R | R | - | R |
| Estimaciones | CRUD+A | CRUD | R | - | CRUD+A | - | - |
| RRHH | CRUD+A | R | R | - | R | CRUD+A | - |
| Postventa | CRUD+A | R | R | - | - | - | CRUD |
Leyenda:
- Create, Read, Update, Delete, Approve
-Sin acceso
🔍 Sistema de Auditoría
Eventos Auditables
-
Autenticación:
- Login exitoso/fallido
- Logout
- Cambio de contraseña
- Bloqueo de cuenta
-
Gestión de usuarios:
- Creación de usuario
- Modificación de permisos
- Desactivación/reactivación
- Cambio de roles
-
Operaciones críticas:
- Aprobación de estimaciones
- Aprobación de órdenes de compra
- Modificación de presupuestos
- Cierre de etapas de obra
- Eliminación de registros importantes
-
Administración:
- Cambios en configuración del sistema
- Creación de backups
- Restauración de datos
- Modificación de centros de costo
Información Registrada
audit_log:
timestamp: "2025-11-17T10:30:00Z"
user_id: "UUID"
user_name: "Juan Pérez"
company_id: "UUID"
action: "update"
module: "budgets"
entity_type: "budget"
entity_id: "UUID"
changes:
field: "total_amount"
old_value: "1000000.00"
new_value: "1050000.00"
ip_address: "192.168.1.100"
user_agent: "Mozilla/5.0..."
session_id: "UUID"
💾 Estrategia de Backups
Tipos de Backup
-
Full Backup (Completo)
- Frecuencia: Diario (3:00 AM)
- Retención: 7 días
- Incluye: Base de datos completa, archivos, configuraciones
-
Incremental Backup
- Frecuencia: Cada 6 horas
- Retención: 48 horas
- Incluye: Solo cambios desde último backup
-
Archivos críticos
- Frecuencia: Cada hora
- Retención: 24 horas
- Incluye: Documentos subidos, evidencias fotográficas
Ubicación
- Primaria: Servidor local (storage NAS)
- Secundaria: Cloud storage (AWS S3 / Azure Blob)
- Terciaria: Backup offsite (opcional)
Proceso de Restauración
- Identificar punto de restauración deseado
- Detener servicios afectados
- Restaurar desde backup seleccionado
- Verificar integridad de datos
- Reiniciar servicios
- Validar con usuarios clave
RTO (Recovery Time Objective): 4 horas RPO (Recovery Point Objective): 1 hora
🏢 Centros de Costo
Estructura Jerárquica
Empresa Constructora XYZ
├── Dirección General
│ ├── Finanzas
│ ├── RRHH
│ └── TI
├── Obra A - Fraccionamiento Los Pinos
│ ├── Etapa 1
│ │ ├── Urbanización
│ │ ├── Edificación
│ │ └── Acabados
│ └── Etapa 2
│ └── ...
└── Obra B - Torre Residencial
├── Cimentación
├── Estructura
└── Instalaciones
Imputación de Costos
- Compras: Se imputan al centro de costo de la obra/etapa
- RRHH: Horas-hombre se imputan por frente de obra
- Maquinaria: Uso de activos se imputa por proyecto
- Gastos indirectos: Se distribuyen proporcionalmente
🚨 Puntos Críticos
- Multi-tenancy estricto: Aislamiento total entre empresas
- Permisos granulares: Control fino por módulo y acción
- Auditoría completa: Trazabilidad de todas las operaciones críticas
- Backups automáticos: No depender de operadores manuales
- Seguridad de datos: Encriptación en reposo y en tránsito
- Cumplimiento normativo: LFPDPPP (México), GDPR (si aplica)
🎯 Siguiente Paso
Crear documentación de requerimientos y especificaciones técnicas del módulo.
Generado: 2025-11-17 Mantenedores: @tech-lead @backend-team @frontend-team @security-team Estado: 📝 A crear