Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chore/sergio q/docu #37

Merged
merged 10 commits into from
Feb 19, 2024
Binary file added docs/images/BusinessContext.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/ContainerDiagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 5 additions & 6 deletions docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@
"description": "Npm project just for the docs",
"main": "index.js",
"scripts": {
"build": "shx rm -rf build && asciidoctor -D build -a imagesdir=./images -r asciidoctor-diagram index.adoc && shx cp -R images build",
"deploy": "gh-pages -d build"
"build": "shx rm -rf build && asciidoctor -D build -a imagesdir=./images -r asciidoctor-diagram index.adoc && shx cp -R images build",
"deploy": "gh-pages -d build"
},
"dependencies": {
"gh-pages": "^3.2.3",
"shx": "^0.3.3"
"gh-pages": "^3.2.3",
"shx": "^0.3.3"
}
}

}
73 changes: 43 additions & 30 deletions docs/src/05_building_block_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ ifndef::imagesdir[:imagesdir: ../images]

== Building Block View


////
[role="arc42help"]
****
.Content
Expand Down Expand Up @@ -39,43 +41,37 @@ Thus it contains the white box description of selected building blocks of level
See https://docs.arc42.org/section-5/[Building Block View] in the arc42 documentation.

****
////


=== Whitebox Overall System

[role="arc42help"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this line please

****
Here you describe the decomposition of the overall system using the following white box template. It contains

* an overview diagram
* a motivation for the decomposition
* black box descriptions of the contained building blocks. For these we offer you alternatives:

** use _one_ table for a short and pragmatic overview of all contained building blocks and their interfaces
** use a list of black box descriptions of the building blocks according to the black box template (see below).
Depending on your choice of tool this list could be sub-chapters (in text files), sub-pages (in a Wiki) or nested elements (in a modeling tool).


* (optional:) important interfaces, that are not explained in the black box templates of a building block, but are very important for understanding the white box.
Since there are so many ways to specify interfaces why do not provide a specific template for them.
In the worst case you have to specify and describe syntax, semantics, protocols, error handling,
restrictions, versions, qualities, necessary compatibilities and many things more.
In the best case you will get away with examples or simple signatures.

This is the overall view of the application. The diagram is composed of 3 elements that will interact between each other.
****

_**<Overview Diagram>**_
_**Overview Diagram**_
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This must either be a header or be removed


image::BusinessContext.png["Overall view of the business context"]

Motivation::
This will be the general sketch of the elements interacting inside the application, including the external elements that will include the application.

_<text explanation>_
Contained Building Blocks::
****

* **Player:** This is the user that will be playing with our application. They will need tl be authenticated to be able to play.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They will need to be

* **WIQ Application:** This is the main application that will reproduce how the game will work. This part will be more detailed in the following parts.
* **WikiData API:** This is an external API, which will provide us with the information to produce the questions.

Contained Building Blocks::
_<Description of contained building block (black boxes)>_
****

Important Interfaces::
_<Description of important interfaces>_
This part will be more detailed later, since the structure of the different interfaces/classes has not been discussed by the team yet.


////
[role="arc42help"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this

****
Insert your explanations of black boxes from level 1:
Expand Down Expand Up @@ -143,28 +139,43 @@ _<black box template>_

==== <Name interface m>

////



=== Level 2

[role="arc42help"]
****
Here you can specify the inner structure of (some) building blocks from level 1 as white boxes.

You have to decide which building blocks of your system are important enough to justify such a detailed description.
Please prefer relevance over completeness. Specify important, surprising, risky, complex or volatile building blocks.
Leave out normal, simple, boring or standardized parts of your system
Here is an specification of the inner structure of the WIQ Application.
****

==== White Box _<building block 1>_
==== White Box _<WIQ Application>_
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the <> since they appear in the title.


image::ContainerDiagram.png["Container for the WIQ System"]

[role="arc42help"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this

****
...describes the internal structure of _building block 1_.
This diagram describes the internal organization of the WIQ Application.
****

_<white box template>_
//_<white box template>_
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove this


Motivation::
An inner view on the WIQ Application and its components inside. How the WIQ application will be structured inside and its main components.

Contained Building Blocks::
****
* **WIQ Client:** This is the connection between the user and the application. It will allow the users to play the WIQ game. This part will be developed in React with Typescript for its clear component structure, simplified code quality and separation of concerns.
* **WIQ REST API:** This is the part responsible for managing the users that log into the application, managing also the logic of the game and sending the request to the Wikidata API for the question generation. This part is going to be developed in Springboot due to its foundations on the Java programming language, which is the language that the developers find the easiest to develop in.
* **WIQ Database:** This is where the most important data is going to be stored. Such as, users questions and other game info that will be specified in the future. The database we chose to use is PostgreSQL, since it is compatible with Docker and it's an object-relational kind of database, which is easier for the developers to use. Another alternative would've been to use MySQL.
****

Important Interfaces::
This part will be more detailed later, since the structure of the different interfaces/classes has not been discussed by the team yet.


////
==== White Box _<building block 2>_


Expand Down Expand Up @@ -210,3 +221,5 @@ _<white box template>_
==== White Box <_building block y.1_>

_<white box template>_
////