12 KiB
PLAN MAESTRO: Migracion, Integracion y Adaptacion ERP-Core a Retail
Version: 1.0.0 Fecha: 2025-12-18 Autor: Requirements-Analyst (Perfil NEXUS) Proyecto Base: erp-core Proyecto Destino: erp-suite/verticales/retail
RESUMEN EJECUTIVO
Este documento define el plan maestro para la migracion, integracion y adaptacion del proyecto base erp-core hacia la vertical especializada retail. El proceso se divide en 5 fases con subagentes especializados para garantizar completitud y trazabilidad.
Metricas del Proyecto
| Concepto | Valor |
|---|---|
| Tablas heredadas de core | 144 |
| Schemas heredados | 12 |
| Modulos retail | 10 |
| Story Points estimados | 353 |
| % Reutilizacion promedio | 45% |
FASE 1: PLANEACION - ANALISIS DETALLADO
Objetivo
Realizar un analisis exhaustivo del estado actual de erp-core y los requerimientos especificos de retail para identificar todos los componentes a migrar, extender o crear.
Entregables
-
ANALISIS-ERP-CORE-INVENTARIO.md
- Inventario completo de modulos del core
- Estado de implementacion de cada modulo
- Especificaciones tecnicas existentes
- DDL implementados
-
ANALISIS-RETAIL-REQUERIMIENTOS.md
- Requerimientos funcionales especificos de retail
- Requerimientos no funcionales (offline, performance)
- Hardware e integraciones requeridas
-
MATRIZ-MAPEO-CORE-RETAIL.md
- Mapeo modulo-a-modulo entre core y retail
- Identificacion de herencia directa (100%)
- Identificacion de extensiones necesarias
- Identificacion de componentes nuevos
-
GAP-ANALYSIS-RETAIL.md
- Gaps funcionales por modulo
- Gaps de especificaciones
- Gaps de implementacion
Subagente Especializado
agente: Explore-Agent
tipo: subagent_type=Explore
nivel_exploracion: very thorough
prompt: |
Realizar analisis exhaustivo del proyecto erp-core:
1. Explorar todos los modulos en backend/src/modules/
2. Documentar estado de cada servicio (.service.ts)
3. Revisar DDL en database/ddl/
4. Catalogar especificaciones en docs/
5. Verificar inventarios existentes
Contexto: Se migrara a vertical retail (punto de venta)
Entregar: Inventario completo con estado de implementacion
Archivos a Analizar
| Ruta | Proposito |
|---|---|
erp-core/backend/src/modules/ |
Servicios backend |
erp-core/database/ddl/ |
Esquemas DDL |
erp-core/docs/ |
Documentacion y especificaciones |
retail/docs/ |
Requerimientos retail |
retail/orchestration/inventarios/ |
Inventarios actuales |
FASE 2: EJECUCION DEL ANALISIS
Objetivo
Ejecutar el analisis planificado modulo por modulo, generando documentacion detallada de cada componente.
Entregables por Modulo
Para cada uno de los 10 modulos de retail (RT-001 a RT-010):
- ANALISIS-RT-{XXX}-{nombre}.md
- Componentes del core que hereda
- Extensiones requeridas
- Componentes nuevos a crear
- Dependencias identificadas
- Story points ajustados
Matriz de Analisis
| Modulo Retail | Modulos Core Relacionados | % Herencia | Analisis |
|---|---|---|---|
| RT-001 Fundamentos | MGN-001, MGN-002, MGN-003, MGN-004 | 100% | PENDIENTE |
| RT-002 POS | MGN-013 Sales | 20% | PENDIENTE |
| RT-003 Inventario | MGN-011 Inventory | 60% | PENDIENTE |
| RT-004 Compras | MGN-012 Purchase | 80% | PENDIENTE |
| RT-005 Clientes | MGN-014 CRM | 40% | PENDIENTE |
| RT-006 Precios | MGN-013 Sales (pricing) | 30% | PENDIENTE |
| RT-007 Caja | - | 10% | PENDIENTE |
| RT-008 Reportes | MGN-009 Reports | 70% | PENDIENTE |
| RT-009 E-commerce | MGN-013 Sales | 20% | PENDIENTE |
| RT-010 Facturacion | MGN-010 Financial | 60% | PENDIENTE |
Subagentes Especializados
# Para cada modulo ejecutar:
agente: Plan-Agent
tipo: subagent_type=Plan
prompt: |
Analizar modulo RT-{XXX} {nombre}:
1. HERENCIA DEL CORE:
- Listar servicios de erp-core/{modulo_core} que aplican
- Identificar tablas DDL que se reutilizan
- Revisar specs transversales aplicables
2. EXTENSIONES:
- Campos adicionales requeridos
- Logica de negocio adicional
- Nuevos endpoints necesarios
3. COMPONENTES NUEVOS:
- Entidades especificas de retail
- Servicios nuevos
- Controladores nuevos
4. DEPENDENCIAS:
- Modulos core requeridos
- Otros modulos retail requeridos
- Servicios externos (PAC, hardware)
Contexto: [Incluir documentacion del modulo retail]
Entregar: Documento ANALISIS-RT-{XXX}.md
FASE 3: PLANEACION DE IMPLEMENTACIONES
Objetivo
Crear planes de implementacion detallados para cada componente identificado en la Fase 2.
Entregables
-
PLAN-IMPL-DATABASE.md
- Orden de creacion de tablas
- Migraciones de core requeridas
- DDL especificos de retail
- Indices y optimizaciones
-
PLAN-IMPL-BACKEND.md
- Servicios a heredar (import directo)
- Servicios a extender (class extends)
- Servicios a crear (nuevos)
- Controladores y rutas
- Middlewares especificos
-
PLAN-IMPL-FRONTEND.md
- Componentes reutilizables del core
- Componentes especificos POS
- PWA y modo offline
- Integracion hardware
-
ROADMAP-SPRINTS.md
- Sprints por prioridad (P0, P1, P2)
- Dependencias entre sprints
- Criterios de completitud
Estructura del Plan por Capa
database:
sprint_1:
- Crear schema retail
- Crear tablas pos_sessions, pos_orders, pos_order_lines
- Crear tablas cash_registers, cash_movements
- Configurar RLS policies
sprint_2:
- Tablas branches, branch_stock
- Tablas loyalty_cards, loyalty_transactions
- Tablas promotions
backend:
sprint_1:
- Heredar AuthModule de @erp-core/auth
- Heredar UsersModule de @erp-core/users
- Crear POSModule
- Crear CashModule
sprint_2:
- Extender InventoryModule
- Crear LoyaltyModule
- Crear PromotionsModule
frontend:
sprint_1:
- Dashboard principal
- Pantalla POS
- Gestion de caja
sprint_2:
- Inventario por sucursal
- Clientes y fidelizacion
Subagente Especializado
agente: Plan-Agent
tipo: subagent_type=Plan
prompt: |
Con base en los analisis de Fase 2, crear plan de implementacion:
INPUT:
- ANALISIS-RT-001 a RT-010
- GAP-ANALYSIS-RETAIL
- MATRIZ-MAPEO-CORE-RETAIL
OUTPUT:
- Plan de base de datos (orden DDL)
- Plan de backend (herencia vs extension vs nuevo)
- Plan de frontend (componentes)
- Sprints priorizados
Considerar:
- Dependencias entre modulos
- Prioridad P0 primero
- Modo offline del POS
- CFDI 4.0 en tiempo real
FASE 4: VALIDACION DE PLANEACION
Objetivo
Validar que el plan de implementacion cubre todos los componentes identificados y que no faltan dependencias.
Entregables
-
VALIDACION-COMPLETITUD.md
- Checklist de todos los objetos a implementar
- Verificacion de dependencias cruzadas
- Objetos faltantes identificados
-
DEPENDENCY-GRAPH-VALIDADO.yml
- Grafo de dependencias actualizado
- Orden de implementacion validado
- Ciclos detectados (si existen)
-
IMPACTO-CAMBIOS.md
- Componentes impactados por cada cambio
- Propagacion de cambios en cascada
- Riesgos identificados
Checklist de Validacion
validacion_database:
- [ ] Todas las tablas de ANALISIS tienen DDL en PLAN-IMPL
- [ ] FK apuntan a tablas existentes o en plan
- [ ] RLS policies definidas para todas las tablas
- [ ] Indices de rendimiento para POS (<100ms)
validacion_backend:
- [ ] Cada servicio tiene su controlador
- [ ] Cada endpoint tiene ruta definida
- [ ] Imports de core son resolubles
- [ ] No hay dependencias circulares
validacion_frontend:
- [ ] Cada pantalla tiene componentes definidos
- [ ] PWA manifest configurado
- [ ] Service workers para offline
- [ ] Integracion hardware documentada
validacion_herencia:
- [ ] Modulos 100% herencia no duplican codigo
- [ ] Extensiones usan 'extends' correctamente
- [ ] Specs transversales aplicadas
Subagente Especializado
agente: General-Purpose-Agent
tipo: subagent_type=general-purpose
prompt: |
Validar completitud del plan de implementacion:
1. VERIFICAR OBJETOS:
- Leer ANALISIS-RT-* (todos los modulos)
- Leer PLAN-IMPL-* (todos los planes)
- Cruzar: cada objeto analizado tiene plan
2. VERIFICAR DEPENDENCIAS:
- Construir grafo de dependencias
- Detectar objetos huerfanos
- Detectar ciclos
3. VERIFICAR IMPACTO:
- Para cada cambio en core, que retail impacta
- Para cada nuevo en retail, que core requiere
4. GENERAR REPORTE:
- Lista de gaps encontrados
- Recomendaciones de ajuste
- Plan de correccion
Entregar: VALIDACION-COMPLETITUD.md
FASE 5: EJECUCION DE IMPLEMENTACIONES
Objetivo
Ejecutar las implementaciones segun el plan validado, usando subagentes especializados por capa.
Subagentes por Dominio
Database-Agent
agente: Database-Agent
prompt: |
Implementar DDL para retail segun PLAN-IMPL-DATABASE:
CONTEXTO:
- Schema: retail
- Herencia: schemas auth, core, inventory, sales de erp-core
- Variable RLS: app.current_tenant_id
ARCHIVOS A CREAR/MODIFICAR:
- database/init/03-retail-tables.sql (completar)
- database/init/04-retail-functions.sql
- database/init/05-retail-triggers.sql
VALIDAR:
- FK validas a tablas de core
- RLS en todas las tablas
- Indices para performance POS
Backend-Agent
agente: Backend-Agent
prompt: |
Implementar backend segun PLAN-IMPL-BACKEND:
MODULOS A CREAR:
- src/modules/pos/
- src/modules/cash/
- src/modules/loyalty/
- src/modules/promotions/
MODULOS A HEREDAR:
- Importar @erp-core/auth
- Importar @erp-core/users
- Importar @erp-core/inventory (extender)
PATRON:
- NestJS con TypeORM
- Controllers + Services + Entities
- DTOs para validacion
Frontend-Agent
agente: Frontend-Agent
prompt: |
Implementar frontend segun PLAN-IMPL-FRONTEND:
STACK:
- React 18 + TypeScript
- Vite + PWA plugin
- Tailwind CSS
- Zustand para estado
PANTALLAS PRIORITARIAS:
1. POS (punto de venta) - offline-first
2. Dashboard de ventas
3. Gestion de caja
4. Inventario por sucursal
CONSIDERACIONES:
- Service workers para offline
- IndexedDB para cache local
- Sincronizacion con backend
Control de Progreso
| Sprint | Modulos | Estado | % |
|---|---|---|---|
| Sprint 1 | RT-001, RT-002, RT-007 | PENDIENTE | 0% |
| Sprint 2 | RT-003, RT-004, RT-010 | PENDIENTE | 0% |
| Sprint 3 | RT-005, RT-006 | PENDIENTE | 0% |
| Sprint 4 | RT-008, RT-009 | PENDIENTE | 0% |
CRONOGRAMA DE FASES
| Fase | Descripcion | Estado | Dependencias |
|---|---|---|---|
| F1 | Planeacion - Analisis Detallado | SIGUIENTE | - |
| F2 | Ejecucion del Analisis | PENDIENTE | F1 |
| F3 | Plan de Implementaciones | PENDIENTE | F2 |
| F4 | Validacion de Plan | PENDIENTE | F3 |
| F5 | Ejecucion de Implementaciones | PENDIENTE | F4 |
ARCHIVOS DE SOPORTE
Estructura de Carpetas para Entregables
retail/orchestration/planes/
├── PLAN-MAESTRO-MIGRACION-RETAIL.md (este documento)
├── fase-1-analisis/
│ ├── ANALISIS-ERP-CORE-INVENTARIO.md
│ ├── ANALISIS-RETAIL-REQUERIMIENTOS.md
│ ├── MATRIZ-MAPEO-CORE-RETAIL.md
│ └── GAP-ANALYSIS-RETAIL.md
├── fase-2-analisis-modulos/
│ ├── ANALISIS-RT-001-fundamentos.md
│ ├── ANALISIS-RT-002-pos.md
│ ├── ANALISIS-RT-003-inventario.md
│ ├── ANALISIS-RT-004-compras.md
│ ├── ANALISIS-RT-005-clientes.md
│ ├── ANALISIS-RT-006-precios.md
│ ├── ANALISIS-RT-007-caja.md
│ ├── ANALISIS-RT-008-reportes.md
│ ├── ANALISIS-RT-009-ecommerce.md
│ └── ANALISIS-RT-010-facturacion.md
├── fase-3-implementacion/
│ ├── PLAN-IMPL-DATABASE.md
│ ├── PLAN-IMPL-BACKEND.md
│ ├── PLAN-IMPL-FRONTEND.md
│ └── ROADMAP-SPRINTS.md
├── fase-4-validacion/
│ ├── VALIDACION-COMPLETITUD.md
│ ├── DEPENDENCY-GRAPH-VALIDADO.yml
│ └── IMPACTO-CAMBIOS.md
└── fase-5-ejecucion/
└── TRAZA-EJECUCION.md
PROXIMA ACCION
Fase Actual: FASE 1 - Planeacion Accion Inmediata: Ejecutar analisis exhaustivo de erp-core con Explore-Agent
# Comando para iniciar Fase 1:
# Usar subagente Explore con nivel "very thorough"
# Target: /projects/erp-suite/apps/erp-core/
Documento creado: 2025-12-18 Sistema: NEXUS + SIMCO v2.2.0 Perfil: Requirements-Analyst