Vertical ERP for freight transport and logistics companies. Includes: - Project configuration (CLAUDE.md, SIMCO orchestration) - Backend submodule (NestJS 10.x) - Frontend submodule (React 18.x + Vite) - Database submodule (PostgreSQL 15 + PostGIS) - Requirements documentation (REQ-GIRO-TRANSPORTISTA.md) - 20 modules defined (MAI/MAE/MAA phases) Key features: - Transport orders (OT) management - Fleet and driver management - Real-time GPS tracking - POD (Proof of Delivery) - CFDI with Carta Porte 3.1 compliance - Fuel and maintenance control - Third-party carrier management Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
214 lines
10 KiB
YAML
214 lines
10 KiB
YAML
# ═══════════════════════════════════════════════════════════════════════════════
|
|
# CONSTANTES DEL PROYECTO: ERP Transportistas
|
|
# ═══════════════════════════════════════════════════════════════════════════════
|
|
|
|
version: "1.0.0"
|
|
project: "erp-transportistas"
|
|
updated: "2026-01-25"
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
# IDENTIFICACION
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
|
|
identificacion:
|
|
nombre: "ERP Transportistas"
|
|
slug: "erp-transportistas"
|
|
tipo: "CONSUMER"
|
|
estado: "desarrollo"
|
|
version: "1.0.0"
|
|
descripcion: "Vertical ERP para empresas de transporte de carga y logistica"
|
|
giro: "Autotransporte de carga / 3PL / Logistica"
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
# BASE DE DATOS
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
|
|
database:
|
|
nombre: "erp_transportistas_db"
|
|
tipo: "postgresql"
|
|
version: "15"
|
|
schemas:
|
|
- "public"
|
|
- "transport"
|
|
- "fleet"
|
|
- "tracking"
|
|
- "fuel"
|
|
- "maintenance"
|
|
- "carriers"
|
|
- "billing"
|
|
- "compliance"
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
# TECNOLOGIAS
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
|
|
stack:
|
|
backend:
|
|
framework: "nestjs"
|
|
version: "10.x"
|
|
language: "typescript"
|
|
frontend:
|
|
framework: "react"
|
|
version: "18.x"
|
|
language: "typescript"
|
|
database:
|
|
engine: "postgresql"
|
|
version: "15"
|
|
extensions:
|
|
- "postgis" # Para geolocalizacion de rutas/unidades
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
# HERENCIA
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
|
|
herencia:
|
|
tipo: "CONSUMER"
|
|
hereda_de:
|
|
- "workspace-v2/orchestration/"
|
|
- "projects/erp-core/"
|
|
exporta_a: []
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
# MODULOS ESPECIFICOS DEL GIRO
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
|
|
modulos_especificos:
|
|
# Fase 1 - MAI (Modulo Aplicacion Inicial)
|
|
- nombre: "clientes-tarifas"
|
|
codigo: "MAI-002"
|
|
descripcion: "Gestion de shippers, tarifas por lane, SLAs"
|
|
- nombre: "ordenes-transporte"
|
|
codigo: "MAI-003"
|
|
descripcion: "Ordenes de transporte con restricciones logisticas"
|
|
- nombre: "planeacion-tms"
|
|
codigo: "MAI-004"
|
|
descripcion: "Consolidacion, capacidad, asignacion de recursos"
|
|
- nombre: "despacho"
|
|
codigo: "MAI-005"
|
|
descripcion: "Checklists pre-viaje, sellos, evidencias, liberacion"
|
|
- nombre: "tracking"
|
|
codigo: "MAI-006"
|
|
descripcion: "GPS, eventos en tiempo real, alertas, ETA"
|
|
- nombre: "pod-cierre"
|
|
codigo: "MAI-007"
|
|
descripcion: "Proof of Delivery, tiempos reales, cierre operativo"
|
|
- nombre: "incidencias"
|
|
codigo: "MAI-008"
|
|
descripcion: "Reclamaciones, flujo de atencion, impacto economico"
|
|
- nombre: "facturacion-transporte"
|
|
codigo: "MAI-009"
|
|
descripcion: "Tarifas, recargos, detention, fuel surcharge"
|
|
- nombre: "liquidaciones"
|
|
codigo: "MAI-010"
|
|
descripcion: "Pago a operadores, viaticos, deducciones"
|
|
- nombre: "gestion-flota"
|
|
codigo: "MAI-011"
|
|
descripcion: "Unidades, remolques, operadores, documentacion"
|
|
- nombre: "combustible-gastos"
|
|
codigo: "MAI-012"
|
|
descripcion: "Control de combustible, peajes, gastos de viaje"
|
|
- nombre: "mantenimiento-flota"
|
|
codigo: "MAI-013"
|
|
descripcion: "Preventivo, correctivo, disponibilidad"
|
|
- nombre: "carriers-terceros"
|
|
codigo: "MAI-014"
|
|
descripcion: "Subcontratacion, documentos, scorecard"
|
|
- nombre: "portal-cliente"
|
|
codigo: "MAI-015"
|
|
descripcion: "Tracking, documentos, autoservicio"
|
|
|
|
# Fase 2 - MAE (Modulo Aplicacion Extendido)
|
|
- nombre: "carta-porte-cfdi"
|
|
codigo: "MAE-016"
|
|
descripcion: "CFDI con complemento Carta Porte 3.1"
|
|
- nombre: "hos-bitacora"
|
|
codigo: "MAE-017"
|
|
descripcion: "Horas de servicio, NOM-087, bitacora electronica"
|
|
- nombre: "reportes-kpis"
|
|
codigo: "MAE-018"
|
|
descripcion: "OTIF, costo/km, disponibilidad, scorecards"
|
|
|
|
# Fase 3 - MAA (Modulo Aplicacion Avanzado)
|
|
- nombre: "optimizacion-rutas"
|
|
codigo: "MAA-019"
|
|
descripcion: "Optimizacion de rutas, prediccion de ETA"
|
|
- nombre: "integraciones-edi"
|
|
codigo: "MAA-020"
|
|
descripcion: "API clientes, EDI, intercambio de datos"
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
# ENTIDADES PRINCIPALES
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
|
|
entidades_principales:
|
|
- nombre: "OrdenTransporte"
|
|
schema: "transport"
|
|
descripcion: "Solicitud de servicio de transporte"
|
|
- nombre: "Embarque"
|
|
schema: "transport"
|
|
descripcion: "Agrupacion logica de OTs para ejecucion"
|
|
- nombre: "Viaje"
|
|
schema: "transport"
|
|
descripcion: "Ejecucion operativa (unidad + operador + ruta)"
|
|
- nombre: "Unidad"
|
|
schema: "fleet"
|
|
descripcion: "Tractora, remolque, caja"
|
|
- nombre: "Operador"
|
|
schema: "fleet"
|
|
descripcion: "Conductor con licencias y skills"
|
|
- nombre: "Tarifa"
|
|
schema: "billing"
|
|
descripcion: "Precio por lane/servicio/equipo"
|
|
- nombre: "EventoTracking"
|
|
schema: "tracking"
|
|
descripcion: "Posicion GPS y eventos de viaje"
|
|
- nombre: "POD"
|
|
schema: "transport"
|
|
descripcion: "Proof of Delivery con evidencias"
|
|
- nombre: "CartaPorte"
|
|
schema: "compliance"
|
|
descripcion: "CFDI con complemento Carta Porte"
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
# VARIABLES DE ENTORNO REQUERIDAS
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
|
|
env_required:
|
|
- "DATABASE_URL"
|
|
- "JWT_SECRET"
|
|
- "REDIS_URL"
|
|
- "PAC_URL" # Proveedor de timbrado CFDI
|
|
- "PAC_USER"
|
|
- "PAC_PASSWORD"
|
|
- "GPS_PROVIDER_URL" # Proveedor de telematica
|
|
- "GPS_API_KEY"
|
|
- "MAPS_API_KEY" # Google Maps / HERE / similar
|
|
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
# INTEGRACIONES EXTERNAS
|
|
# ─────────────────────────────────────────────────────────────────────────────────
|
|
|
|
integraciones:
|
|
- nombre: "GPS/Telematica"
|
|
tipo: "api"
|
|
descripcion: "Recepcion de posiciones y eventos de unidades"
|
|
- nombre: "PAC (SAT)"
|
|
tipo: "api"
|
|
descripcion: "Timbrado CFDI con Carta Porte"
|
|
- nombre: "Mapas/Geocoding"
|
|
tipo: "api"
|
|
descripcion: "Calculo de distancias, geocodificacion, ETA"
|
|
- nombre: "WhatsApp/SMS"
|
|
tipo: "api"
|
|
descripcion: "Notificaciones a clientes y operadores"
|
|
- nombre: "Tarjetas Combustible"
|
|
tipo: "archivo"
|
|
descripcion: "Conciliacion de cargas de combustible"
|
|
- nombre: "TAG Peajes"
|
|
tipo: "archivo"
|
|
descripcion: "Conciliacion de cruces de casetas"
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════════
|
|
# FIN DE CONSTANTES
|
|
# ═══════════════════════════════════════════════════════════════════════════════
|