How tonao1/vtpaths works
VTPaths is a campus accessibility web app: students choose endpoints and accessibility preferences, receive a step-free route, and can report barriers that trigger rerouting on open clients. The laptop workflow loads campus geometry, snaps locations to the route network, computes and displays directions, while a separate phone form submits reports without the map. Reports are shared through Supabase realtime. The map and place search use Mapbox. Sampled source confirms the routing and map responsibilities; the report persistence and phone form internals were not sampled, so their detailed wiring is limited to the README and visible imports.
Main entry points: App.tsx Route orchestrator · reports.ts Report service · Map.tsx Campus map · graph.ts Network builder
Components 20
Application
- Route selection
src/main.tsx - Route orchestrator
src/App.tsx - Endpoint controls
src/components/Controls.tsx - Campus map
src/components/Map.tsx - Route directions
src/components/Directions.tsx - Live alerts
src/components/AlertPanel.tsx
Accessible routing
- Campus path data
src/data/campus.geojson - Network builder
src/lib/graph.ts - Network snapping
src/lib/nearest.ts - Route solver
src/lib/route.ts - Distance and steps
src/lib/directions.ts
Barrier reports
- Phone report form
src/components/ReportForm.tsx - Map report form
src/components/ReportPopover.tsx - Report expiry
src/lib/expiry.ts - Report service
src/lib/reports.ts
External services
- Supabase client
src/lib/supabase.ts - Reports database
supabase/schema.sql - Place search
src/lib/geocode.ts
Other components
- Student
- Mapbox
Connections 28
- Student → Route selection: opens app
- Route selection → Route orchestrator: renders route view
- Route selection → Phone report form: renders report view
- Route orchestrator → Campus path data: fetches geometry
- Route orchestrator → Network builder: builds network
- Campus path data → Network builder: provides geometry
- Route orchestrator → Endpoint controls: renders controls
- Endpoint controls → Place search: searches places
- Place search → Mapbox: queries geocoder
- Endpoint controls → Network snapping: snaps place
- Route orchestrator → Network snapping: snaps location
- Route orchestrator → Route solver: solves route
- Route orchestrator → Distance and steps: formats route
- Route orchestrator → Campus map: supplies network and route
- Campus map → Mapbox: renders map
- Route orchestrator → Route directions: renders directions
- Route orchestrator → Live alerts: renders active reports
- Campus map → Network snapping: finds clicked edge
- Campus map → Map report form: selects edge
- Map report form → Report service: submits report
- Phone report form → Report service: submits report
- Route orchestrator → Report service: subscribes and resets
- Report service → Supabase client: uses client
- Supabase client → Reports database: reads and writes
- Report service → Report expiry: expires reports
- Report service → Route orchestrator: delivers updates
- Route orchestrator → Network builder: applies active reports
- Network builder → Route solver: provides weighted network