michangarrito/orchestration/trazas/TRAZA-SPRINT7-EPICAS-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

227 lines
5.3 KiB
Markdown

# TRAZA - Sprint 7: Implementacion de Epicas
**Proyecto:** MiChangarrito
**Sprint:** 7
**Fecha:** 2026-01-10
**Estado:** COMPLETADO
---
## OBJETIVO
Implementar las epicas pendientes de FASE 6:
- MCH-023: Programa de Referidos
- MCH-024: CoDi/SPEI
- MCH-026: Multi-idioma LATAM
---
## MCH-023: PROGRAMA DE REFERIDOS
### Base de Datos
**Archivo:** `database/schemas/13-referrals.sql`
| Tabla | Descripcion |
|-------|-------------|
| referral_codes | Codigos de referido por tenant |
| referrals | Registro de referidos |
| referral_rewards | Recompensas de meses gratis |
**Funciones:**
- `generate_referral_code()` - Genera codigo unico
- `get_referral_stats()` - Estadisticas de referidos
### Backend NestJS
**Modulo:** `apps/backend/src/modules/referrals/`
| Archivo | Descripcion |
|---------|-------------|
| referral-code.entity.ts | Entidad codigo de referido |
| referral.entity.ts | Entidad referido |
| referral-reward.entity.ts | Entidad recompensa |
| referrals.service.ts | Logica de negocio |
| referrals.controller.ts | Endpoints API |
| referrals.module.ts | Configuracion modulo |
**Endpoints:**
- GET `/v1/referrals/my-code`
- POST `/v1/referrals/generate-code`
- GET `/v1/referrals/validate/:code`
- POST `/v1/referrals/apply-code`
- GET `/v1/referrals/list`
- GET `/v1/referrals/stats`
- GET `/v1/referrals/rewards`
### Frontend React
**Pagina:** `apps/frontend/src/pages/Referrals.tsx`
| Componente | Descripcion |
|------------|-------------|
| ShareCard | Tarjeta para compartir codigo |
| StatsCards | Estadisticas de referidos |
| HowItWorks | Explicacion del programa |
| ReferralsList | Lista de referidos |
**API:** `apps/frontend/src/lib/api.ts` - `referralsApi`
---
## MCH-024: CoDi/SPEI
### Base de Datos
**Archivo:** `database/schemas/14-codi-spei.sql`
| Tabla | Descripcion |
|-------|-------------|
| virtual_accounts | Cuentas CLABE virtuales |
| codi_transactions | Transacciones CoDi |
| spei_transactions | Transacciones SPEI |
| payment_config | Configuracion por tenant |
**Funciones:**
- `generate_codi_reference()` - Referencia unica CoDi
- `get_codi_spei_summary()` - Resumen de pagos
### Backend NestJS
**Modulo:** `apps/backend/src/modules/codi-spei/`
| Archivo | Descripcion |
|---------|-------------|
| virtual-account.entity.ts | Entidad cuenta virtual |
| codi-transaction.entity.ts | Entidad transaccion CoDi |
| spei-transaction.entity.ts | Entidad transaccion SPEI |
| codi-spei.service.ts | Logica de negocio |
| codi-spei.controller.ts | Endpoints API |
| codi-spei.module.ts | Configuracion modulo |
**Endpoints:**
- POST `/v1/codi/generate-qr`
- GET `/v1/codi/status/:id`
- GET `/v1/codi/transactions`
- POST `/v1/codi/webhook`
- GET `/v1/spei/clabe`
- POST `/v1/spei/create-clabe`
- GET `/v1/spei/transactions`
- POST `/v1/spei/webhook`
- GET `/v1/payments/summary`
### Frontend React
**Componentes:** `apps/frontend/src/components/payments/`
| Componente | Descripcion |
|------------|-------------|
| CodiQR.tsx | Generador y display de QR CoDi |
| ClabeDisplay.tsx | Display de CLABE virtual |
**API:** `apps/frontend/src/lib/api.ts` - `codiSpeiApi`
**Nota:** Requiere integracion con proveedor (STP, Arcus, Conekta, etc.)
---
## MCH-026: MULTI-IDIOMA LATAM
### Configuracion i18n
**Archivo:** `apps/frontend/src/lib/i18n.ts`
| Funcion | Descripcion |
|---------|-------------|
| formatCurrency() | Formato de moneda por locale |
| formatDate() | Formato de fecha por locale |
| formatDateTime() | Formato de fecha/hora |
### Traducciones
**Directorio:** `apps/frontend/src/locales/`
| Locale | Pais | Archivos |
|--------|------|----------|
| es-MX | Mexico | Base completa |
| es-CO | Colombia | Override de terminos |
| es-AR | Argentina | Override de terminos |
| pt-BR | Brasil | Traduccion completa |
### Categorias de Traduccion
- common: Textos comunes
- nav: Navegacion
- auth: Autenticacion
- dashboard: Panel principal
- products: Productos
- orders: Pedidos
- customers: Clientes
- fiado: Creditos/Fiado
- inventory: Inventario
- referrals: Referidos
- settings: Configuracion
- payments: Pagos
- errors: Mensajes de error
- businessTypes: Tipos de negocio
---
## RESUMEN DE ARCHIVOS
### Archivos Creados
| Categoria | Cantidad |
|-----------|----------|
| SQL Schemas | 2 |
| Entities | 6 |
| Services | 2 |
| Controllers | 2 |
| Modules | 2 |
| DTOs | 2 |
| React Pages | 1 |
| React Components | 2 |
| Locales | 4 |
| Lib/Utils | 1 |
| **Total** | **24** |
### Archivos Modificados
| Archivo | Cambio |
|---------|--------|
| app.module.ts | +2 modulos |
| api.ts | +2 APIs |
| App.tsx | +1 ruta |
| Layout.tsx | +1 nav item |
| MCH-023.md | Estado → Completado |
| MCH-024.md | Estado → Completado (Base) |
| MCH-026.md | Estado → Completado (Base) |
| PROXIMA-ACCION.md | Sprint 7, metricas |
---
## DEPENDENCIAS EXTERNAS PENDIENTES
| Epica | Dependencia | Proveedor |
|-------|-------------|-----------|
| MCH-024 | CoDi/SPEI API | STP, Arcus, Conekta |
| MCH-025 | Native Widgets | iOS (WidgetKit), Android (Glance) |
| MCH-027 | PAC Facturacion | Facturapi, SW Sapien |
---
## METRICAS
| Metrica | Antes | Despues |
|---------|-------|---------|
| Epicas completadas | 22/28 | 25/28 |
| Modulos backend | 12 | 14 |
| Paginas frontend | 9 | 10 |
| Schemas SQL | 12 | 14 |
| Progreso general | 79% | 89% |
---
**Autor:** Agente Orquestador
**Version:** 1.0.0