EcoRoute es un sistema de gestión logística desarrollado bajo metodología ágil SCRUM, diseñado para optimizar rutas de transporte y reducir la huella de carbono mediante la asignación inteligente de vehículos según sus especificaciones técnicas y tipo de combustible.
Objetivo Central: Materializar los requerimientos de negocio centrados en la optimización de rutas y reducción de emisiones, incrementando los productos funcionales a través de entregas incrementales de valor.
- Framework: Astro 5.16.6 (SSR con output server)
- UI Framework: React 18.3.1
- Lenguaje: TypeScript 5.6.2
- Estilos: Tailwind CSS 4.1.18 (vía @tailwindcss/vite)
- Mapas: Leaflet 1.9.4
- Visualización: Recharts 2.12.7
- Iconos: Lucide React 0.446.0
- Deployment: Vercel (adapter @astrojs/vercel)
El sistema implementa una arquitectura modular basada en componentes React, con layouts Astro para la estructura base. La separación de responsabilidades se establece mediante:
- Componentes de Presentación: React components para lógica de UI
- Layouts: Astro layouts para estructura HTML y CSS global
- Páginas: Rutas definidas mediante file-based routing de Astro
- Tipos: Definiciones TypeScript centralizadas para garantizar integridad referencial
HU-01: Autenticación y Control de Acceso
- Sistema de login con validación de credenciales
- Gestión de sesión mediante sessionStorage
- Bloqueo de acceso no autorizado
HU-02: Gestión del Ciclo de Vida del Vehículo (CRUD)
- Registro de especificaciones técnicas (marca, modelo, patente)
- Selección de tipo de combustible (Diesel, Eléctrico, Híbrido)
- Gestión de consumo y estado operativo
- Arquitectura flexible para extensión de atributos
HU-04: Asignación Inteligente de Rutas
- Visualización de rutas en mapas interactivos
- Asociación de vehículos a pedidos según especificaciones
- Integración con sistema de geolocalización
HU-05: Cálculo de Huella de Carbono
- Algoritmo de cálculo de emisiones estimadas
- Visualización de impacto ambiental mediante gráficos
- Dashboard con métricas de sostenibilidad
ecoroute/
├── src/
│ ├── components/ # Componentes React (lógica de UI)
│ │ ├── Dashboard.tsx # Panel principal con métricas
│ │ ├── FleetManagement.tsx # CRUD de vehículos
│ │ ├── Login.tsx # Autenticación
│ │ ├── RouteAssignment.tsx # Asignación de rutas
│ │ └── Sidebar.tsx # Navegación lateral
│ ├── layouts/
│ │ └── Layout.astro # Layout base con CSS global
│ ├── pages/ # File-based routing
│ │ ├── index.astro # Ruta: / (Login)
│ │ ├── dashboard.astro # Ruta: /dashboard
│ │ ├── flota.astro # Ruta: /flota
│ │ └── rutas.astro # Ruta: /rutas
│ ├── styles/
│ │ └── global.css # Tailwind CSS y tema personalizado
│ └── types/
│ └── index.ts # Definiciones TypeScript
├── public/ # Assets estáticos
├── astro.config.mjs # Configuración Astro + Tailwind
├── tsconfig.json # Configuración TypeScript
└── package.json # Dependencias del proyecto
- Node.js 18+
- npm o yarn
npm installnpm run devLa aplicación estará disponible en http://localhost:4321
npm run buildnpm run previewUsuario Demo: papelucho
Contraseña: 123
Nota: Estas credenciales son para entorno de desarrollo. En producción se debe implementar autenticación segura con encriptación de contraseñas.
- Open-Meteo API: Integración para datos meteorológicos en tiempo real (Santiago, Chile)
- Leaflet: Sistema de mapas open-source para visualización de rutas
- Color Primario: Verde (#22c55e) - Representa sostenibilidad y ecología
- Color Secundario: Verde oscuro (#16a34a) - Acciones de confirmación
- Estados de Alerta: Naranjas y rojos para mantenimientos y alertas
- Tipografía: System UI (sans-serif) para legibilidad optimizada
- Diseño Centrado en el Usuario (UCD): Cada elemento responde a una Historia de Usuario
- Arquitectura de Información: Navegación intuitiva (máximo 2 clics para acciones críticas)
- Responsive Design: Optimizado para monitores de escritorio usados en logística
- Feedback Visual: Animaciones y transiciones para todas las interacciones
El proyecto mantiene trazabilidad estricta entre:
- Historias de Usuario → Implementación en código
- Requerimientos → Componentes React
- Diseño UX → Interfaces finales
Cada funcionalidad está vinculada a una HU específica, garantizando que no existan desarrollos aislados o injustificados.
El proyecto está configurado para deployment en Vercel mediante el adapter @astrojs/vercel con:
- Output mode:
server(SSR) - Web Analytics habilitado
- Build automático desde repositorio
Versión: 0.0.1
Estado: En desarrollo activo
Metodología: SCRUM (Sprints de 2 semanas)
El sistema se encuentra en fase de desarrollo masivo, con la infraestructura base (Sprint 1) completada y la lógica de negocio (Sprint 2) en implementación.
Proyecto: EcoRoute Chile SpA
Desarrollo: Bajo metodología ágil SCRUM
Framework: Astro + React + TypeScript