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