How sagarhnraj/rapid-regional-responder-rrr- works
RRR is an emergency-response platform whose primary workflow is: a citizen authenticates, submits a location-based SOS, the Spring backend finds eligible volunteers within the documented 1 km radius, persists the incident, notifies responders, and tracks acceptance/status through resolution. Volunteers onboard, maintain availability/location, receive alerts, and accept incidents. The UI also exposes history, profiles, maps, notifications, and administration. The graph emphasizes the sampled Java backend and the README-described PostgreSQL/WebSocket integrations; some controller and frontend relationships are inferred only from documented capabilities.
Components 24
Client Experience
- Citizen App
frontend/src/App.tsx - SOS Controls
frontend/src/components/sos/SOSButton.tsx - Volunteer Dashboard
frontend/src/components/volunteer/VolunteerDashboard.tsx - Live Map
frontend/src/components/map/InteractiveMap.tsx - API Client
frontend/src/services/api.ts - Notification Hooks
frontend/src/hooks/useNotifications.ts
API Boundary
- Auth Controller
backend/src/main/java/com/rrr/controller/AuthController.java - SOS Controller
backend/src/main/java/com/rrr/controller/SOSController.java - Volunteer Controller
backend/src/main/java/com/rrr/controller/VolunteerController.java - Citizen Controller
backend/src/main/java/com/rrr/controller/CitizenController.java - Admin Controller
backend/src/main/java/com/rrr/controller/AdminController.java
Response Domain
- Authentication Service
backend/src/main/java/com/rrr/service/AuthService.java - SOS Orchestrator
backend/src/main/java/com/rrr/service/SOSService.java - Volunteer Service
backend/src/main/java/com/rrr/service/VolunteerService.java
Security Realtime
- Notification Service
backend/src/main/java/com/rrr/service/NotificationService.java - JWT Security
backend/src/main/java/com/rrr/security/JwtAuthenticationFilter.java - WebSocket Gateway
backend/src/main/java/com/rrr/config/WebSocketConfig.java
Persistence Integrations
- Data Repositories
backend/src/main/java/com/rrr/repository - PostgreSQL Store
Other components
- Citizen
- Volunteer
- Google Identity
- OpenStreetMap
- Browser Notifications
Connections 28
- Citizen → Citizen App: uses
- Volunteer → Volunteer Dashboard: uses
- SOS Controls → Citizen App: submits SOS
- Citizen App → API Client: requests API
- Volunteer Dashboard → API Client: requests API
- API Client → Auth Controller: calls auth
- API Client → SOS Controller: calls SOS
- API Client → Volunteer Controller: calls volunteer
- API Client → Citizen Controller: calls citizen
- API Client → Admin Controller: calls admin
- Auth Controller → Authentication Service: delegates auth
- SOS Controller → SOS Orchestrator: delegates SOS
- Volunteer Controller → Volunteer Service: delegates volunteer
- Authentication Service → Google Identity: verifies identity
- Authentication Service → Data Repositories: stores accounts
- Authentication Service → JWT Security: creates tokens
- SOS Orchestrator → Data Repositories: queries radius
- SOS Orchestrator → Data Repositories: stores incident
- SOS Orchestrator → Notification Service: sends alerts
- Volunteer Service → SOS Orchestrator: loads emergencies
- Volunteer Service → Data Repositories: stores availability
- Notification Service → Data Repositories: stores notifications
- Notification Service → WebSocket Gateway: publishes updates
- JWT Security → Data Repositories: loads users
- Data Repositories → PostgreSQL Store: reads writes
- WebSocket Gateway → API Client: streams updates
- Live Map → OpenStreetMap: renders map
- Notification Hooks → Browser Notifications: shows alerts