How muskaanpopat/pave-pilot-pro works
INFRASCAN combines authenticated hazard reporting, image-based pothole detection, spatial hazard exploration, analytics, and pothole-aware route planning. The main user journey is to sign in, submit or view detections, then request and compare safer routes; the React app presents those workflows while Flask exposes the documented API and coordinates inference and persistence. The graph preserves README capabilities, but sampled excerpts do not show every page-to-API call, so uncertain wiring is omitted.
Main entry points: app.py Flask API · App.tsx React Application · osrmRoutingService.ts Route Analysis Client · AuthContext.tsx Session Context
Components 22
Web and Mobile
- React Application
src/App.tsx - Sign In
src/pages/Auth.tsx - Dashboard
src/pages/Dashboard.tsx - Road Analytics
src/pages/Analytics.tsx - Detection Upload
src/pages/Detect.tsx - Hazard Map
src/pages/PotholeMap.tsx - Route Planner
src/pages/Routes.tsx - Android Host
android/app/src/main/java/com/infrascan/app/MainActivity.java - Session Context
src/contexts/AuthContext.tsx
Hazard Detection
- Map Data Service
src/lib/googleMapsService.ts - YOLO Inference
backend/predict.py - YOLO Weights
Safe Navigation
- Route Analysis Client
src/lib/osrmRoutingService.ts - OSRM Routing
- Nominatim Geocoder
- HERE Traffic
Backend Services
- Flask API
backend/app.py
Data and Identity
- MySQL Access
backend/database.py - MySQL Store
- Global Hazard Data
backend/map_dataset.py - Supabase Auth
src/integrations/supabase/client.ts
Other components
- Driver or Authority
Connections 29
- Driver or Authority → React Application: uses
- React Application → Sign In: routes to
- React Application → Dashboard: routes to
- React Application → Road Analytics: routes to
- React Application → Detection Upload: routes to
- React Application → Hazard Map: routes to
- React Application → Route Planner: routes to
- React Application → Session Context: provides session
- Android Host → React Application: hosts
- Sign In → Session Context: uses
- Session Context → Flask API: requests session
- Session Context → Supabase Auth: optional auth
- Detection Upload → Flask API: uploads detection
- Hazard Map → Map Data Service: loads hazards
- Map Data Service → Flask API: fetches potholes
- Dashboard → Flask API: requests metrics
- Road Analytics → Flask API: requests analytics
- Route Planner → Flask API: requests suggestions
- Route Planner → Route Analysis Client: analyzes routes
- Route Analysis Client → OSRM Routing: requests routes
- Route Analysis Client → Nominatim Geocoder: geocodes places
- Route Analysis Client → HERE Traffic: requests traffic
- Flask API → YOLO Inference: runs detection
- YOLO Inference → YOLO Weights: loads model
- Flask API → MySQL Access: reads and writes
- MySQL Access → MySQL Store: queries
- Flask API → Global Hazard Data: reads hazards
- Flask API → OSRM Routing: requests route data
- Flask API → Nominatim Geocoder: geocodes places