- Updated docs and inventory files - Added new architecture docs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
345 lines
14 KiB
Markdown
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)*
|