How floch-16/cloud-emergency-response-bhopal works
PULSE is a municipal emergency CAD console for EMS and Fire dispatch. Operators report or triage an incident, the console classifies severity and selects an available matching unit, then tracks response, hospital assignment for medical calls, and resolution. Its React app coordinates live or offline data, mapping, simulated movement, and traffic-signal preemption. The README documents these capabilities; sampled source confirms key dispatch, routing, map, intake, and persistence behavior, but not every component’s wiring, so uncertain links are omitted.
Main entry points: App.jsx CAD coordinator · IncidentIntakeModal.jsx Incident intake · firebase.js Reactive data service · dispatchEngine.js Unit dispatch scoring
Components 23
Dispatch operations
- CAD coordinator
src/App.jsx
Operator console
- Incident intake
src/components/IncidentIntakeModal.jsx - Incident queue
src/components/IncidentQueue.jsx - Live map console
src/components/MapConsole.jsx - Unit roster
src/components/UnitRoster.jsx - Hospital roster
src/components/HospitalRoster.jsx - Operations header
src/components/TopBar.jsx - Future-work overview
src/components/FutureWorkModal.jsx
Dispatch logic
- Severity triage
src/logic/severityClassifier.js - Unit dispatch scoring
src/logic/dispatchEngine.js - Distance and ETA
src/logic/haversine.js - Hospital matching
src/logic/hospitalMatcher.js - Movement simulation
src/logic/movementSimulator.js - Road routing
src/logic/osrmRouting.js - Signal preemption
src/logic/trafficSignalPreemption.js
Data and integrations
- Reactive data service
src/services/firebase.js - Seed operational data
src/services/seedData.js - Firestore
- OSRM routing service
Photo classification
- Photo identification UI
src/components/IncidentIntakeModal.jsx - Photo classifier API
classifier/main.py - CLIP model
Other components
- Dispatcher
Connections 22
- Dispatcher → Incident intake: reports incident
- Dispatcher → Incident queue: reviews queue
- Incident intake → Severity triage: classifies narrative
- Incident intake → CAD coordinator: submits incident
- CAD coordinator → Reactive data service: subscribes and writes
- Reactive data service → Firestore: reads and writes
- Reactive data service → Seed operational data: loads seed data
- CAD coordinator → Unit dispatch scoring: selects unit
- Unit dispatch scoring → Distance and ETA: calculates distance and ETA
- CAD coordinator → Hospital matching: matches medical calls
- CAD coordinator → Road routing: requests route
- Road routing → OSRM routing service: fetches road geometry
- CAD coordinator → Movement simulation: advances units
- CAD coordinator → Signal preemption: evaluates signal override
- CAD coordinator → Incident queue: supplies incidents
- CAD coordinator → Live map console: supplies map state
- CAD coordinator → Unit roster: supplies units
- CAD coordinator → Hospital roster: supplies hospitals
- CAD coordinator → Operations header: supplies operations state
- Dispatcher → Photo identification UI: uploads incident photo
- Photo identification UI → Photo classifier API: requests classification
- Photo classifier API → CLIP model: runs inference