- Updated docs and inventory files - Added new architecture docs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
14 KiB
14 KiB
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)
- MAI-002 Clientes y Tarifas (18 SP, 3 US)
- MAI-003 Ordenes de Transporte (18 SP, 3 US)
- MAI-004 Planeacion TMS (18 SP, 3 US)
- MAI-005 Despacho (18 SP, 3 US)
- MAI-006 Tracking (18 SP, 3 US)
- MAI-007 POD y Cierre (18 SP, 3 US)
- MAI-009 Facturacion Transporte (21 SP, 3 US)
- MAI-010 Liquidaciones (18 SP, 3 US)
- MAI-011 Gestion de Flota (18 SP, 3 US)
- MAE-016 Carta Porte CFDI (18 SP, 3 US)
Fase 3: Especificacion Modulos Secundarios (P1/P2/P3)
- MAI-008 Incidencias (18 SP, 3 US)
- MAI-012 Combustible y Gastos (18 SP, 3 US)
- MAI-013 Mantenimiento Flota (18 SP, 3 US)
- MAI-014 Carriers (18 SP, 3 US)
- MAI-015 Portal Cliente (18 SP, 3 US)
- MAE-017 HOS y Bitacora (16 SP, 3 US)
- MAE-018 Reportes y KPIs (18 SP, 3 US)
Fase 4: Arquitectura y Flujos
- FLUJO-PRINCIPAL-TRANSPORTE.md (8 fases E2E)
- INTEGRACIONES-EXTERNAS.md (GPS, PAC, Mapas, WhatsApp)
- MATRIZ-RBAC-TRANSPORTISTAS.yml (16 roles, permisos por modulo)
- ESPECIFICACION-KPIS.yml (17 KPIs con formulas)
Fase 5: Matrices de Trazabilidad
- MATRIZ-RF-GENERICOS-GIRO.yml (78 RFs mapeados)
- MATRIZ-RF-GIRO-MODULOS.yml (RF a 20 modulos)
- MATRIZ-MODULOS-US.yml (54 US, 325 SP)
- MATRIZ-DDL-RF.yml (58 tablas a RFs)
DDL Completado (Sesion anterior)
- 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)
- 238 entities copiadas y adaptadas de erp-core
- 105 services implementados (81 base + 24 nuevos)
- Build TypeScript limpio (npm run build ✅)
- 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:
- 14 archivos TypeScript (entities, services, controllers)
- 1 archivo DDL (03a-gps-devices-ddl.sql)
- Entities: DispositivoGps, PosicionGps, Geocerca, EventoGeocerca, SegmentoRuta
- Services: DispositivoGpsService, PosicionGpsService, GeocercaService, SegmentoRutaService
- Controllers: 4 controllers con 45+ endpoints
- Build exitoso
Sprint S2 - Módulo Dispatch Backend:
- 15 archivos TypeScript (entities, services, controllers)
- 1 archivo DDL (09-dispatch-schema-ddl.sql)
- Entities: TableroDespacho, EstadoUnidad, OperadorCertificacion, TurnoOperador, ReglaDespacho, ReglaEscalamiento, LogDespacho
- Services: DispatchService, CertificacionService, TurnoService, RuleService
- Controllers: 4 controllers con 52 endpoints
- Build exitoso
Sprint S3 - Integración GPS-Dispatch (2026-01-28):
- GpsDispatchIntegrationService (sincronización, sugerencias mejoradas)
- GpsIntegrationController (4 endpoints: /api/despacho/gps/*)
- Scoring mejorado con GPS en tiempo real
- Build exitoso
Sprint S4 - Módulo Offline Backend (2026-01-28):
- 7 archivos TypeScript (entity, service, controller, routes, index)
- OfflineQueue entity con enums (TipoOperacionOffline, EstadoSincronizacion, PrioridadSync)
- SyncService con cola de prioridad y manejo de conflictos
- SyncController con 8 endpoints (/api/offline/*)
- Estrategias de resolución: CLIENT_WINS, SERVER_WINS, MERGE
- Registrado en TypeORM DataSource y app.ts
- Build exitoso
Sprint S5 - Módulo WhatsApp Backend (2026-01-28):
- 8 archivos TypeScript (templates, service, controller, routes, index)
- 9 templates de transporte para Mexico (es_MX)
- WhatsAppNotificationService con métodos específicos de transporte
- WhatsAppController con 11 endpoints (/api/whatsapp/*)
- Modo simulación para desarrollo (sin API key)
- Validación de números telefónicos mexicanos
- Rate limiting para envíos batch
- Build exitoso
Sprint S6 - Frontend Dashboard Despacho (2026-01-28):
- 10 archivos TypeScript (types, api, components, page)
- DispatchMap - Mapa con unidades y viajes
- ViajesPendientesPanel - Lista de viajes pendientes
- UnidadStatusPanel - Panel detalle de unidad
- AsignacionModal - Modal con sugerencias de asignación
- DespachoPage - Página principal con layout completo
- Integración con React Query para data fetching
- Ruta /despacho agregada a App.tsx
- Build pendiente (errores pre-existentes en otros módulos)
Sprint S7 - Frontend Tracking Map Components (2026-01-28):
- 5 archivos TypeScript (componentes, hooks)
- ViajeTrackingView - Vista detallada de tracking de viaje
- ETAProgressBar - Barra de progreso con milestones y ETA
- EventTimeline - Timeline de eventos del viaje (17 tipos)
- useTrackingWebSocket - Hook WebSocket con auto-reconnect
- Helper hooks: useTrackingPositions, useViajeTracking
- Exports actualizados en feature tracking
Sprint S8 - Mobile App con Offline (2026-01-28):
- 18 archivos TypeScript (React Native/Expo)
- Configuración Expo 50 con permisos iOS/Android
- Services: api, OfflineStorage (SQLite), SyncService, LocationService
- Stores: authStore, viajeStore (Zustand)
- Screens: LoginScreen, ViajeActualScreen, ChecklistScreen, PODScreen
- Cola de prioridad offline (ALTA/MEDIA/BAJA)
- Background GPS tracking con TaskManager
- Batch sync de posiciones GPS (50 por lote)
- Captura de fotos con expo-camera
- Estructura de navegación completa
Pendiente - Backend
- Ejecutar DDL en BD (03a-gps-devices-ddl.sql, 09-dispatch-schema-ddl.sql)
- Registrar rutas GPS, Dispatch, Offline y WhatsApp en app.ts (2026-01-28)
- 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)
- Revisar backend existente - Validar entities copiadas
- Crear entities transporte - Basadas en DDL
- Build y validacion - npm run build, lint
- Implementar modulo MAI-003 - Ordenes de Transporte (critico)
- Implementar modulo MAI-006 - Tracking (critico)
- 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)