erp-transportistas-v2/PROJECT-STATUS.md
Adrian Flores Cortes 6ed7f9e2ec [BACKUP] Pre-restructure workspace backup 2026-01-29
- Updated docs and inventory files
- Added new architecture docs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 17:35:54 -06:00

345 lines
14 KiB
Markdown

# PROJECT-STATUS.md - ERP Transportistas
**Proyecto:** erp-transportistas
**Tipo:** CONSUMER (Vertical ERP)
**Version:** 1.0.0
**Actualizado:** 2026-01-27
---
## Estado General
| Metrica | Valor | Descripcion |
|---------|-------|-------------|
| **Progreso General** | 65% | Documentacion completa, backend 60%, frontend 20%, mobile 80% |
| **DDL** | 100% | 8 archivos DDL completos (01-08) + 2 nuevos (03a, 09) |
| **Backend** | 60% | GPS (5) + Dispatch (7) + Offline (1) + WhatsApp (servicios) |
| **Frontend** | 20% | Dashboard Despacho + Tracking components |
| **Mobile** | 80% | App Expo completa con offline, GPS, sync |
| **Documentacion Funcional** | 100% | 18 modulos especificados con US |
| **Documentacion Tecnica** | 100% | Arquitectura, RBAC, KPIs, matrices |
| **Tests** | 5 archivos | ~85 casos de test para servicios core |
---
## Fase Actual: Implementacion Backend
### Documentacion Completada (2026-01-27)
#### Fase 2: Especificacion Modulos Criticos (P0)
- [x] MAI-002 Clientes y Tarifas (18 SP, 3 US)
- [x] MAI-003 Ordenes de Transporte (18 SP, 3 US)
- [x] MAI-004 Planeacion TMS (18 SP, 3 US)
- [x] MAI-005 Despacho (18 SP, 3 US)
- [x] MAI-006 Tracking (18 SP, 3 US)
- [x] MAI-007 POD y Cierre (18 SP, 3 US)
- [x] MAI-009 Facturacion Transporte (21 SP, 3 US)
- [x] MAI-010 Liquidaciones (18 SP, 3 US)
- [x] MAI-011 Gestion de Flota (18 SP, 3 US)
- [x] MAE-016 Carta Porte CFDI (18 SP, 3 US)
#### Fase 3: Especificacion Modulos Secundarios (P1/P2/P3)
- [x] MAI-008 Incidencias (18 SP, 3 US)
- [x] MAI-012 Combustible y Gastos (18 SP, 3 US)
- [x] MAI-013 Mantenimiento Flota (18 SP, 3 US)
- [x] MAI-014 Carriers (18 SP, 3 US)
- [x] MAI-015 Portal Cliente (18 SP, 3 US)
- [x] MAE-017 HOS y Bitacora (16 SP, 3 US)
- [x] MAE-018 Reportes y KPIs (18 SP, 3 US)
#### Fase 4: Arquitectura y Flujos
- [x] FLUJO-PRINCIPAL-TRANSPORTE.md (8 fases E2E)
- [x] INTEGRACIONES-EXTERNAS.md (GPS, PAC, Mapas, WhatsApp)
- [x] MATRIZ-RBAC-TRANSPORTISTAS.yml (16 roles, permisos por modulo)
- [x] ESPECIFICACION-KPIS.yml (17 KPIs con formulas)
#### Fase 5: Matrices de Trazabilidad
- [x] MATRIZ-RF-GENERICOS-GIRO.yml (78 RFs mapeados)
- [x] MATRIZ-RF-GIRO-MODULOS.yml (RF a 20 modulos)
- [x] MATRIZ-MODULOS-US.yml (54 US, 325 SP)
- [x] MATRIZ-DDL-RF.yml (58 tablas a RFs)
### DDL Completado (Sesion anterior)
- [x] DDL completo schemas 01-08 (~2,976 lineas SQL)
- 01-transport: OT, embarques, viajes, POD, incidencias
- 02-fleet: unidades, remolques, operadores, documentos
- 03-tracking: posiciones GPS, eventos, geocercas, alertas
- 04-fuel: cargas combustible, peajes, gastos, anticipos
- 05-maintenance: planes, programacion, ordenes trabajo
- 06-carriers: carriers, documentos, scorecard
- 07-billing: lanes, tarifas, recargos, facturas
- 08-compliance: carta porte CFDI 3.1, HOS, inspecciones
### Completado - Backend (TASK-006)
- [x] 238 entities copiadas y adaptadas de erp-core
- [x] 105 services implementados (81 base + 24 nuevos)
- [x] Build TypeScript limpio (npm run build ✅)
- [x] 5 archivos de tests creados (~85 casos)
**Servicios Implementados (TASK-2026-01-27-006):**
- Wave2: CartaPorteService, RolesService, PermissionsService, TarifasService, LanesService
- P3 combustible-gastos: CargaCombustible, CrucePeaje, GastoViaje, AnticipoViatico, ControlRendimiento
- P3 hr: Employees, Departments, Puestos, Contracts, LeaveTypes, LeaveAllocations, Leaves
- P3 reports: ReportDefinition, ReportExecution, ReportSchedule, Dashboard, KpiSnapshot, CustomReport, DataModel
### Completado - TASK-007 Sprints (2026-01-28)
**Sprint S1 - Módulo GPS Backend:**
- [x] 14 archivos TypeScript (entities, services, controllers)
- [x] 1 archivo DDL (03a-gps-devices-ddl.sql)
- [x] Entities: DispositivoGps, PosicionGps, Geocerca, EventoGeocerca, SegmentoRuta
- [x] Services: DispositivoGpsService, PosicionGpsService, GeocercaService, SegmentoRutaService
- [x] Controllers: 4 controllers con 45+ endpoints
- [x] Build exitoso
**Sprint S2 - Módulo Dispatch Backend:**
- [x] 15 archivos TypeScript (entities, services, controllers)
- [x] 1 archivo DDL (09-dispatch-schema-ddl.sql)
- [x] Entities: TableroDespacho, EstadoUnidad, OperadorCertificacion, TurnoOperador, ReglaDespacho, ReglaEscalamiento, LogDespacho
- [x] Services: DispatchService, CertificacionService, TurnoService, RuleService
- [x] Controllers: 4 controllers con 52 endpoints
- [x] Build exitoso
**Sprint S3 - Integración GPS-Dispatch (2026-01-28):**
- [x] GpsDispatchIntegrationService (sincronización, sugerencias mejoradas)
- [x] GpsIntegrationController (4 endpoints: /api/despacho/gps/*)
- [x] Scoring mejorado con GPS en tiempo real
- [x] Build exitoso
**Sprint S4 - Módulo Offline Backend (2026-01-28):**
- [x] 7 archivos TypeScript (entity, service, controller, routes, index)
- [x] OfflineQueue entity con enums (TipoOperacionOffline, EstadoSincronizacion, PrioridadSync)
- [x] SyncService con cola de prioridad y manejo de conflictos
- [x] SyncController con 8 endpoints (/api/offline/*)
- [x] Estrategias de resolución: CLIENT_WINS, SERVER_WINS, MERGE
- [x] Registrado en TypeORM DataSource y app.ts
- [x] Build exitoso
**Sprint S5 - Módulo WhatsApp Backend (2026-01-28):**
- [x] 8 archivos TypeScript (templates, service, controller, routes, index)
- [x] 9 templates de transporte para Mexico (es_MX)
- [x] WhatsAppNotificationService con métodos específicos de transporte
- [x] WhatsAppController con 11 endpoints (/api/whatsapp/*)
- [x] Modo simulación para desarrollo (sin API key)
- [x] Validación de números telefónicos mexicanos
- [x] Rate limiting para envíos batch
- [x] Build exitoso
**Sprint S6 - Frontend Dashboard Despacho (2026-01-28):**
- [x] 10 archivos TypeScript (types, api, components, page)
- [x] DispatchMap - Mapa con unidades y viajes
- [x] ViajesPendientesPanel - Lista de viajes pendientes
- [x] UnidadStatusPanel - Panel detalle de unidad
- [x] AsignacionModal - Modal con sugerencias de asignación
- [x] DespachoPage - Página principal con layout completo
- [x] Integración con React Query para data fetching
- [x] Ruta /despacho agregada a App.tsx
- [ ] Build pendiente (errores pre-existentes en otros módulos)
**Sprint S7 - Frontend Tracking Map Components (2026-01-28):**
- [x] 5 archivos TypeScript (componentes, hooks)
- [x] ViajeTrackingView - Vista detallada de tracking de viaje
- [x] ETAProgressBar - Barra de progreso con milestones y ETA
- [x] EventTimeline - Timeline de eventos del viaje (17 tipos)
- [x] useTrackingWebSocket - Hook WebSocket con auto-reconnect
- [x] Helper hooks: useTrackingPositions, useViajeTracking
- [x] Exports actualizados en feature tracking
**Sprint S8 - Mobile App con Offline (2026-01-28):**
- [x] 18 archivos TypeScript (React Native/Expo)
- [x] Configuración Expo 50 con permisos iOS/Android
- [x] Services: api, OfflineStorage (SQLite), SyncService, LocationService
- [x] Stores: authStore, viajeStore (Zustand)
- [x] Screens: LoginScreen, ViajeActualScreen, ChecklistScreen, PODScreen
- [x] Cola de prioridad offline (ALTA/MEDIA/BAJA)
- [x] Background GPS tracking con TaskManager
- [x] Batch sync de posiciones GPS (50 por lote)
- [x] Captura de fotos con expo-camera
- [x] Estructura de navegación completa
### Pendiente - Backend
- [ ] Ejecutar DDL en BD (03a-gps-devices-ddl.sql, 09-dispatch-schema-ddl.sql)
- [x] Registrar rutas GPS, Dispatch, Offline y WhatsApp en app.ts (2026-01-28)
- [x] Entities registradas en TypeORM DataSource (2026-01-28)
- [ ] Tests unitarios para GPS, Dispatch, Offline y WhatsApp
### Pendiente - Frontend
- [ ] Estructura inicial React
- [ ] Dashboard ejecutivo
- [ ] Modulos operativos (OT, Tracking, POD)
---
## Modulos por Fase
### Fase 1 - MAI (Modulo Aplicacion Inicial) - 15 modulos
| Codigo | Nombre | DDL | Docs | Backend | Frontend | Estado |
|--------|--------|:---:|:----:|:-------:|:--------:|--------|
| MAI-001 | Fundamentos | - | - | ✅ | - | Heredado |
| MAI-002 | Clientes y Tarifas | ✅ | ✅ | - | - | Docs OK |
| MAI-003 | Ordenes de Transporte | ✅ | ✅ | - | - | Docs OK |
| MAI-004 | Planeacion TMS | ✅ | ✅ | - | - | Docs OK |
| MAI-005 | Despacho | ✅ | ✅ | ✅ | - | Backend S2 OK |
| MAI-006 | Tracking | ✅ | ✅ | ✅ | - | Backend S1 OK |
| MAI-007 | POD y Cierre | ✅ | ✅ | - | - | Docs OK |
| MAI-008 | Incidencias | ✅ | ✅ | - | - | Docs OK |
| MAI-009 | Facturacion Transporte | ✅ | ✅ | - | - | Docs OK |
| MAI-010 | Liquidaciones | ✅ | ✅ | - | - | Docs OK |
| MAI-011 | Gestion de Flota | ✅ | ✅ | - | - | Docs OK |
| MAI-012 | Combustible y Gastos | ✅ | ✅ | - | - | Docs OK |
| MAI-013 | Mantenimiento Flota | ✅ | ✅ | - | - | Docs OK |
| MAI-014 | Carriers (Terceros) | ✅ | ✅ | - | - | Docs OK |
| MAI-015 | Portal Cliente | ✅ | ✅ | - | - | Docs OK |
### Fase 2 - MAE (Modulo Aplicacion Extendido) - 3 modulos
| Codigo | Nombre | DDL | Docs | Backend | Frontend | Estado |
|--------|--------|:---:|:----:|:-------:|:--------:|--------|
| MAE-016 | Carta Porte CFDI | ✅ | ✅ | - | - | Docs OK |
| MAE-017 | HOS y Bitacora | ✅ | ✅ | - | - | Docs OK |
| MAE-018 | Reportes y KPIs | ✅ | ✅ | - | - | Docs OK |
### Fase 3 - MAA (Modulo Aplicacion Avanzado) - 2 modulos
| Codigo | Nombre | DDL | Docs | Backend | Frontend | Estado |
|--------|--------|:---:|:----:|:-------:|:--------:|--------|
| MAA-019 | Optimizacion Rutas | - | - | - | - | Futuro |
| MAA-020 | Integraciones EDI | - | - | - | - | Futuro |
---
## Estructura de Documentacion
```
docs/
├── 00-vision-general/
│ └── VISION.md
├── 02-definicion-modulos/
│ ├── MAI-002-clientes-tarifas/
│ │ ├── README.md
│ │ ├── REQUERIMIENTOS.md
│ │ ├── RESUMEN-EPICA.md
│ │ └── historias-usuario/ (3 US)
│ ├── MAI-003-ordenes-transporte/
│ ├── MAI-004-planeacion-tms/
│ ├── MAI-005-despacho/
│ ├── MAI-006-tracking/
│ ├── MAI-007-pod-cierre/
│ ├── MAI-008-incidencias/
│ ├── MAI-009-facturacion-transporte/
│ ├── MAI-010-liquidaciones/
│ ├── MAI-011-gestion-flota/
│ ├── MAI-012-combustible-gastos/
│ ├── MAI-013-mantenimiento-flota/
│ ├── MAI-014-carriers/
│ ├── MAI-015-portal-cliente/
│ ├── MAE-016-carta-porte-cfdi/
│ ├── MAE-017-hos-bitacora/
│ └── MAE-018-reportes-kpis/
├── 03-requerimientos/
│ └── REQ-GIRO-TRANSPORTISTA.md
├── 10-arquitectura/
│ └── FLUJO-PRINCIPAL-TRANSPORTE.md
├── 30-integraciones/
│ └── INTEGRACIONES-EXTERNAS.md
└── 40-estandares/
├── ESPECIFICACION-KPIS.yml
└── MATRIZ-RBAC-TRANSPORTISTAS.yml
orchestration/matrices/
├── MATRIZ-DDL-RF.yml
├── MATRIZ-MODULOS-US.yml
├── MATRIZ-RF-GENERICOS-GIRO.yml
└── MATRIZ-RF-GIRO-MODULOS.yml
```
---
## Metricas de Documentacion
| Metrica | Valor |
|---------|-------|
| Modulos especificados | 18/20 (90%) |
| User Stories | 54 |
| Story Points | 325 |
| Requerimientos funcionales | 78 |
| KPIs definidos | 17 |
| Roles RBAC | 16 |
| Tablas DDL documentadas | 58 |
| Integraciones externas | 6 categorias |
---
## Proximos Pasos (Priorizados)
1. **Revisar backend existente** - Validar entities copiadas
2. **Crear entities transporte** - Basadas en DDL
3. **Build y validacion** - npm run build, lint
4. **Implementar modulo MAI-003** - Ordenes de Transporte (critico)
5. **Implementar modulo MAI-006** - Tracking (critico)
6. **Implementar modulo MAE-016** - Carta Porte (compliance)
---
## Dependencias Criticas
| Modulo | Depende de | Prioridad |
|--------|------------|-----------|
| MAI-003 OT | MAI-002 Tarifas, MAI-011 Flota | Alta |
| MAI-004 Planeacion | MAI-003 OT | Alta |
| MAI-005 Despacho | MAI-004 Planeacion, MAI-011 Flota | Alta |
| MAI-006 Tracking | MAI-005 Despacho | Alta |
| MAI-007 POD | MAI-006 Tracking | Media |
| MAI-009 Facturacion | MAI-007 POD | Media |
| MAE-016 Carta Porte | MAI-009 Facturacion | Alta |
---
## Riesgos y Mitigaciones
| Riesgo | Impacto | Mitigacion |
|--------|---------|------------|
| Complejidad Carta Porte 3.1 | Alto | Iniciar MAE-016 temprano, PAC confiable |
| Integracion GPS multiple | Medio | Abstraccion de proveedores |
| Volumen de eventos tracking | Alto | Redis para buffer, batch processing |
| Offline en carretera | Alto | PWA con sincronizacion |
---
## Metricas de Avance
```
DDL: [████████████████████] 100%
Docs Func: [████████████████████] 100%
Docs Tecnica:[████████████████████] 100%
Backend: [████████████░░░░░░░░] 60%
Frontend: [████░░░░░░░░░░░░░░░░] 20%
Mobile: [████████████████░░░░] 80%
Tests: [██░░░░░░░░░░░░░░░░░░] 10%
```
---
## Historial de Actualizaciones
| Fecha | Descripcion |
|-------|-------------|
| 2026-01-28 | TASK-007 Sprint S8: Mobile App Expo completa (18 archivos, offline, GPS) |
| 2026-01-28 | TASK-007 Sprint S7: Frontend Tracking (5 archivos, WebSocket, timeline) |
| 2026-01-28 | TASK-007 Sprint S6: Frontend Dashboard Despacho (10 archivos) |
| 2026-01-28 | TASK-007 Sprint S5: WhatsApp Templates (8 TS nuevos, 9 templates) |
| 2026-01-28 | TASK-007 Sprint S4: Offline Sync (7 TS nuevos, cola prioridad) |
| 2026-01-28 | TASK-007 Sprint S3: Integración GPS-Dispatch (2 TS nuevos, 5 modificados) |
| 2026-01-28 | TASK-007 Sprint S1+S2: GPS Backend (14 TS) + Dispatch Backend (15 TS) |
| 2026-01-27 | TASK-006 P2+P3: 24 servicios nuevos, 5 tests, cobertura 34%→44% |
| 2026-01-27 | TASK-006 Wave2: 5 servicios críticos (CartaPorote, Roles, Permissions, Tarifas, Lanes) |
| 2026-01-27 | TASK-006 Purga: 2 archivos consolidados, documentación limpia |
| 2026-01-27 | Fase 2-5 documentacion: 18 modulos, 54 US, arquitectura, matrices |
| 2026-01-25 | DDL completo 8 schemas, entities base copiadas |
| 2026-01-24 | Creacion repositorio, estructura inicial |
---
*Actualizado: 2026-01-28 por Claude Code - TASK-007 Sprints S1-S8 Completados (60% backend, 20% frontend, 80% mobile)*