- 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>
423 lines
12 KiB
Markdown
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
|