michangarrito/orchestration/analisis/PLAN-ANALISIS-DETALLADO-INTEGRACION-2026-01-10.md
rckrdmrd 928eb795e6 [SIMCO-V38] feat: Actualizar a SIMCO v3.8.0 + cambios apps
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Cambios en backend y frontend

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:05 -06:00

423 lines
12 KiB
Markdown

# PLAN DE ANALISIS DETALLADO: Integracion Documentacion-Desarrollo
**Proyecto:** MiChangarrito
**Fecha:** 2026-01-10
**Fase:** FASE 0 - Analisis y Planeacion
**Estado:** COMPLETADO
**Version:** 1.0.0
---
## 1. RESUMEN DE EXPLORACION
### 1.1 Hallazgos de Codigo Real
| Componente | Cantidad Real | Documentado | Delta |
|------------|---------------|-------------|-------|
| **Database Schemas** | 10 | 9 | +1 |
| **Database Tablas** | 47 | 27-29 | +18-20 |
| **Database Funciones** | 15 | 5 | +10 |
| **Database Triggers** | 29 | 18 | +11 |
| **Backend Modulos** | 17 | 12 | +5 |
| **Backend Controllers** | 19 | 14 | +5 |
| **Backend Endpoints** | ~120+ | 100+ | ~+20 |
| **Frontend Paginas** | 11 | 9 | +2 |
| **Mobile Pantallas** | 10 | 10 | 0 |
### 1.2 Discrepancias Criticas Detectadas
| ID | Tipo | Descripcion | Severidad |
|----|------|-------------|-----------|
| DI-001 | SCHEMA | Schema `billing` no documentado en ARQUITECTURA-DATABASE.md | ALTA |
| DI-002 | SCHEMA | Schema `marketplace` no documentado (pero es nuevo) | MEDIA |
| DI-003 | TABLAS | 18-20 tablas adicionales no documentadas | ALTA |
| DI-004 | MODULOS | 5 modulos backend no documentados | ALTA |
| DI-005 | PAGINAS | 2 paginas frontend adicionales (Invoices, Marketplace) | MEDIA |
| DI-006 | FUNCIONES | 10 funciones adicionales no documentadas | MEDIA |
---
## 2. AREAS DE VALIDACION
### AREA 1: Base de Datos
#### 2.1.1 Schemas a Validar
| Schema | En Codigo | En Doc | Validar |
|--------|-----------|--------|---------|
| public | SI | SI | Tablas, columnas |
| auth | SI | SI | Tablas, columnas |
| catalog | SI | SI | Tablas, columnas |
| sales | SI | SI | Tablas, columnas + CoDi/SPEI |
| inventory | SI | SI | Tablas, columnas |
| customers | SI | SI | Tablas, columnas |
| orders | SI | SI | Tablas, columnas |
| subscriptions | SI | SI | Tablas + referrals |
| messaging | SI | SI | Tablas, columnas |
| **billing** | SI | NO | **DOCUMENTAR** |
| **marketplace** | SI | NO | **DOCUMENTAR** |
#### 2.1.2 Tablas por Schema (Codigo vs Documentacion)
**PUBLIC (4 tablas en codigo):**
- tenants
- tenant_configs
- tenant_integration_credentials
- tenant_whatsapp_numbers
**AUTH (3 tablas):**
- users
- sessions
- otp_codes
**CATALOG (3 tablas):**
- categories
- products
- product_templates
**SALES (8 tablas - incluye CoDi/SPEI):**
- sales
- sale_items
- payments
- daily_closures
- virtual_accounts (CoDi/SPEI)
- codi_transactions
- spei_transactions
- payment_config
**INVENTORY (2 tablas):**
- inventory_movements
- stock_alerts
**CUSTOMERS (3 tablas):**
- customers
- fiados
- fiado_payments
**ORDERS (2 tablas):**
- orders
- order_items
**SUBSCRIPTIONS (8 tablas - incluye referrals):**
- plans
- subscriptions
- token_packages
- token_usage
- tenant_token_balance
- referral_codes
- referrals
- referral_rewards
**MESSAGING (3 tablas):**
- conversations
- messages
- notifications
**BILLING (5 tablas - NO DOCUMENTADO):**
- tax_configs
- invoices
- invoice_items
- invoice_item_taxes
- invoice_history
**MARKETPLACE (6 tablas - NO DOCUMENTADO):**
- suppliers
- supplier_products
- supplier_orders
- supplier_order_items
- supplier_reviews
- supplier_favorites
---
### AREA 2: Backend NestJS
#### 2.2.1 Modulos a Validar
| Modulo | En Codigo | En Doc | Validar |
|--------|-----------|--------|---------|
| AuthModule | SI | SI | Endpoints |
| ProductsModule | SI | SI | Endpoints |
| CategoriesModule | SI | SI | Endpoints |
| SalesModule | SI | SI | Endpoints |
| OrdersModule | SI | SI | Endpoints |
| CustomersModule | SI | SI | Endpoints |
| InventoryModule | SI | SI | Endpoints |
| PaymentsModule | SI | SI | Endpoints |
| SubscriptionsModule | SI | SI | Endpoints |
| MessagingModule | SI | SI | Endpoints |
| **BillingModule** | SI | NO | **DOCUMENTAR** |
| **IntegrationsModule** | SI | NO | **DOCUMENTAR** |
| **ReferralsModule** | SI | NO | **DOCUMENTAR** |
| **CodiSpeiModule** | SI | NO | **DOCUMENTAR** |
| **WidgetsModule** | SI | NO | **DOCUMENTAR** |
| **MarketplaceModule** | SI | NO | **DOCUMENTAR** |
| **InvoicesModule** | SI | NO | **DOCUMENTAR** |
#### 2.2.2 Endpoints Principales por Modulo
**Modulos NO documentados (requieren documentacion):**
1. **BillingModule** (7 endpoints):
- GET /billing/plans
- GET /billing/token-packages
- GET /billing/summary
- GET /billing/token-balance
- GET /billing/token-usage
- POST /billing/checkout/subscription
- POST /billing/checkout/tokens
- POST /billing/portal
2. **ReferralsModule** (10 endpoints):
- GET /v1/referrals/my-code
- GET /v1/referrals/validate/:code
- GET /v1/referrals/list
- GET /v1/referrals/stats
- GET /v1/referrals/rewards
- GET /v1/referrals/rewards/available-months
- GET /v1/referrals/discount
- POST /v1/referrals/generate-code
- POST /v1/referrals/apply-code
3. **CodiSpeiModule** (9 endpoints):
- POST /v1/codi/generate-qr
- POST /v1/codi/webhook
- GET /v1/codi/status/:id
- GET /v1/codi/transactions
- GET /v1/spei/clabe
- GET /v1/spei/transactions
- POST /v1/spei/create-clabe
- POST /v1/spei/webhook
- GET /v1/payments/summary
4. **MarketplaceModule** (13 endpoints):
- GET /marketplace/suppliers
- GET /marketplace/suppliers/:id
- GET /marketplace/suppliers/:id/products
- GET /marketplace/suppliers/:id/reviews
- GET /marketplace/orders
- GET /marketplace/orders/:id
- GET /marketplace/favorites
- GET /marketplace/stats
- POST /marketplace/orders
- POST /marketplace/reviews
- POST /marketplace/favorites/:supplierId
- DELETE /marketplace/favorites/:supplierId
- PUT /marketplace/orders/:id/cancel
5. **InvoicesModule** (10 endpoints):
- GET /invoices
- GET /invoices/summary
- GET /invoices/tax-config
- GET /invoices/:id
- POST /invoices
- POST /invoices/tax-config
- POST /invoices/:id/stamp
- POST /invoices/:id/cancel
- POST /invoices/:id/send
6. **WidgetsModule** (4 endpoints):
- GET /v1/widget/summary
- GET /v1/widget/alerts
- GET /v1/widget/quick-actions
- GET /v1/widget/full
7. **IntegrationsModule** (endpoints para credenciales):
- Gestionar credenciales de WhatsApp, LLM, Stripe, etc.
---
### AREA 3: Frontend React
#### 2.3.1 Paginas a Validar
| Pagina | En Codigo | En Doc | Validar |
|--------|-----------|--------|---------|
| Dashboard | SI | SI | Componentes |
| Products | SI | SI | Funcionalidad |
| Orders | SI | SI | Estados |
| Customers | SI | SI | Fiados |
| Fiado | SI | SI | Creditos |
| Inventory | SI | SI | Alertas |
| Settings | SI | SI | Configuracion |
| Login | SI | SI | Auth |
| Register | SI | SI | Onboarding |
| **Invoices** | SI | NO | **DOCUMENTAR** |
| **Marketplace** | SI | NO | **DOCUMENTAR** |
| **Referrals** | SI | NO | **DOCUMENTAR** |
---
### AREA 4: Mobile React Native
#### 2.4.1 Pantallas a Validar
| Pantalla | En Codigo | En Doc | Estado |
|----------|-----------|--------|--------|
| LoginScreen | SI | SI | OK |
| DashboardScreen | SI | SI | OK |
| POSScreen | SI | SI | OK |
| ReportsScreen | SI | SI | OK |
| MoreScreen | SI | SI | OK |
| ProductsScreen | SI | SI | OK |
| InventoryScreen | SI | SI | OK |
| CustomersScreen | SI | SI | OK |
| SettingsScreen | SI | SI | OK |
| BarcodeScannerScreen | SI | SI | OK |
**Mobile esta correctamente documentado.**
---
## 3. MATRIZ DE DEPENDENCIAS
### 3.1 Documentacion -> Codigo
| Documento | Depende de (Codigo) |
|-----------|---------------------|
| ARQUITECTURA-DATABASE.md | database/schemas/*.sql |
| ESPECIFICACION-COMPONENTES.md | apps/backend/src/modules/*.module.ts |
| ESPECIFICACION-COMPONENTES.md | apps/frontend/src/pages/*.tsx |
| INTEGRACIONES-EXTERNAS.md | apps/backend/src/modules/integrations/ |
| INTEGRACIONES-EXTERNAS.md | apps/backend/src/modules/billing/ |
| CONTEXT-MAP.yml | docs/01-epicas/*.md |
### 3.2 Codigo -> Codigo
| Componente | Depende de |
|------------|------------|
| Backend Controllers | Database Schemas |
| Frontend Pages | Backend Endpoints |
| Mobile Screens | Backend Endpoints |
| Billing Module | Stripe Integration |
| CodiSpei Module | Bank Integration |
| Marketplace Module | marketplace schema |
| Invoices Module | billing schema |
---
## 4. PLAN DE TAREAS DE ANALISIS DETALLADO (FASE 1)
### T-001: Validar Schemas Database
**Objetivo:** Comparar cada schema SQL con documentacion
**Archivos:**
- database/schemas/*.sql (19 archivos)
- docs/02-especificaciones/ARQUITECTURA-DATABASE.md
**Acciones:**
- Listar todas las tablas por schema
- Comparar columnas, tipos, constraints
- Identificar tablas faltantes en doc
### T-002: Validar Modulos Backend
**Objetivo:** Comparar cada modulo NestJS con documentacion
**Archivos:**
- apps/backend/src/modules/*/*.module.ts
- docs/02-especificaciones/ESPECIFICACION-COMPONENTES.md
**Acciones:**
- Listar todos los modulos
- Comparar endpoints por modulo
- Identificar modulos faltantes en doc
### T-003: Validar Paginas Frontend
**Objetivo:** Comparar cada pagina React con documentacion
**Archivos:**
- apps/frontend/src/pages/*.tsx
- docs/02-especificaciones/ESPECIFICACION-COMPONENTES.md
**Acciones:**
- Listar todas las paginas
- Verificar rutas
- Identificar paginas faltantes en doc
### T-004: Validar Integraciones
**Objetivo:** Comparar integraciones implementadas con documentacion
**Archivos:**
- apps/backend/src/modules/integrations/
- apps/backend/src/modules/billing/
- apps/backend/src/modules/codi-spei/
- docs/02-especificaciones/INTEGRACIONES-EXTERNAS.md
**Acciones:**
- Listar integraciones implementadas
- Comparar con documentadas
- Identificar faltantes
### T-005: Validar Epicas
**Objetivo:** Comparar estados de epicas con codigo
**Archivos:**
- docs/01-epicas/MCH-*.md
- orchestration/CONTEXT-MAP.yml
- Codigo relacionado
**Acciones:**
- Verificar que epicas completadas tienen codigo
- Verificar que codigo nuevo tiene epica
---
## 5. CRITERIOS DE VALIDACION
### 5.1 Para Database
| Criterio | Descripcion | Peso |
|----------|-------------|------|
| Schema existe | El schema esta en ambos | Critico |
| Tabla existe | La tabla esta en ambos | Critico |
| Columnas coinciden | Nombre, tipo, nullable | Alto |
| Constraints | PK, FK, UNIQUE | Alto |
| Indices | Indices documentados | Medio |
| Triggers | Triggers documentados | Medio |
| Funciones | Funciones documentadas | Medio |
### 5.2 Para Backend
| Criterio | Descripcion | Peso |
|----------|-------------|------|
| Modulo existe | El modulo esta en ambos | Critico |
| Endpoints existen | Ruta y metodo | Critico |
| DTOs documentados | Estructura de entrada | Alto |
| Responses documentados | Estructura de salida | Alto |
| Guards | Autenticacion requerida | Medio |
### 5.3 Para Frontend
| Criterio | Descripcion | Peso |
|----------|-------------|------|
| Pagina existe | La pagina esta en ambos | Critico |
| Ruta correcta | Path en router | Alto |
| Componentes | Componentes principales | Medio |
| APIs usadas | Servicios consumidos | Medio |
---
## 6. ARCHIVOS A MODIFICAR (Estimacion)
### 6.1 Documentos a Actualizar
| Documento | Cambios Estimados |
|-----------|-------------------|
| ARQUITECTURA-DATABASE.md | +2 schemas, +18 tablas, +10 funciones |
| ESPECIFICACION-COMPONENTES.md | +7 modulos, +53 endpoints, +3 paginas |
| INTEGRACIONES-EXTERNAS.md | +CoDi/SPEI, +Facturacion SAT |
| CONTEXT-MAP.yml | Verificar estados |
### 6.2 Inventarios a Actualizar
| Inventario | Cambios Estimados |
|------------|-------------------|
| DATABASE_INVENTORY.yml | Sincronizar con schemas |
| BACKEND_INVENTORY.yml | Sincronizar con modulos |
| FRONTEND_INVENTORY.yml | Sincronizar con paginas |
| MASTER_INVENTORY.yml | Consolidar cambios |
---
## 7. SIGUIENTE FASE
**FASE 1: Analisis Detallado**
- Ejecutar las 5 tareas de validacion (T-001 a T-005)
- Generar reporte detallado por area
- Documentar cada discrepancia con ubicacion exacta
---
**Ultima actualizacion:** 2026-01-10
**Version:** 1.0.0