- Prefijo v2: MCH - TRACEABILITY-MASTER.yml creado - Listo para integracion como submodulo Workspace: v2.0.0 | SIMCO: v4.0.0
5.3 KiB
5.3 KiB
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 unicoget_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 CoDiget_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