# EPICA: EPIC-MAI-001 - Fundamentos ## Metadata | Campo | Valor | |-------|-------| | **ID** | EPIC-MAI-001 | | **Nombre** | Fundamentos de Construccion | | **Modulo** | fundamentos | | **Fase** | Fase 1 - Alcance Inicial | | **Prioridad** | P0 (Critico) | | **Estado** | Backlog | | **Story Points** | 55 | | **Sprint(s)** | Sprint 1-2 | --- ## Descripcion Modulo base que establece la infraestructura para el sistema de construccion. Incluye configuracion multi-tenant por constructora, parametros especificos de la industria, catalogos SAT para facturacion electronica, y la estructura base de permisos para obra. **Extiende:** MGN-001 Auth, MGN-002 Users, MGN-003 Roles, MGN-004 Tenants --- ## Objetivo de Negocio Establecer la base tecnologica que: - Configure constructoras como tenants - Defina roles especificos de obra (residente, superintendente, etc.) - Integre catalogos SAT Mexico (CFDI 4.0) - Soporte operacion multi-proyecto por constructora --- ## Historias de Usuario | ID | Historia | Prioridad | SP | Estado | |----|----------|-----------|-----|--------| | US-MAI001-001 | Como admin, quiero configurar mi constructora como tenant | P0 | 5 | Backlog | | US-MAI001-002 | Como admin, quiero configurar roles de obra (residente, supervisor, etc.) | P0 | 8 | Backlog | | US-MAI001-003 | Como admin, quiero configurar catalogos SAT (productos/servicios, unidades) | P0 | 8 | Backlog | | US-MAI001-004 | Como admin, quiero configurar parametros de constructora (RFC, regimen fiscal) | P0 | 5 | Backlog | | US-MAI001-005 | Como admin, quiero configurar centros de costo por proyecto | P0 | 5 | Backlog | | US-MAI001-006 | Como sistema, quiero aplicar RLS por constructora_id | P0 | 8 | Backlog | | US-MAI001-007 | Como admin, quiero configurar secuencias de folios por tipo de documento | P1 | 5 | Backlog | | US-MAI001-008 | Como admin, quiero importar catalogos desde Excel | P1 | 5 | Backlog | | US-MAI001-009 | Como usuario, quiero cambiar de proyecto sin cerrar sesion | P1 | 3 | Backlog | | US-MAI001-010 | Como admin, quiero ver dashboard de uso del sistema | P2 | 3 | Backlog | **Total Story Points:** 55 SP --- ## Criterios de Aceptacion de la Epica **Funcionales:** - [ ] Configuracion de constructora con datos fiscales completos - [ ] Roles predefinidos: Admin, Residente, Superintendente, Almacenista, etc. - [ ] Catalogos SAT cargados y actualizables - [ ] Centros de costo por proyecto funcionales - [ ] RLS implementado en todas las tablas - [ ] Secuencias de folios por tipo de documento **No Funcionales:** - [ ] Aislamiento de datos 100% por constructora - [ ] Configuracion inicial < 30 minutos **Tecnicos:** - [ ] Tests de seguridad (penetracion entre tenants) - [ ] Seeders con datos de muestra --- ## Dependencias **Esta epica depende de:** | Epica/Modulo | Estado | Bloqueante | |--------------|--------|------------| | MGN-001 Auth (Core) | Ready | Si | | MGN-004 Tenants (Core) | Ready | Si | **Esta epica bloquea:** | Epica/Modulo | Razon | |--------------|-------| | EPIC-MAI-002 Proyectos | Requiere constructora configurada | | EPIC-MAI-011 INFONAVIT | Requiere catalogos SAT | | Todos los MAI | Base del sistema | --- ## Desglose Tecnico **Database:** - [ ] Schema: `construction_core` (extiende core_system) - [ ] Tablas: 8 (constructoras, sat_catalogs, cost_centers, sequences, etc.) - [ ] Funciones: 3 (get_constructora_context, set_project_context) - [ ] RLS Policies: Todas las tablas **Backend:** - [ ] Modulo: `construction-core` - [ ] Extiende: AuthModule, TenantsModule - [ ] Entities: 8 - [ ] Endpoints: 20+ - [ ] Tests: 35+ **Frontend:** - [ ] Paginas: 5 (ConstructoraSetup, RolesConfig, CatalogosAdmin, CostCenters) - [ ] Componentes: 12+ - [ ] Stores: 2 (constructoraStore, catalogosStore) --- ## Roles Predefinidos de Obra | Rol | Descripcion | Permisos Principales | |-----|-------------|---------------------| | SuperAdmin | Administrador global | Todo | | AdminConstructora | Admin de constructora | Configuracion, usuarios | | DirectorObra | Director de obra | Todos los proyectos | | ResidenteObra | Residente de obra | Avances, requisiciones | | Superintendente | Superintendente | Supervision, reportes | | Almacenista | Control de almacen | Inventarios, recepciones | | Contralor | Area contable | Estimaciones, pagos | | Comprador | Compras | Ordenes de compra | --- **Creada por:** Requirements-Analyst **Fecha:** 2025-12-05