erp-transportistas-v2/.claude/constants/CONSTANTS-PROJECT.yml
Adrian Flores Cortes 37ed0aa919 feat: Initial project structure for ERP Transportistas
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>
2026-01-25 09:53:54 -06:00

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
# ═══════════════════════════════════════════════════════════════════════════════