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
483 lines
12 KiB
Markdown
483 lines
12 KiB
Markdown
# 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
|
|
|
|
1. **ANALISIS-ERP-CORE-INVENTARIO.md**
|
|
- Inventario completo de modulos del core
|
|
- Estado de implementacion de cada modulo
|
|
- Especificaciones tecnicas existentes
|
|
- DDL implementados
|
|
|
|
2. **ANALISIS-RETAIL-REQUERIMIENTOS.md**
|
|
- Requerimientos funcionales especificos de retail
|
|
- Requerimientos no funcionales (offline, performance)
|
|
- Hardware e integraciones requeridas
|
|
|
|
3. **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
|
|
|
|
4. **GAP-ANALYSIS-RETAIL.md**
|
|
- Gaps funcionales por modulo
|
|
- Gaps de especificaciones
|
|
- Gaps de implementacion
|
|
|
|
### Subagente Especializado
|
|
|
|
```yaml
|
|
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):
|
|
|
|
1. **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
|
|
|
|
```yaml
|
|
# 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
|
|
|
|
1. **PLAN-IMPL-DATABASE.md**
|
|
- Orden de creacion de tablas
|
|
- Migraciones de core requeridas
|
|
- DDL especificos de retail
|
|
- Indices y optimizaciones
|
|
|
|
2. **PLAN-IMPL-BACKEND.md**
|
|
- Servicios a heredar (import directo)
|
|
- Servicios a extender (class extends)
|
|
- Servicios a crear (nuevos)
|
|
- Controladores y rutas
|
|
- Middlewares especificos
|
|
|
|
3. **PLAN-IMPL-FRONTEND.md**
|
|
- Componentes reutilizables del core
|
|
- Componentes especificos POS
|
|
- PWA y modo offline
|
|
- Integracion hardware
|
|
|
|
4. **ROADMAP-SPRINTS.md**
|
|
- Sprints por prioridad (P0, P1, P2)
|
|
- Dependencias entre sprints
|
|
- Criterios de completitud
|
|
|
|
### Estructura del Plan por Capa
|
|
|
|
```yaml
|
|
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
|
|
|
|
```yaml
|
|
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
|
|
|
|
1. **VALIDACION-COMPLETITUD.md**
|
|
- Checklist de todos los objetos a implementar
|
|
- Verificacion de dependencias cruzadas
|
|
- Objetos faltantes identificados
|
|
|
|
2. **DEPENDENCY-GRAPH-VALIDADO.yml**
|
|
- Grafo de dependencias actualizado
|
|
- Orden de implementacion validado
|
|
- Ciclos detectados (si existen)
|
|
|
|
3. **IMPACTO-CAMBIOS.md**
|
|
- Componentes impactados por cada cambio
|
|
- Propagacion de cambios en cascada
|
|
- Riesgos identificados
|
|
|
|
### Checklist de Validacion
|
|
|
|
```yaml
|
|
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
|
|
|
|
```yaml
|
|
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
|
|
|
|
```yaml
|
|
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
|
|
|
|
```yaml
|
|
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
|
|
|
|
```yaml
|
|
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
|
|
|
|
```bash
|
|
# 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
|