Skip to content

Commit

Permalink
Merge pull request #35 from Arquisoft/docParts3And5Update
Browse files Browse the repository at this point in the history
Doc 3 and 5 updated (Second try)
  • Loading branch information
ChristianFN2 authored Mar 3, 2024
2 parents aa26f46 + 43102e2 commit 1d50fbf
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 38 deletions.
13 changes: 4 additions & 9 deletions docs/src/03_system_scope_and_context.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,12 @@ The title of the table is the name of your system, the three columns contain the
[plantuml,"Context Diagram",png]
----
actor Player
actor Client
[Wikidata] <<external>>
[WIQ Game] <<system>>
[UsersAPI] <<internal>>
[GeneratedQuestionsAPI] <<internal>>
Player ..> (WIQ Game) : register/login
Client ..> (WIQ Game) : view data
[GeneratedQuestionsAPI] ..> Wikidata
[WIQ Game] ..> UsersAPI
[WIQ Game] ..> GeneratedQuestionsAPI
Expand All @@ -71,21 +69,18 @@ Client ..> (WIQ Game) : view data
|Player
|Plays the game and can consult past scores

|Client
|Can access the data about players and generated questions

|WIQ Game
|Main system in which generated questions are shown and can be answered by players

|Wikidata
|External data repository from which questions are generated using the WikidataAPI
|External data repository from which questions are generated

|MongoDB
|Database for storing generated questions, players' info and scores
|Database for storing players' info and scores

|Users Info API
|Allows clients to see the info about players stored in the database
|Manages data of users, both registration/login data and their past scores

|Generated Questions API
|Allows clients to see the info about generated questions stored in the database
|Manages generation of questions from Wikidata
|===
36 changes: 7 additions & 29 deletions docs/src/05_building_block_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -66,21 +66,16 @@ In the best case you will get away with examples or simple signatures.
[plantuml,"Whitebox overall system",png]
----
actor Player
actor Client
[Wikidata]
rectangle "WIQ Game (Level 1)"{
[WIQ Game GUI]
[Data View]
[UsersAPI]
[GeneratedQuestionsAPI] #BurlyWood
Player ..> (WIQ Game GUI)
Client ..> (Data View)
[GeneratedQuestionsAPI] ..> Wikidata
[WIQ Game GUI] ..> UsersAPI
[WIQ Game GUI] ..> GeneratedQuestionsAPI
[Data View] ..> UsersAPI
[Data View] ..> GeneratedQuestionsAPI
}
----

Expand All @@ -97,11 +92,8 @@ Contained Black boxes::
|WIQ Game GUI
|Main window in which questions are shown and can be answered by the player. The latter can also see past scores.

|Data View
|Access to data about users and generated questions for the client.

|Generated Questions API
|In charge of generating the questions and storing their data
|In charge of generating the questions

|UsersAPI
|In charge of keeping track of the data of the users (registration and scores)
Expand Down Expand Up @@ -168,18 +160,15 @@ Leave out normal, simple, boring or standardized parts of your system
[plantuml,"Generated Questions API (WhiteBox)",png]
----
[Wikidata]
[wikidatanpm] <<library>>
[wikibase-sdk] <<library>>
[WIQ Game GUI]
[Data View]
database MongoDB
rectangle "GenedQuestsAPI (Level 2)"{
[GenQuestsService] ..> wikidatanpm
[GenQuestsService] ..> wikibase-sdk
[GenQuestsService] ..> Wikidata
[GenQuestsService] <--> MongoDB
[WIQ Game GUI] ..> GenQuestsService : new Question
[Data View] ..> GenQuestsService : get Questions
}
----

Expand All @@ -194,23 +183,12 @@ Contained Black boxes::
|Name |Responsibility

|GenQuestsService
|Receives different petitions regarding the generation of questions or their retrieval and responds accordingly.
|Receives different petitions regarding the generation of questions and responds accordingly.

|wikidatanpm
|wikibase-sdk
|External library that facilitates and simplifies the use of wikidata for the generation of questions.

|MongoDB
|The data of the generated questions is stored here for showing it later to the client.

|===

Additional explanation of relationships::

The service is requested either the generation of a question or the retrieval of a subset (from WIQ Game GUI or
Data View respectively).

For the first case, it makes use of the library to generate the question, retrieves it
for the interface to use and stores the pertinent data in the DB.
|Data about users and their scores is stored here

In the other case, it just makes the query according to the client choosings and retrieves the data of the
questions for the Data View to show.
|===

0 comments on commit 1d50fbf

Please sign in to comment.