How muhammad-wasay/ev-map works
VoltPath is an EV trip-planning decision-support application. A driver configures a trip in the React dashboard; the app uses the FastAPI planner when available, while its client mock can provide a fallback. The backend loads network and EV data, prepares the road graph, finds a route, projects it into charging stages, and optimizes stops and energy allocation before returning a trip plan. The product also exposes network, vehicle, saved-trip analytics, incremental route repair, and sensitivity analysis. The graph follows README-documented flows where source excerpts do not expose the full wiring.
Main entry points: pipeline.py Trip pipeline · App.jsx Dashboard app · api_client.py Network API adapter · server.py REST API
Components 20
Web application
- Dashboard app
frontend/src/App.jsx - Charging directory
frontend/src/ChargingNetworkView.jsx - Saved trip analytics
frontend/src/SavedTripsAnalyticsView.jsx - Vehicle telemetry
frontend/src/VehicleSpecsTelemetryView.jsx - Pixel card UI
frontend/src/components/PixelCard.jsx - Client mock planner
frontend/src/mockFallback.js
Planning service
- REST API
api/server.py - CLI runner
main.py - Route map dashboard
ui/dashboard.py
Trip planning engine
- Trip pipeline
src/pipeline.py - Trip domain models
src/models.py - Graph preparation
src/preprocessor.py - A* route search
src/astar_router.py - Charging corridor
src/corridor_bridge.py - Charging optimizer
src/dp_charger.py
Network data
- Network API adapter
src/api_client.py - Curated network data
data/highway_network.json
Other components
- EV driver
- OpenChargeMap
- OSRM routing
Connections 27
- EV driver → Dashboard app: plans trip
README.md - Dashboard app → REST API: requests plans
README.md - Dashboard app → Client mock planner: falls back to
frontend/src/App.jsx - Dashboard app → Charging directory: renders
frontend/src/App.jsx - Dashboard app → Saved trip analytics: renders
frontend/src/App.jsx - Dashboard app → Vehicle telemetry: renders
frontend/src/App.jsx - Charging directory → Pixel card UI: uses
frontend/src/ChargingNetworkView.jsx - Vehicle telemetry → Pixel card UI: uses
frontend/src/VehicleSpecsTelemetryView.jsx - REST API → Trip pipeline: runs planner
README.md - REST API → Network API adapter: loads network
api/server.py - REST API → Graph preparation: prepares graph
api/server.py - REST API → A* route search: repairs routes
api/server.py - Trip pipeline → Network API adapter: loads network
src/pipeline.py - Trip pipeline → Graph preparation: prepares graph
README.md - Trip pipeline → A* route search: finds route
README.md - Trip pipeline → Charging corridor: projects route
README.md - Trip pipeline → Charging optimizer: optimizes charging
README.md - Network API adapter → Curated network data: loads fallback
README.md - Network API adapter → OpenChargeMap: queries chargers
src/api_client.py - Network API adapter → OSRM routing: queries routes
src/api_client.py - Network API adapter → Trip domain models: builds models
src/api_client.py - Graph preparation → Trip domain models: uses models
src/preprocessor.py - A* route search → Trip domain models: uses models
src/astar_router.py - Charging corridor → Trip domain models: uses models
src/corridor_bridge.py - Charging optimizer → Trip domain models: uses models
src/dp_charger.py - CLI runner → Trip pipeline: runs planner
main.py - CLI runner → Route map dashboard: uses dashboard
main.py