23 lines
739 B
Plaintext
23 lines
739 B
Plaintext
@startuml
|
|
actor User
|
|
actor Guardian
|
|
participant "SosScreen" as UI
|
|
participant "UserController" as UserController
|
|
participant "SosService" as SosService
|
|
database "PostgreSQL" as DB
|
|
participant "FcmService" as FCM
|
|
participant "LocationBroadcaster" as WS
|
|
participant "GuardianDashboard" as Dashboard
|
|
|
|
User -> UI : press SOS / voice command
|
|
UI -> UserController : POST /api/v1/user/sos
|
|
UserController -> SosService : triggerSos(userId, req)
|
|
SosService -> DB : save sos_events
|
|
SosService -> FCM : push high-priority SOS
|
|
SosService -> WS : /queue/sos/{guardianId}
|
|
WS -> Dashboard : realtime SOS alert
|
|
Guardian -> Dashboard : acknowledge
|
|
Dashboard -> SosService : PUT /guardian/sos/{id}/acknowledge
|
|
SosService -> DB : status ACKNOWLEDGED
|
|
@enduml
|