Optimizador Logístico
Arquitectura Híbrida JavaFX + Web para resolver el problema de la última milla.
01. El Desafío Logístico
La gestión de envíos en pequeñas y medianas empresas suele ser caótica. Asignar paquetes a repartidores y definir rutas manualmente no solo es lento, sino ineficiente. El reto era crear un sistema centralizado que permitiera gestionar flota (CRUD de repartidores) y carga (paquetes), pero que fuera más allá de una simple base de datos: necesitaba inteligencia espacial.
02. El Puente JavaFX ↔ Web
Aquí radica la innovación técnica del proyecto. Java es excelente para lógica de negocio robusta en escritorio, pero las librerías de mapas nativas son limitadas. Decidí implementar una arquitectura híbrida.
Utilicé JavaFX WebView como un contenedor para ejecutar una interfaz moderna construida con HTML, CSS y JavaScript. Esto me permitió integrar la API de OpenStreetMap de forma nativa en la UI. Creé un puente de comunicación bidireccional: Java gestiona los datos pesados y Firebase, mientras inyecta coordenadas en el motor JS para renderizar las rutas en tiempo real.
03. Lógica de Enrutamiento
-
Cálculo de Ruta Óptima
El sistema no solo dibuja líneas. Al seleccionar un repartidor y un set de paquetes, el algoritmo consulta la API de OpenStreetMap para calcular la matriz de distancias y sugerir la ruta más corta (Shortest Path), optimizando tiempos de entrega y combustible.
-
Firebase Real-time Sync
La persistencia de datos se delegó a Firebase. Esto permite que la gestión del CRUD (altas, bajas y edición de repartidores/paquetes) sea instantánea y esté sincronizada, permitiendo escalar a múltiples despachadores operando simultáneamente.