How awac8989/safe_solo works
SafeSolo is a cross-device emergency detection and rescue-coordination system: mobile and watch users generate safety signals or request help; the backend evaluates check-ins and incidents, coordinates responders and notifications, and exposes live operations to an admin portal. The graph preserves documented capabilities whose implementation is not in the sampled excerpts, but omits uncertain wiring for those features. Mobile and watch application source is absent from the supplied tree, so those initiating devices are represented as external actors.
Main entry points: watchRoutes.js Watch API · deadmanWorker.js Check-in monitor · adminPortalService.js Admin services · sosService.js SOS coordination
Components 29
User Edge
- SafeSolo mobile
- Galaxy Watch
- Watch API
backend/src/routes/watchRoutes.js - Realtime sockets
backend/src/sockets/socketServer.js - API entry
backend/src/routes/index.js
Emergency Response
- Community routes
backend/src/routes/communityRoutes.js - Hazard services
backend/src/services/hazardService.js - Emergency routes
backend/src/routes/emergencyRoutes.js - SOS coordination
backend/src/services/sosService.js - Alert channels
backend/src/services/smsService.js
Safety Services
- Check-in monitor
backend/src/workers/deadmanWorker.js - User controller
backend/src/controllers/userController.js - Identity service
backend/src/services/authService.js - Chat routes
backend/src/routes/chatRoutes.js - Chat controller
backend/src/controllers/chatController.js - Chat service
backend/src/services/chatService.js - Medical profiles
backend/src/services/medicalService.js - Live journeys
backend/src/services/journeyService.js - MongoDB
backend/src/config/database.js
Dispatch Operations
- Admin portal
web-admin/src/routes/index.tsx - Admin routes
backend/src/routes/adminPortalRoutes.js - Admin controller
backend/src/controllers/adminPortalController.js - Admin services
backend/src/services/adminPortalService.js - Incident records
backend/src/models/RescueIncident.js
Other components
- Mobile user
- Watch user
- Dispatcher
- Telegram
- SMS and voice gateways
Connections 29
- Mobile user → SafeSolo mobile: uses
- Watch user → Galaxy Watch: uses
- Dispatcher → Admin portal: operates
- Galaxy Watch → Watch API: sends telemetry
- Watch API → Realtime sockets: emits events
- Watch API → Galaxy Watch: queues commands
- SafeSolo mobile → API entry: calls API
- SafeSolo mobile → Watch API: pairs and polls
- SafeSolo mobile → Emergency routes: requests rescue
- SafeSolo mobile → Community routes: reports hazards
- Admin portal → Admin routes: calls API
- Admin routes → Admin controller: dispatches
- Admin controller → Admin services: calls
- Admin services → Incident records: reads and writes
- Community routes → Hazard services: calls
- Emergency routes → SOS coordination: initiates SOS
- Check-in monitor → MongoDB: reads check-ins
- Check-in monitor → SOS coordination: triggers SOS
- Check-in monitor → Telegram: sends reminders
- SOS coordination → Alert channels: dispatches alerts
- Alert channels → SMS and voice gateways: sends notifications
- Admin services → SMS and voice gateways: coordinates dispatch
- Chat routes → Chat controller: dispatches
- Chat controller → Chat service: calls
- Chat service → MongoDB: stores messages
- SafeSolo mobile → Identity service: authenticates
- SafeSolo mobile → User controller: manages check-ins
- SafeSolo mobile → Medical profiles: manages medical data
- SafeSolo mobile → Live journeys: shares journeys