How leo-cata/poo-isfpp works
This Java application implements a ride-hailing workflow: users interact through CLI or JavaFX, request and manage trips, and receive route calculations from a routing engine. The application context initializes shared services and loads initial data. The tree and excerpts also show persistence backends, trip simulation, and map visualization as distinct capabilities. Several connections are omitted or marked unverified because their implementing source was not excerpted; the README provides no capability details.
Main entry points: ContextoAplicacion.java Application context · GestorViajes.java Trip management · PanelClienteController.java Client panel · DAOFactory.java DAO factory and contracts
Components 21
User interfaces
- Command-line UI
src/main/java/md/ui/impl/cli/CommandLineInterface.java - Login screen
src/main/java/md/ui/impl/javafx/controller/LoginController.java - Client panel
src/main/java/md/ui/impl/javafx/controller/PanelClienteController.java - Driver panel
src/main/java/md/ui/impl/javafx/controller/PanelConductorController.java - Route map
src/main/java/md/ui/impl/javafx/map/VisualizadorRutasLeaflet.java
Application and trips
- Application context
src/main/java/md/aplicacion/ContextoAplicacion.java - Initial data loader
src/main/java/md/aplicacion/CargadorModelo.java - Trip management
src/main/java/md/logica/GestorViajes.java - Driver selection
src/main/java/md/logica/Movilidad.java - Trip lifecycle
src/main/java/md/modelo/Viaje.java
Routing and maps
- Trip route planning
src/main/java/md/logica/PlanificacionViajeService.java - Routing contract
src/main/java/md/rutas/api/PlanificadorRutas.java - GraphHopper engine
src/main/java/md/rutas/impl/GraphHopperPlanificador.java - Trip route results
src/main/java/md/rutas/api/RutasViaje.java - Calculated route
src/main/java/md/rutas/api/RutaCalculada.java
Persistence
- DAO factory and contracts
src/main/java/md/datos/dao/DAOFactory.java - Database persistence
src/main/java/md/datos/dao/bd - Text-file persistence
src/main/java/md/datos/dao/txt
Simulation
- Ride simulation
src/main/java/md/simulacion/Despachador.java - Simulation statistics
src/main/java/md/simulacion/Estadisticas.java
Other components
- User
Connections 23
- User → Command-line UI: uses
- User → Login screen: uses
- User → Client panel: uses
- User → Driver panel: uses
- Command-line UI → Application context: accesses
src/main/java/md/ui/impl/cli/CommandLineInterface.java - Login screen → Application context: accesses
src/main/java/md/ui/impl/javafx/controller/LoginController.java - Client panel → Application context: accesses
src/main/java/md/ui/impl/javafx/controller/PanelClienteController.java - Driver panel → Application context: accesses
src/main/java/md/ui/impl/javafx/controller/PanelConductorController.java - Client panel → Route map: renders routes
src/main/java/md/ui/impl/javafx/controller/PanelClienteController.java - Application context → Initial data loader: loads data
src/main/java/md/aplicacion/ContextoAplicacion.java - Application context → DAO factory and contracts: accepts persistence
src/main/java/md/aplicacion/ContextoAplicacion.java - Application context → Trip management: initializes
src/main/java/md/aplicacion/ContextoAplicacion.java - Trip management → Driver selection: selects driver
src/main/java/md/logica/GestorViajes.java - Trip management → Trip lifecycle: manages trips
src/main/java/md/logica/GestorViajes.java - DAO factory and contracts → Database persistence: selects backend
- DAO factory and contracts → Text-file persistence: selects backend
- Trip route planning → Routing contract: calculates legs
src/main/java/md/logica/PlanificacionViajeService.java - GraphHopper engine → Routing contract: implements
src/main/java/md/rutas/impl/GraphHopperPlanificador.java - Trip route planning → Trip route results: returns
src/main/java/md/logica/PlanificacionViajeService.java - Trip route results → Calculated route: groups routes
src/main/java/md/rutas/api/RutasViaje.java - Application context → GraphHopper engine: creates via factory
src/main/java/md/aplicacion/ContextoAplicacion.java - Ride simulation → Trip management: uses trip manager
src/main/java/md/simulacion/Despachador.java - Ride simulation → Simulation statistics: records statistics
src/main/java/md/simulacion/Despachador.java