diff --git a/docs/src/03_system_scope_and_context.adoc b/docs/src/03_system_scope_and_context.adoc index 02d4f95..8e4b5b4 100644 --- a/docs/src/03_system_scope_and_context.adoc +++ b/docs/src/03_system_scope_and_context.adoc @@ -114,7 +114,7 @@ RestApiService ---> PlayerService: Retrieve/Modify player data [options="header",cols="1,2,2"] |=== |Component|Input/Output|Channel/Protocol -| RestApiService| External developer interactions| HTTP +| RestApiService| External developer interactions| HTTPS | Frontend| User interactions, game display| HTTPS | Database| User data, game history, questions| Specific database driver | WikiData| Data for question generation| HTTP diff --git a/docs/src/05_building_block_view.adoc b/docs/src/05_building_block_view.adoc index 43c9987..404f718 100644 --- a/docs/src/05_building_block_view.adoc +++ b/docs/src/05_building_block_view.adoc @@ -8,7 +8,7 @@ The Building Block View elaborates on the static structure of the system. It dec === Whitebox Overall System -This section provides an overview of the main components of the system and their interactions. The core of the system is the WIQ (QuestionGame) component, which interfaces with Users, Wikidata for question generation, a Database for persistence, and offers a REST API for External Developers. +This section provides an overview of the main components of the system and their interactions. The core of the system is the WIQ (WiqEs04bApplication) component, which interfaces with Users, Wikidata for question generation, a Database for persistence, and offers a REST API for External Developers. [plantuml,"Whitebox-overall",png] ---- @@ -17,11 +17,8 @@ This section provides an overview of the main components of the system and their actor User actor "External Developers" as Dev -component "[WIQ QuestionGame]" as WIQ { - component "[GameSession\nService]" as Logic - component "[PlayerService]" as UserMgmt - component "[QuestionService]" as QuestMgmt - component "[RestApi\nService]" as APIMgmt +component "com.uniovi.WiqEs04bApplication" as WIQ { + } database "Database" as DB [WikiData] as WikiData @@ -29,7 +26,7 @@ database "Database" as DB User --> WIQ : Interacts WIQ --> WikiData : Fetches data WIQ --> DB : Reads/Writes Data -Dev --> APIMgmt : Uses APIs +Dev --> WIQ : Uses APIs @enduml ---- @@ -47,7 +44,7 @@ The decomposition provides a clear, high-level overview of how the WIQ system in | User | Represents the end users of the WIQ application, interacting with the system to play games and view their history. -| WIQ (QuestionGame) +| WIQ (WiqEs04bApplication) | The central component that manages gameplay logic, user interactions, and integrates external data for question generation. | Wikidata @@ -78,23 +75,29 @@ For Level 2 of the Building Block View, the WIQ (QuestionGame) system is further @startuml !theme plain -package "WIQ QuestionGame" { - component "[GameSession\nService]" as Logic - component "[PlayerService]" as UserMgmt - component "[QuestionService]" as QuestMgmt - component "[RestApi\nService]" as APIMgmt - - UserMgmt -[hidden]-> Logic : <> - QuestMgmt -[hidden]-> Logic : <> - APIMgmt -[hidden]-> UserMgmt : <> - APIMgmt -[hidden]-> QuestMgmt : <> - - Logic ..> UserMgmt : Uses - Logic ..> QuestMgmt : Uses - UserMgmt ..> APIMgmt : Interfaces - QuestMgmt ..> APIMgmt : Interfaces +actor User +actor "External Developers" as Dev +component "com.uniovi.WiqEs04bApplication" { + package "com.uniovi.services" { + component "[GameSession\nService]" as Logic + component "[PlayerService]" as UserMgmt + component "[QuestionService]" as QuestMgmt + component "[RestApi\nService]" as APIMgmt + + UserMgmt -[hidden]-> Logic : <> + QuestMgmt -[hidden]-> Logic : <> + APIMgmt -[hidden]-> UserMgmt : <> + APIMgmt -[hidden]-> QuestMgmt : <> + + Logic ..> UserMgmt : Uses + Logic ..> QuestMgmt : Uses + UserMgmt ..> APIMgmt : Interfaces + QuestMgmt ..> APIMgmt : Interfaces + } } +User --> [com.uniovi.WiqEs04bApplication] : Interacts +Dev --> APIMgmt : Uses APIs @enduml ---- @@ -113,7 +116,7 @@ This level of documentation provides a structured and clear view of the system's @startuml !theme plain -package "API Management" { +package "com.uniovi.services.RestApiService" { interface "Player Information API" as PlayerAPI interface "Question Information API" as QuestAPI