How shagunpathak1508-create/e_madad works
eMADAD is a Flutter emergency-response app connecting people requesting help with nearby volunteer responders. The documented user flow runs from permissions and home selection through SOS, emergency classification, and response actions; volunteers can sign up or manage requests from a dashboard. The README documents maps, nearby services, offline location history, SMS/calls, and Firestore-backed volunteer/request data. Dart source excerpts were not provided, so links among service modules are limited to relationships stated in the README; matching internals are represented without speculative wiring.
Main entry points: map_screen.dart Emergency map · firestore_service.dart Firestore access · home_screen.dart Home choices · emergency_response_screen.dart Response actions
Components 27
App experience
- App routing
lib/main.dart - Permissions
lib/screens/permissions_screen.dart - Home choices
lib/screens/home_screen.dart
Emergency response
- SOS trigger
lib/screens/sos_screen.dart - Emergency type
lib/screens/emergency_type_screen.dart - Response actions
lib/screens/emergency_response_screen.dart - Emergency data
lib/models/emergency_model.dart - Emergency messaging
lib/services/sms_service.dart
Volunteer network
- Volunteer matches
lib/screens/volunteer_match_screen.dart - Volunteer signup
lib/screens/volunteer_signup_screen.dart - Volunteer dashboard
lib/screens/volunteer_dashboard_screen.dart - Volunteer navigation
lib/screens/volunteer_map_screen.dart - Incoming request
lib/screens/volunteer_match_screen.dart - Volunteer data
lib/models/volunteer_model.dart - Request allocation
lib/services/allocation_service.dart - AI matching
lib/services/gemini_matching_service.dart
Location and data
- Emergency map
lib/screens/map_screen.dart - Firestore access
lib/services/firestore_service.dart - GPS location
lib/services/location_service.dart - Offline cache
lib/services/cache_service.dart - Connectivity status
lib/services/connectivity_service.dart - Nearby services
lib/services/nearby_service.dart
Other components
- App user
- Firebase Firestore
- Overpass API
- Phone and SMS
- OpenStreetMap
Connections 31
- App user → App routing: launches
- App routing → Permissions: routes to
- Permissions → Home choices: continues to
- App user → Home choices: chooses help
- Home choices → SOS trigger: requests help
- SOS trigger → Emergency type: confirms SOS
- Emergency type → Response actions: selects category
- Response actions → Emergency messaging: requests SMS
- Emergency messaging → Phone and SMS: opens call or SMS
- Response actions → Emergency map: opens map
- Response actions → Volunteer matches: seeks volunteers
- Home choices → Volunteer signup: starts volunteering
- Home choices → Volunteer dashboard: returns as volunteer
- Volunteer dashboard → Incoming request: handles requests
- Volunteer dashboard → Volunteer navigation: navigates to victim
- Volunteer matches → Request allocation: requests matches
- Request allocation → AI matching: uses matching
- Request allocation → Firestore access: reads volunteers
- Volunteer signup → Firestore access: saves volunteer
- Volunteer dashboard → Firestore access: reads and updates
- Firestore access → Firebase Firestore: reads and writes
- Firestore access → Volunteer data: maps volunteer data
- Firestore access → Emergency data: maps request data
- Emergency map → GPS location: uses GPS
- Volunteer navigation → GPS location: uses GPS
- GPS location → Offline cache: stores trail
- Emergency map → Offline cache: reads offline trail
- Connectivity status → Emergency map: provides status
- Emergency map → Nearby services: loads nearby places
- Nearby services → Overpass API: queries places
- Emergency map → OpenStreetMap: renders tiles