41 KiB
PLAN MAESTRO DE MIGRACIÓN Y CONSOLIDACIÓN - ERP GENÉRICO
Proyecto: ERP Genérico (Base Reutilizable Multi-Proyecto) Versión: 2.0.0 Fecha: 2025-11-23 Estado: 📋 Listo para ejecución Coordinador: Architecture-Analyst (con capacidades de orquestación)
🎯 OBJETIVO PRINCIPAL
Crear el ERP Genérico como base reutilizable para los 3 ERPs especializados mediante:
- Análisis profundo de proyectos de referencia (Odoo + Gamilit)
- Migración y extracción de componentes genéricos del ERP Construcción
- Validación cruzada entre referencias, construcción y genérico
- Consolidación en documentación completa del ERP Genérico
- Retroalimentación al ERP Construcción con mejoras identificadas
Resultado Final Esperado
ERP Genérico (100% documentado)
↓ Reutilización 60-70%
├─> ERP Construcción (especialización vivienda/INFONAVIT)
├─> ERP Vidrio Templado (especialización producción vidrio)
└─> ERP Mecánicas Diesel (especialización laboratorios diesel)
📚 REFERENCIAS DISPONIBLES
1. Proyecto Odoo (Lógica de Negocio)
- Ubicación:
/shared/reference/ODOO-MODULES-ANALYSIS.md - Qué aporta: Lógica de negocio consolidada, patrones ERP probados
- Módulos clave: base, account, stock, purchase, sale, project, hr, crm
- Uso: Validar RF, identificar funcionalidades faltantes, patrones de datos
2. Proyecto Gamilit (Arquitectura Moderna)
- Ubicación:
/shared/reference/gamilit/ - Qué aporta: Arquitectura moderna, patrones técnicos, mejores prácticas
- Aspectos clave: Multi-schema DB, constantes SSOT, path aliases, validaciones
- Uso: Definir arquitectura técnica, estructura de código, DevOps
3. ERP Construcción (Documentación Existente)
- Ubicación:
/projects/erp-construccion/docs/ - Qué aporta: 18 módulos documentados (35% progreso), estructura completa
- Estado: Extensiva documentación de RF/ET/US para construcción
- Uso: Fuente de migración, identificar componentes genéricos vs específicos
🗺️ METODOLOGÍA: 4 FASES
FASE 0: ANÁLISIS DE REFERENCIAS (NUEVA)
Duración: 2 semanas Responsable: Architecture-Analyst (trabajo directo) Objetivo: Análisis profundo de Odoo y Gamilit para fundamentar decisiones
FASE 1: ANÁLISIS Y RETROALIMENTACIÓN
Duración: 2-3 semanas Responsable: Architecture-Analyst (con delegaciones) Objetivo: Migrar y validar componentes del ERP Construcción
FASE 2: MODELADO DE REQUERIMIENTOS Y BD
Duración: 3-4 semanas Responsable: Architecture-Analyst (con delegaciones extensivas) Objetivo: Crear RF, ET, diseño de BD para ERP Genérico
FASE 3: DOCUMENTACIÓN DETALLADA
Duración: 2-3 semanas Responsable: Architecture-Analyst (con delegaciones) Objetivo: US, planes de prueba, documentación transversal
TOTAL: 9-12 semanas
📋 FASE 0: ANÁLISIS DE REFERENCIAS (2 SEMANAS)
Objetivo
Analizar proyectos de referencia para fundamentar todas las decisiones arquitectónicas del ERP Genérico.
Actividades Principales
1. Análisis Comparativo Odoo (1 semana)
Responsable: Architecture-Analyst (trabajo directo)
Tareas:
- Leer
/shared/reference/ODOO-MODULES-ANALYSIS.mdcompleto - Para cada módulo Odoo relevante, documentar:
- Modelos de datos principales (tablas, campos, relaciones)
- Lógica de negocio clave (workflows, reglas, validaciones)
- Patrones arquitectónicos observados
- APIs y endpoints estándar
- Integraciones entre módulos
- Funcionalidades destacables
Módulos Odoo a analizar:
| Módulo Odoo | Aplicación en ERP Genérico | Prioridad | Mapeo a MGN |
|---|---|---|---|
| base | Sistema base, modelos fundamentales | P0 | MGN-001, MGN-002 |
| auth_signup | Autenticación y registro | P0 | MGN-001 |
| account | Módulo financiero básico | P0 | MGN-004 |
| stock | Inventario básico | P0 | MGN-005 |
| purchase | Compras básicas | P0 | MGN-006 |
| sale | Ventas básicas | P0 | MGN-007 |
| analytic | Contabilidad analítica | P0 | MGN-008 |
| crm | CRM básico | P1 | MGN-009 |
| hr | Recursos humanos básico | P1 | MGN-010 |
| project | Proyectos genéricos | P1 | MGN-011 |
| Mensajería y notificaciones | P0 | MGN-014 | |
| portal | Portal de usuarios externos | P1 | MGN-013 |
Entregables:
00-analisis-referencias/odoo/README.md- Resumen ejecutivo00-analisis-referencias/odoo/odoo-base-analysis.md00-analisis-referencias/odoo/odoo-auth-analysis.md00-analisis-referencias/odoo/odoo-account-analysis.md00-analisis-referencias/odoo/odoo-stock-analysis.md00-analisis-referencias/odoo/odoo-purchase-analysis.md00-analisis-referencias/odoo/odoo-sale-analysis.md00-analisis-referencias/odoo/odoo-analytic-analysis.md00-analisis-referencias/odoo/odoo-crm-analysis.md00-analisis-referencias/odoo/odoo-hr-analysis.md00-analisis-referencias/odoo/odoo-project-analysis.md00-analisis-referencias/odoo/odoo-mail-analysis.md00-analisis-referencias/odoo/odoo-portal-analysis.md00-analisis-referencias/odoo/MAPEO-ODOO-TO-MGN.md- Tabla de mapeo completa
Total: 14 archivos
2. Análisis Comparativo Gamilit (1 semana)
Responsable: Architecture-Analyst (trabajo directo)
Tareas:
- Leer
/shared/reference/gamilit/README.mdy_MAP.md - Analizar arquitectura técnica:
- Arquitectura multi-schema de PostgreSQL
- Sistema de constantes SSOT (Single Source of Truth)
- Path aliases y estructura de imports
- Estructura modular del backend (11 módulos)
- Feature-Sliced Design del frontend
- Scripts de validación automática (sync-enums, validate-constants)
- Sistema de testing
- Identificar patrones a adoptar, adaptar o evitar
- Documentar gaps y oportunidades vs ERP Construcción
Entregables:
00-analisis-referencias/gamilit/README.md- Resumen ejecutivo00-analisis-referencias/gamilit/database-architecture.md- Análisis multi-schema00-analisis-referencias/gamilit/backend-patterns.md- Patrones de backend00-analisis-referencias/gamilit/frontend-patterns.md- Patrones de frontend00-analisis-referencias/gamilit/ssot-system.md- Sistema de constantes SSOT00-analisis-referencias/gamilit/devops-automation.md- Scripts y validaciones00-analisis-referencias/gamilit/ADOPTAR-ADAPTAR-EVITAR.md- Matriz de decisiones
Total: 7 archivos
3. Validación Cruzada con ERP Construcción (paralelo)
Responsable: Architecture-Analyst (trabajo directo)
Tareas:
- Leer documentación de
/projects/erp-construccion/docs/ - Comparar módulos de construcción con Odoo/Gamilit equivalentes
- Identificar:
- Componentes que son genéricos (candidatos a migrar)
- Componentes específicos de construcción (quedan en erp-construccion)
- Mejoras arquitectónicas aplicables a construcción
- Funcionalidades faltantes en construcción
- Oportunidades de refactorización
Entregables:
00-analisis-referencias/construccion/COMPONENTES-GENERICOS.md- Lista de componentes a migrar00-analisis-referencias/construccion/COMPONENTES-ESPECIFICOS.md- Lista que queda en construcción00-analisis-referencias/construccion/MEJORAS-ARQUITECTONICAS.md- Mejoras sugeridas00-analisis-referencias/construccion/GAP-ANALYSIS.md- Funcionalidades faltantes00-analisis-referencias/construccion/RETROALIMENTACION.md- Retroalimentación integral
Total: 5 archivos
4. Creación de ADRs (Architecture Decision Records)
Responsable: Architecture-Analyst (trabajo directo)
Tareas:
- Basándose en análisis de Odoo, Gamilit y Construcción
- Crear ADRs para decisiones arquitectónicas clave
ADRs a crear:
-
ADR-001-stack-tecnologico.md
- Stack: Node.js 20+ + Express + TypeScript / React 18 + Vite / PostgreSQL 15+
- Justificación: Alineación con Gamilit, madurez, ecosistema
-
ADR-002-arquitectura-modular.md
- Monorepo con apps/ (database, backend, frontend, mobile)
- Justificación: Simplifica desarrollo, reutilización, Gamilit
-
ADR-003-multi-tenancy.md
- Schema-level isolation (cada tenant un schema PostgreSQL)
- Justificación: Seguridad, performance, Gamilit pattern, Odoo usa similar
-
ADR-004-sistema-constantes-ssot.md
- Backend como SSOT, sincronización automática a Frontend
- Justificación: Elimina duplicación, patrón Gamilit muy efectivo
-
ADR-005-path-aliases.md
- Uso de @shared, @modules, @components, @services
- Justificación: Imports limpios, refactoring fácil, Gamilit pattern
-
ADR-006-rbac-sistema-permisos.md
- Role-Based Access Control granular
- Justificación: Requerimiento multi-tenant, Odoo base.res.users pattern
-
ADR-007-database-design.md
- Multi-schema: auth, core, financial, inventory, purchase, sales, analytics, etc.
- RLS (Row Level Security) desde diseño
- Justificación: Organización lógica, Gamilit pattern, seguridad
-
ADR-008-api-design.md
- RESTful APIs con OpenAPI 3.0 (Swagger)
- Versionado de APIs (/api/v1/)
- Justificación: Estándar de la industria, documentación auto-generada
-
ADR-009-frontend-architecture.md
- Feature-Sliced Design (shared, features, pages, app)
- Justificación: Escalabilidad, Gamilit pattern
-
ADR-010-testing-strategy.md
- Coverage objetivo: 80% (backend), 70% (frontend)
- Unit + Integration + E2E
- Justificación: Evitar deuda técnica de Gamilit (14% coverage)
Ubicación: projects/erp-generic/docs/adr/
Total: 10 archivos
5. Mapeo de Componentes Genéricos
Responsable: Architecture-Analyst (trabajo directo)
Tareas:
- Crear mapa exhaustivo de componentes genéricos vs específicos
- Definir qué va en
/shared/components/vs qué va en cada proyecto
Entregables:
00-analisis-referencias/MAPA-COMPONENTES-GENERICOS.md
Estructura del mapa:
# MAPA DE COMPONENTES GENÉRICOS VS ESPECÍFICOS
## 1. COMPONENTES DE BASE DE DATOS
### Genéricos (van en ERP Genérico)
| Componente | Tipo | Ubicación | Usado por |
|------------|------|-----------|-----------|
| auth schema | Schema | database/ddl/schemas/auth.sql | Todos |
| users table | Table | auth.users | Todos |
| roles table | Table | auth.roles | Todos |
| ... | ... | ... | ... |
### Específicos de Construcción
| Componente | Tipo | Ubicación | Razón |
|------------|------|-----------|-------|
| projects.lots | Table | construction/lots.sql | Lotes INFONAVIT |
| ... | ... | ... | ... |
## 2. COMPONENTES DE BACKEND
### Genéricos
| Módulo | Ubicación | Usado por |
|--------|-----------|-----------|
| auth module | backend/src/modules/auth/ | Todos |
| ... | ... | ... |
### Específicos de Construcción
| Módulo | Ubicación | Razón |
|--------|-----------|-------|
| estimations module | backend/src/modules/estimations/ | Estimaciones de obra |
| ... | ... | ... |
## 3. COMPONENTES DE FRONTEND
### Genéricos
| Componente | Tipo | Ubicación | Usado por |
|------------|------|-----------|-----------|
| LoginForm | Component | shared/components/auth/LoginForm.tsx | Todos |
| DataTable | Component | shared/components/table/DataTable.tsx | Todos |
| ... | ... | ... | ... |
### Específicos de Construcción
| Componente | Tipo | Ubicación | Razón |
|------------|------|-----------|-------|
| LotSelector | Component | features/construction/LotSelector.tsx | Selección de lotes |
| ... | ... | ... | ... |
## 4. RESUMEN CUANTITATIVO
| Categoría | Genéricos | Específicos Construcción | % Reutilización |
|-----------|-----------|--------------------------|-----------------|
| **Schemas DB** | 8 | 3 | 73% |
| **Tablas DB** | 45 | 28 | 62% |
| **Módulos Backend** | 10 | 8 | 56% |
| **Componentes Frontend** | 80 | 45 | 64% |
| **TOTAL** | 143 | 84 | **63%** |
Total: 1 archivo
Resumen de Entregables Fase 0
| Categoría | Archivos | Ubicación |
|---|---|---|
| Análisis Odoo | 14 | 00-analisis-referencias/odoo/ |
| Análisis Gamilit | 7 | 00-analisis-referencias/gamilit/ |
| Validación Construcción | 5 | 00-analisis-referencias/construccion/ |
| ADRs | 10 | adr/ |
| Mapeo de componentes | 1 | 00-analisis-referencias/ |
| Resumen ejecutivo | 1 | 00-analisis-referencias/RESUMEN-FASE-0.md |
| TOTAL | 38 archivos | projects/erp-generic/docs/ |
Criterios de Completitud Fase 0
- Todos los módulos Odoo listados han sido analizados (12 módulos)
- Análisis de Gamilit cubre 6 áreas clave
- Validación con ERP Construcción identifica componentes genéricos/específicos
- 10 ADRs creados y aprobados
- Mapa de componentes genéricos completo con % de reutilización
- Resumen ejecutivo consolidado documenta hallazgos principales
- Retroalimentación específica a ERP Construcción generada
📋 FASE 1: ANÁLISIS Y RETROALIMENTACIÓN (2-3 SEMANAS)
Objetivo
Migrar componentes genéricos del ERP Construcción al ERP Genérico, validando con referencias.
Actividades con Delegación
1. Definición de Módulos del ERP Genérico
Responsable: Architecture-Analyst (trabajo directo)
Tareas:
- Basándose en Fase 0, definir lista final de módulos MGN-001 a MGN-014
- Establecer alcance de cada módulo (qué incluye, qué no)
- Definir prioridades (P0, P1, P2)
- Definir dependencias entre módulos
Entregables:
01-definicion-modulos/LISTA-MODULOS-ERP-GENERICO.md01-definicion-modulos/ALCANCE-POR-MODULO.md01-definicion-modulos/DEPENDENCIAS-MODULOS.md
Total: 3 archivos
2. Extracción de Componentes Genéricos del ERP Construcción
Responsable: Architecture-Analyst (coordina) + Requirements-Analyst (delegado)
Delegación:
agent: Requirements-Analyst
task: "Extraer RF genéricos del ERP Construcción"
inputs:
- projects/erp-construccion/docs/01-fase-alcance-inicial/
- projects/erp-generic/docs/00-analisis-referencias/construccion/COMPONENTES-GENERICOS.md
output: projects/erp-generic/docs/01-definicion-modulos/RF-EXTRAIDOS/
instructions: |
Para cada componente genérico identificado en Fase 0:
1. Leer RF original en erp-construccion
2. Adaptar para ser genérico (eliminar referencias específicas de construcción)
3. Validar contra módulo Odoo equivalente
4. Crear nuevo RF en formato MGN-XXX
Estimar: 30-40 RF a extraer
Entregables del agente:
- 30-40 archivos
RF-XXX-NNN.mden estructura temporal
Validación del coordinador:
- Revisar cada RF extraído
- Asegurar que son verdaderamente genéricos
- Validar coherencia con ADRs
3. Análisis de Gaps por Módulo
Responsable: Architecture-Analyst (trabajo directo)
Tareas:
- Para cada módulo MGN-001 a MGN-014:
- Comparar RF extraídos con módulo Odoo equivalente
- Identificar funcionalidades faltantes
- Identificar funcionalidades sobrantes
- Documentar gaps
Entregables:
01-definicion-modulos/gaps/GAP-ANALYSIS-MGN-001.md01-definicion-modulos/gaps/GAP-ANALYSIS-MGN-002.md- ... (14 archivos, uno por módulo)
Total: 14 archivos
4. Retroalimentación a ERP Construcción
Responsable: Architecture-Analyst (trabajo directo)
Tareas:
- Consolidar mejoras identificadas en Fase 0
- Proponer refactorizaciones específicas
- Documentar oportunidades de reutilización del ERP Genérico
Entregables:
01-definicion-modulos/RETROALIMENTACION-ERP-CONSTRUCCION.md
Estructura:
# RETROALIMENTACIÓN AL ERP CONSTRUCCIÓN
## MEJORAS ARQUITECTÓNICAS RECOMENDADAS
### 1. Adoptar Multi-Schema Database
**Estado actual:** Single schema "public"
**Recomendación:** Migrar a multi-schema (auth, core, construction, etc.)
**Justificación:** ADR-007, patrón Gamilit, organización lógica
**Prioridad:** P1
**Esfuerzo:** 2-3 semanas
**Beneficio:** Mejor organización, permisos granulares, mantenibilidad
### 2. Implementar Sistema de Constantes SSOT
...
## COMPONENTES GENÉRICOS A REUTILIZAR
Una vez completado ERP Genérico, refactorizar construcción para usar:
- MGN-001: Fundamentos (auth, users, roles) → Eliminar MAI-001 duplicado
- MGN-004: Financiero Básico → Extender con contabilidad de obra
...
## OPORTUNIDADES DE REFACTORIZACIÓN
### Módulo MAI-004 (Compras e Inventarios)
**Oportunidad:** Separar compras genéricas de compras de materiales de obra
**Acción:** Usar MGN-006 (Compras Básico) + MAI-004 (Compras Especializadas)
...
Total: 1 archivo
Resumen de Entregables Fase 1
| Categoría | Archivos | Ubicación |
|---|---|---|
| Definición de módulos | 3 | 01-definicion-modulos/ |
| RF extraídos (delegado) | 30-40 | 01-definicion-modulos/RF-EXTRAIDOS/ |
| Gap analysis por módulo | 14 | 01-definicion-modulos/gaps/ |
| Retroalimentación construcción | 1 | 01-definicion-modulos/ |
| TOTAL | 48-58 archivos | - |
Criterios de Completitud Fase 1
- Lista definitiva de módulos MGN-001 a MGN-014 aprobada
- Alcance de cada módulo claramente definido
- RF genéricos extraídos y validados (30-40 RF)
- Gap analysis completado para todos los módulos
- Retroalimentación a ERP Construcción documentada
📋 FASE 2: MODELADO DE REQUERIMIENTOS Y BD (3-4 SEMANAS)
Objetivo
Crear modelos de dominio, RF completos, ET, y diseño de BD para ERP Genérico.
Actividades con Delegación Extensiva
1. Modelado de Dominio (Semana 1)
Responsable: Architecture-Analyst (trabajo directo)
Tareas:
- Para cada área funcional, crear modelo de dominio
- Documentar entidades, atributos, relaciones
- Crear diagramas UML/ER
Áreas funcionales:
- Autenticación y Autorización (MGN-001, MGN-002)
- Financiero (MGN-004, MGN-008)
- Inventario y Compras (MGN-005, MGN-006)
- Ventas (MGN-007)
- CRM (MGN-009)
- RRHH (MGN-010)
- Proyectos (MGN-011)
- Reportes y Notificaciones (MGN-012, MGN-014)
Entregables:
02-modelado/domain-models/auth-domain.md02-modelado/domain-models/financial-domain.md02-modelado/domain-models/inventory-domain.md02-modelado/domain-models/sales-domain.md02-modelado/domain-models/crm-domain.md02-modelado/domain-models/hr-domain.md02-modelado/domain-models/projects-domain.md02-modelado/domain-models/reporting-domain.md
Total: 8 archivos
2. Creación de Requerimientos Funcionales (Semana 2-3)
Responsable: Architecture-Analyst (coordina) + Requirements-Analyst (delegado)
Estrategia: Delegar por módulo en paralelo
Delegación (ejemplo para MGN-001):
agent: Requirements-Analyst
task: "Crear RF completos para MGN-001 Fundamentos"
inputs:
- projects/erp-generic/docs/00-analisis-referencias/odoo/odoo-base-analysis.md
- projects/erp-generic/docs/00-analisis-referencias/odoo/odoo-auth-analysis.md
- projects/erp-generic/docs/01-definicion-modulos/ALCANCE-POR-MODULO.md
- projects/erp-generic/docs/02-modelado/domain-models/auth-domain.md
- projects/erp-construccion/docs/01-fase-alcance-inicial/MAI-001-fundamentos/requerimientos/
output: projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/requerimientos/
instructions: |
Crear 5-7 RF para el módulo MGN-001 Fundamentos:
- RF-AUTH-001: Autenticación JWT
- RF-AUTH-002: Gestión de usuarios
- RF-AUTH-003: Gestión de roles y permisos (RBAC)
- RF-AUTH-004: Multi-tenancy (tenants/esquemas)
- RF-COMP-001: Gestión de empresas/organizaciones
- RF-COMP-002: Configuración de tenant
Formato: Seguir estructura de erp-construccion
Validar: Contra Odoo base + auth_signup
Incluir: Flujos, reglas de negocio, validaciones, criterios de aceptación
Repetir para los 14 módulos (lanzar en paralelo donde sea posible)
Entregables por módulo: ~5 RF Total RF esperados: 14 módulos × 5 RF = 70 RF
3. Diseño de Base de Datos (Semana 2-3, paralelo)
Responsable: Architecture-Analyst (coordina) + Database-Agent (delegado)
Delegación:
agent: Database-Agent
task: "Diseñar schemas PostgreSQL para ERP Genérico"
inputs:
- projects/erp-generic/docs/adr/ADR-007-database-design.md
- projects/erp-generic/docs/02-modelado/domain-models/
- shared/reference/gamilit/database/ddl/schemas/
- shared/reference/ODOO-MODULES-ANALYSIS.md
output: projects/erp-generic/docs/02-modelado/database-design/schemas/
instructions: |
Crear DDL completos para todos los schemas del ERP Genérico:
Schemas a crear:
1. auth.sql - Autenticación (users, roles, permissions, sessions)
2. core.sql - Core (tenants, companies, currencies, countries, uom)
3. financial.sql - Financiero (accounts, journal_entries, fiscal_years)
4. inventory.sql - Inventario (products, warehouses, stock_moves)
5. purchase.sql - Compras (purchase_orders, vendors, receipts)
6. sales.sql - Ventas (sales_orders, customers, invoices)
7. analytics.sql - Analítico (analytic_accounts, cost_centers)
8. crm.sql - CRM (leads, opportunities, pipeline)
9. hr.sql - RRHH (employees, departments, contracts)
10. projects.sql - Proyectos (projects, tasks, milestones)
11. reporting.sql - Reportes (reports, dashboards)
12. notifications.sql - Notificaciones (messages, notifications)
Para cada schema:
- CREATE SCHEMA
- CREATE TYPE (enums)
- CREATE TABLE con constraints, defaults, comentarios
- CREATE INDEX (performance)
- CREATE FUNCTION (helpers, triggers)
- RLS policies (Row Level Security)
Seguir:
- ADR-007 (multi-schema, RLS)
- Patrón Gamilit (organización, nomenclatura)
- Modelos Odoo (relaciones, campos estándar)
Entregables: 12 archivos SQL
4. Creación de Especificaciones Técnicas (Semana 3-4)
Responsable: Architecture-Analyst (coordina) + Backend-Agent + Frontend-Agent (delegados)
Delegación Backend (ejemplo MGN-001):
agent: Backend-Agent
task: "Crear ET backend para MGN-001 Fundamentos"
inputs:
- projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/requerimientos/
- projects/erp-generic/docs/02-modelado/database-design/schemas/auth.sql
- projects/erp-generic/docs/adr/ADR-008-api-design.md
output: projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/especificaciones/backend/
instructions: |
Para cada RF de MGN-001, crear ET de backend:
- ET-AUTH-001-backend: JWT implementation (endpoints, services, middleware)
- ET-AUTH-002-backend: User management API
- ET-AUTH-003-backend: RBAC API
- ET-AUTH-004-backend: Multi-tenancy middleware
- ET-COMP-001-backend: Companies API
Incluir:
- Diseño de API (endpoints, request/response schemas)
- Servicios y lógica de negocio
- Validaciones
- Manejo de errores
- Testing
Delegación Frontend (ejemplo MGN-001):
agent: Frontend-Agent
task: "Crear ET frontend para MGN-001 Fundamentos"
inputs:
- projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/requerimientos/
- projects/erp-generic/docs/adr/ADR-009-frontend-architecture.md
output: projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/especificaciones/frontend/
instructions: |
Para cada RF de MGN-001, crear ET de frontend:
- ET-AUTH-001-frontend: Login/Logout UI
- ET-AUTH-002-frontend: User management UI
- ET-AUTH-003-frontend: Roles & permissions UI
- ET-COMP-001-frontend: Company settings UI
Incluir:
- Componentes React a crear
- Páginas/vistas
- Stores (Zustand)
- Integración con API
- Validaciones frontend
Repetir para 14 módulos
Entregables por módulo: ~5 ET backend + ~5 ET frontend = ~10 ET Total ET esperados: 14 módulos × 10 ET = 140 ET
5. Matriz de Trazabilidad (Semana 4)
Responsable: Architecture-Analyst (trabajo directo)
Tareas:
- Para cada módulo, crear matriz vinculando RF ↔ ET ↔ Objetos DB
Entregables (ejemplo MGN-001):
# projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/implementacion/TRACEABILITY.yml
module: MGN-001-fundamentos
requirements:
- id: RF-AUTH-001
title: "Autenticación JWT"
specifications:
backend:
- ET-AUTH-001-backend
frontend:
- ET-AUTH-001-frontend
database:
schemas:
- auth
tables:
- auth.users
- auth.sessions
functions:
- auth.generate_jwt()
- auth.verify_jwt()
- id: RF-AUTH-002
title: "Gestión de usuarios"
specifications:
backend:
- ET-AUTH-002-backend
frontend:
- ET-AUTH-002-frontend
database:
tables:
- auth.users
- auth.user_profiles
functions:
- auth.create_user()
- auth.update_user()
Total: 14 archivos YAML (uno por módulo)
Resumen de Entregables Fase 2
| Categoría | Archivos | Ubicación |
|---|---|---|
| Modelos de dominio | 8 | 02-modelado/domain-models/ |
| Schemas de BD | 12 | 02-modelado/database-design/schemas/ |
| RF (delegado) | 70 | 02-fase-core/MGN-XXX-*/requerimientos/ |
| ET backend (delegado) | 70 | 02-fase-core/MGN-XXX-*/especificaciones/backend/ |
| ET frontend (delegado) | 70 | 02-fase-core/MGN-XXX-*/especificaciones/frontend/ |
| Matrices trazabilidad | 14 | 02-fase-core/MGN-XXX-*/implementacion/TRACEABILITY.yml |
| TOTAL | 244 archivos | - |
Criterios de Completitud Fase 2
- Modelos de dominio completos para 8 áreas funcionales
- 12 schemas de BD diseñados con DDL completo
- 70 RF creados y validados contra Odoo
- 70 ET backend creados
- 70 ET frontend creados
- 14 matrices de trazabilidad vinculan RF ↔ ET ↔ DB
📋 FASE 3: DOCUMENTACIÓN DETALLADA (2-3 SEMANAS)
Objetivo
Completar documentación con US, inventarios, planes de pruebas, y docs transversales.
Actividades con Delegación
1. Creación de Historias de Usuario (Semana 1-2)
Responsable: Architecture-Analyst (coordina) + Requirements-Analyst (delegado)
Delegación (por módulo):
agent: Requirements-Analyst
task: "Crear US para MGN-001 Fundamentos"
inputs:
- projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/requerimientos/
- projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/especificaciones/
output: projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/historias-usuario/
instructions: |
Para cada RF/ET del módulo, crear historias de usuario:
Formato:
- Como [rol] quiero [funcionalidad] para [beneficio]
- Criterios de aceptación (Given/When/Then)
- Requerimientos relacionados (RF-XXX-NNN)
- Especificaciones relacionadas (ET-XXX-NNN)
- Story Points (Fibonacci: 1,2,3,5,8,13)
- Prioridad (P0/P1/P2)
Estimar: ~10 US por módulo
Repetir para 14 módulos
Entregables por módulo: ~10 US Total US esperados: 14 módulos × 10 US = 140 US
2. Documentación de Módulos (Semana 2)
Responsable: Architecture-Analyst (trabajo directo)
Tareas:
- Para cada módulo crear README.md y _MAP.md
Entregables (ejemplo MGN-001):
projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/README.md:
# MGN-001: Fundamentos
## Descripción
Módulo core que proporciona autenticación, gestión de usuarios, roles y permisos (RBAC), multi-tenancy, y gestión de empresas/organizaciones.
## Alcance
- Autenticación JWT
- Registro de usuarios
- Gestión de usuarios y perfiles
- Sistema de roles y permisos (RBAC)
- Multi-tenancy (schema-level isolation)
- Gestión de empresas/organizaciones
- Configuración de tenant
## Referencia Odoo
- base (res.users, res.groups, res.company)
- auth_signup
## Story Points
50 SP
## Prioridad
P0 (Crítico - Requerido para todos los demás módulos)
## Dependencias
- Ninguna (módulo base)
## Módulos dependientes
- Todos los demás módulos del ERP Genérico
projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/_MAP.md:
# MAPA DEL MÓDULO MGN-001: Fundamentos
## Documentación
- [README.md](README.md) - Descripción del módulo
- [TRACEABILITY.yml](implementacion/TRACEABILITY.yml) - Matriz de trazabilidad
## Requerimientos Funcionales (6 archivos)
- [RF-AUTH-001](requerimientos/RF-AUTH-001-autenticacion-jwt.md) - Autenticación JWT
- [RF-AUTH-002](requerimientos/RF-AUTH-002-gestion-usuarios.md) - Gestión de usuarios
- [RF-AUTH-003](requerimientos/RF-AUTH-003-rbac.md) - RBAC
- [RF-AUTH-004](requerimientos/RF-AUTH-004-multi-tenancy.md) - Multi-tenancy
- [RF-COMP-001](requerimientos/RF-COMP-001-gestion-empresas.md) - Empresas
- [RF-COMP-002](requerimientos/RF-COMP-002-configuracion-tenant.md) - Config tenant
## Especificaciones Técnicas (12 archivos)
### Backend (6 archivos)
- [ET-AUTH-001-backend](especificaciones/backend/ET-AUTH-001-backend-jwt.md)
- [ET-AUTH-002-backend](especificaciones/backend/ET-AUTH-002-backend-users.md)
- ...
### Frontend (6 archivos)
- [ET-AUTH-001-frontend](especificaciones/frontend/ET-AUTH-001-frontend-login.md)
- [ET-AUTH-002-frontend](especificaciones/frontend/ET-AUTH-002-frontend-users.md)
- ...
## Historias de Usuario (10 archivos)
- [US-FUND-001](historias-usuario/US-FUND-001-login.md) - Login de usuario
- [US-FUND-002](historias-usuario/US-FUND-002-registro.md) - Registro de usuario
- ...
## Implementación
- [DATABASE.yml](implementacion/DATABASE.yml) - Inventario de objetos de BD
- [BACKEND.yml](implementacion/BACKEND.yml) - Inventario de módulos backend
- [FRONTEND.yml](implementacion/FRONTEND.yml) - Inventario de componentes frontend
## Pruebas
- [TEST-PLAN.md](pruebas/TEST-PLAN.md) - Plan de pruebas
- [TEST-CASES.md](pruebas/TEST-CASES.md) - Casos de prueba
Total: 14 × 2 = 28 archivos (README + _MAP por módulo)
3. Inventarios de Implementación (Semana 2)
Responsable: Architecture-Analyst (coordina) + agentes especializados (delegados)
Delegación Database (ejemplo MGN-001):
agent: Database-Agent
task: "Crear inventario de objetos de BD para MGN-001"
inputs:
- projects/erp-generic/docs/02-modelado/database-design/schemas/auth.sql
- projects/erp-generic/docs/02-modelado/database-design/schemas/core.sql
output: projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/implementacion/DATABASE.yml
instructions: |
Listar todos los objetos de BD que serán creados para MGN-001:
schemas:
- auth
- core (parcial)
tables:
- auth.users
- auth.roles
- auth.permissions
- auth.user_roles
- auth.sessions
- core.tenants
- core.companies
types:
- auth.user_status
- auth.session_status
functions:
- auth.generate_jwt()
- auth.verify_jwt()
- auth.create_user()
indexes:
- auth.users_email_idx
- auth.users_tenant_id_idx
policies_rls:
- auth.users_tenant_isolation
Delegación Backend:
agent: Backend-Agent
task: "Crear inventario backend para MGN-001"
output: projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/implementacion/BACKEND.yml
instructions: |
Listar módulos/servicios/controladores a implementar:
modules:
- src/modules/auth/
- src/modules/company/
services:
- auth.service.ts
- user.service.ts
- role.service.ts
- company.service.ts
controllers:
- auth.controller.ts
- user.controller.ts
- role.controller.ts
- company.controller.ts
middleware:
- jwt.middleware.ts
- rbac.middleware.ts
- tenant.middleware.ts
dtos:
- login.dto.ts
- register.dto.ts
- create-user.dto.ts
entities:
- user.entity.ts
- role.entity.ts
- company.entity.ts
Delegación Frontend:
agent: Frontend-Agent
task: "Crear inventario frontend para MGN-001"
output: projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/implementacion/FRONTEND.yml
instructions: |
Listar componentes/páginas/stores a implementar:
pages:
- src/pages/auth/LoginPage.tsx
- src/pages/auth/RegisterPage.tsx
- src/pages/users/UsersListPage.tsx
- src/pages/users/UserDetailPage.tsx
components:
- src/shared/components/auth/LoginForm.tsx
- src/shared/components/auth/RegisterForm.tsx
- src/shared/components/users/UserTable.tsx
- src/shared/components/users/UserForm.tsx
stores:
- src/stores/authStore.ts
- src/stores/userStore.ts
services:
- src/services/api/authApi.ts
- src/services/api/userApi.ts
hooks:
- src/shared/hooks/useAuth.ts
- src/shared/hooks/useUser.ts
Repetir para 14 módulos
Total: 14 × 3 = 42 inventarios YAML
4. Planes de Pruebas (Semana 2)
Responsable: Architecture-Analyst (coordina) + Code-Reviewer (delegado)
Delegación (por módulo):
agent: Code-Reviewer
task: "Crear plan de pruebas para MGN-001"
inputs:
- projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/requerimientos/
- projects/erp-generic/docs/adr/ADR-010-testing-strategy.md
output:
- projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/pruebas/TEST-PLAN.md
- projects/erp-generic/docs/02-fase-core/MGN-001-fundamentos/pruebas/TEST-CASES.md
instructions: |
Crear plan de pruebas y casos de prueba:
TEST-PLAN.md:
- Estrategia de testing (Unit, Integration, E2E)
- Alcance de testing
- Criterios de aceptación
- Coverage objetivo (80% backend, 70% frontend)
- Herramientas (Jest, Vitest, Playwright)
TEST-CASES.md:
- Casos de prueba por RF
- Casos de prueba de integración
- Casos de prueba E2E
- Casos de prueba de seguridad
- Casos de prueba de performance
Repetir para 14 módulos
Total: 14 × 2 = 28 archivos (TEST-PLAN + TEST-CASES)
5. Documentación Transversal (Semana 3)
Responsable: Architecture-Analyst (trabajo directo)
Tareas:
- Crear documentación de alto nivel
Entregables:
-
ESTRUCTURA-COMPLETA.md
- Resumen ejecutivo del ERP Genérico
- Distribución por fase (Core vs Complementaria)
- Estructura de directorios completa
- Métricas consolidadas
- Convenciones de nomenclatura
-
ROADMAP-DETALLADO.md
- Roadmap de desarrollo (sprints, hitos)
- Dependencias entre módulos
- Timeline estimado
- Recursos necesarios
-
GUIA-REUTILIZACION.md
- Cómo usar el ERP Genérico en proyectos especializados
- Qué extender vs qué reutilizar
- Patrones de especialización
- Ejemplos de uso en ERP Construcción/Vidrio/Mecánicas
-
GUIA-USO-REFERENCIAS.md
- Cómo usar análisis de Odoo durante desarrollo
- Cómo aplicar patrones de Gamilit
- Cuándo consultar referencias
-
02-fase-core/README.md
- Descripción de Fase Core (8 módulos)
- Objetivos y alcance
- Dependencias entre módulos
-
02-fase-core/_MAP.md
- Índice maestro de todos los módulos Core
-
03-fase-complementaria/README.md
- Descripción de Fase Complementaria (6 módulos)
-
03-fase-complementaria/_MAP.md
- Índice maestro de todos los módulos Complementarios
Total: 8 archivos
Resumen de Entregables Fase 3
| Categoría | Archivos | Ubicación |
|---|---|---|
| US (delegado) | 140 | 02-fase-core/MGN-XXX-*/historias-usuario/ + 03-fase-complementaria/ |
| README + _MAP por módulo | 28 | Cada módulo |
| Inventarios YAML (delegado) | 42 | implementacion/ en cada módulo |
| Planes de pruebas (delegado) | 28 | pruebas/ en cada módulo |
| Documentación transversal | 8 | Raíz de docs/ |
| TOTAL | 246 archivos | - |
Criterios de Completitud Fase 3
- 140 US creadas (10 por módulo)
- Todos los módulos tienen README.md y _MAP.md
- Todos los módulos tienen inventarios (DATABASE, BACKEND, FRONTEND)
- Todos los módulos tienen planes de pruebas
- Documentación transversal completa (8 archivos)
📊 RESUMEN EJECUTIVO DEL PLAN MAESTRO
Fases y Duración
| Fase | Duración | Responsable | Delegaciones |
|---|---|---|---|
| Fase 0 | 2 semanas | Architecture-Analyst | 0 (trabajo directo) |
| Fase 1 | 2-3 semanas | Architecture-Analyst | 1 agente (Requirements-Analyst) |
| Fase 2 | 3-4 semanas | Architecture-Analyst | 3 agentes (Requirements, Database, Backend, Frontend) |
| Fase 3 | 2-3 semanas | Architecture-Analyst | 3 agentes (Requirements, Database, Backend, Frontend, Code-Reviewer) |
| TOTAL | 9-12 semanas | - | - |
Archivos a Crear
| Fase | Archivos | Responsable Directo | Delegado |
|---|---|---|---|
| Fase 0 | 38 | 38 | 0 |
| Fase 1 | 48-58 | 18 | 30-40 |
| Fase 2 | 244 | 22 | 222 |
| Fase 3 | 246 | 36 | 210 |
| TOTAL | 576-586 | 114 | 462-472 |
Distribución de Trabajo
Architecture-Analyst (Coordinador): 19% del trabajo directo
- Análisis de referencias (Fase 0): 100%
- Decisiones arquitectónicas: 100%
- ADRs: 100%
- Gap analysis: 100%
- Validaciones: 100%
- Consolidación: 100%
Agentes Delegados: 81% del trabajo
- Requirements-Analyst: ~180 archivos (RF + US)
- Database-Agent: ~26 archivos (schemas + inventarios)
- Backend-Agent: ~84 archivos (ET + inventarios)
- Frontend-Agent: ~84 archivos (ET + inventarios)
- Code-Reviewer: ~28 archivos (planes de pruebas)
✅ CRITERIOS DE COMPLETITUD GLOBAL
Al Completar Todas las Fases
- Fase 0 completada (38 archivos, 10 ADRs, análisis de referencias)
- Fase 1 completada (48-58 archivos, definición de módulos)
- Fase 2 completada (244 archivos, RF/ET/DB completos)
- Fase 3 completada (246 archivos, US/inventarios/planes)
- Total: 576-586 archivos creados
- Estructura sigue formato de erp-construccion
- Documentación validada contra Odoo y Gamilit
- Retroalimentación a erp-construccion generada
- ERP Genérico listo para desarrollo
- Componentes genéricos identificados para reutilización
Estructura Final Esperada
projects/erp-generic/docs/
├── 00-analisis-referencias/ # Fase 0
│ ├── odoo/ # 14 archivos
│ ├── gamilit/ # 7 archivos
│ ├── construccion/ # 5 archivos
│ ├── MAPA-COMPONENTES-GENERICOS.md
│ └── RESUMEN-FASE-0.md
│
├── 01-definicion-modulos/ # Fase 1
│ ├── gaps/ # 14 archivos
│ ├── RF-EXTRAIDOS/ # 30-40 archivos
│ └── [3 archivos de definición]
│
├── 02-modelado/ # Fase 2
│ ├── domain-models/ # 8 archivos
│ └── database-design/schemas/ # 12 archivos SQL
│
├── 02-fase-core/ # 8 módulos (MGN-001 a MGN-008)
│ ├── MGN-001-fundamentos/
│ │ ├── README.md
│ │ ├── _MAP.md
│ │ ├── requerimientos/ # ~5 RF
│ │ ├── especificaciones/
│ │ │ ├── backend/ # ~5 ET
│ │ │ └── frontend/ # ~5 ET
│ │ ├── historias-usuario/ # ~10 US
│ │ ├── implementacion/
│ │ │ ├── TRACEABILITY.yml
│ │ │ ├── DATABASE.yml
│ │ │ ├── BACKEND.yml
│ │ │ └── FRONTEND.yml
│ │ └── pruebas/
│ │ ├── TEST-PLAN.md
│ │ └── TEST-CASES.md
│ ├── MGN-002-empresas-organizaciones/
│ ├── MGN-003-catalogos-maestros/
│ ├── MGN-004-financiero-basico/
│ ├── MGN-005-inventario-basico/
│ ├── MGN-006-compras-basico/
│ ├── MGN-007-ventas-basico/
│ └── MGN-008-contabilidad-analitica/
│
├── 03-fase-complementaria/ # 6 módulos (MGN-009 a MGN-014)
│ ├── MGN-009-crm-basico/
│ ├── MGN-010-rrhh-basico/
│ ├── MGN-011-proyectos-genericos/
│ ├── MGN-012-reportes-analytics/
│ ├── MGN-013-portal-usuarios/
│ └── MGN-014-mensajeria-notificaciones/
│
├── adr/ # 10 ADRs
│ ├── ADR-001-stack-tecnologico.md
│ ├── ADR-002-arquitectura-modular.md
│ └── ...
│
├── ESTRUCTURA-COMPLETA.md
├── ROADMAP-DETALLADO.md
├── GUIA-REUTILIZACION.md
└── GUIA-USO-REFERENCIAS.md
Total estimado: 576-586 archivos
🎯 PRÓXIMOS PASOS INMEDIATOS
1. Validación del Plan
- Revisar este plan maestro
- Aprobar alcance y metodología
- Confirmar disponibilidad de referencias (Odoo, Gamilit)
2. Preparación
- Crear estructura base de carpetas en
erp-generic/docs/ - Configurar prompt extendido del Architecture-Analyst
- Verificar acceso a referencias
3. Lanzamiento Fase 0
- Lanzar Architecture-Analyst para Fase 0
- Monitorear progreso
- Revisar entregables de Fase 0
- Aprobar antes de pasar a Fase 1
📚 REFERENCIAS Y RECURSOS
Documentación Base
Referencias Externas
Estándares y Directivas
Creado: 2025-11-23 Versión: 2.0.0 Autor: Architecture-Analyst (coordinador) Estado: ✅ Plan maestro completo - Listo para ejecución Aprobación requerida: Usuario