36 lines
827 B
Plaintext
36 lines
827 B
Plaintext
@startuml
|
|
skinparam componentStyle rectangle
|
|
|
|
component "Flutter Mobile App" {
|
|
[Presentation Screens]
|
|
[ApiClient + Interceptors]
|
|
[TTS/STT/YOLO/Location Services]
|
|
[WebSocketService]
|
|
[CallService]
|
|
}
|
|
|
|
component "Spring Boot Backend" {
|
|
[Controllers]
|
|
[Services]
|
|
[Repositories]
|
|
[Security/JWT]
|
|
[WebSocket Broker]
|
|
}
|
|
|
|
database "PostgreSQL" as DB
|
|
cloud "Firebase FCM" as FCM
|
|
cloud "Agora RTC" as Agora
|
|
cloud "OpenStreetMap/OSRM" as Maps
|
|
|
|
[Presentation Screens] --> [ApiClient + Interceptors]
|
|
[ApiClient + Interceptors] --> [Controllers] : REST /api/v1
|
|
[WebSocketService] --> [WebSocket Broker] : STOMP /ws
|
|
[CallService] --> [Controllers] : /shared/call
|
|
[Controllers] --> [Services]
|
|
[Services] --> [Repositories]
|
|
[Repositories] --> DB
|
|
[Services] --> FCM
|
|
[CallService] --> Agora
|
|
[Presentation Screens] --> Maps
|
|
@enduml
|