Skip to content

Commit

Permalink
Merge pull request #100 from Arquisoft/documentation_abel
Browse files Browse the repository at this point in the history
Finalizadas correcciones de la documentación
  • Loading branch information
marco-qg authored Apr 11, 2024
2 parents f829909 + 12fedf3 commit e2277e8
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 46 deletions.
51 changes: 24 additions & 27 deletions docs/src/05_building_block_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,12 @@ package "WIQ App" {
:User: -> [WebApp] : " Interacts "
[WebApp] <-> [Gateway Service] : Redirects Requests
[Gateway Service] <--down-> [Game Service] : Plays
[Gateway Service] <-- [Question Historic Service] : Loads data
[Gateway Service] <-- [User Statistics Service] : Loads data
[Gateway Service] <-- [Store Question Service] : Loads data
[Gateway Service] <-- [User Stats Service] : Loads data
[Gateway Service] <-> [UserAuth Service] : Logs in / Registers
[Game Service] -> [User Statistics Service] : Stores data
[Game Service] -> [User Stats Service] : Stores data
[Game Service] <-left-> [Questions Service] : Gets questions
[Questions Service] -up-> [Question Historic Service] : Stores data
[Questions Service] -up-> [Store Question Service] : Stores data
}
[Questions Service] <.left.> [WikiData] : " Gets data "
----
Expand Down Expand Up @@ -87,54 +87,51 @@ package "WIQ App"{
component "WebApp"
component "Gateway Service" as GatewayS
package "Game Service" {
component "Game Controller"
component "Game Service"
package "Store Question Service" as QHS{
component "Store-Q Service" as QHController
database "storedquestion" as QhDB
}
package "User Statistics Service" as USS {
component "Statistics Controller"
database "Database" as USDB
}
package "Questions Historic Service" as QHS{
component "Question Historic Controller" as QHController
database "Database" as QhDB
}
package "Questions Service"{
component "Wikidata Extractor"
component "Questions Generator"
database "Database" as QSDB
package "User Stats Service" as USS {
component "User Stats Service"
database " statsdb " as USDB
}
package "UserAuth Service" {
component "Auth Service"
component "User Service"
database "Database" as UADB
database "userdb" as UADB
}
package "Questions Service"{
component "Wikidata Extractor"
component "Questions Generator Service"
database "questions" as QSDB
}
}
User -right-> WebApp : Uses
WebApp <-right-> GatewayS: Redirects requests
GatewayS <--up--> "UserAuth Service" : "Handles user\nlogin/registry"
GatewayS <-down-> "Game Service" : "Handles user current game\n"
GatewayS <-down-> "Game Service" : "Handles user current game"
GatewayS <--up-- "QHS" : "\nReceives generated\nquestions"
GatewayS <--- "USS" : "Receives\t\t\t\nuser statistics\t\t\t"
"Game Service" <---> "Questions Service" : "Receives question petitions,\nsends questions\n\n"
"Game Service" ---> "USS" : "Sends user\t\nstatistics\t\t"
"Questions Service" -up-> "QHS" : "Sends\ngenerated\nquestions"
"Questions Service" -up-> "QHS" : " Sends\n generated\n questions"
"Wikidata" .up.> "Wikidata Extractor" : "Returns data"
"Wikidata" <.up. "Wikidata Extractor" : "Queries"
"Wikidata Extractor" --> QSDB
"Questions Generator" <-- QSDB
"Questions Generator" --> QSDB
"Questions Generator Service" <-- QSDB
"Questions Generator Service" --> QSDB
"QHController" --> QhDB
"QHController" <-- QhDB
"Statistics Controller" --> USDB
"Statistics Controller" <-- USDB
"User Stats Service" --> USDB
"User Stats Service" <-- USDB
"Auth Service" --> UADB
"Auth Service" <-- UADB
Expand Down
43 changes: 24 additions & 19 deletions docs/src/07_deployment_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -19,23 +19,26 @@ cloud "Azure Cloud\n" {
node "Gateway Container"{
node "Gateway Service"
}
node " User Container "{
node "User Container"{
node "User Service"
}
node " Auth Container "{
node "Auth Container"{
node "Auth Service"
}
node "\tGame Container\t"{
node "Game Generator Service"
node "Game Container"{
node "Game Service"
}
node "Questions History Container"{
node "Questions History Service"
node "Store Question Container"{
node "Store Question Service"
}
node "User Stats Container\t"{
node "User Stats Service"
}
node "Questions Generator Container"{
node "Questions Generator Service"
node "Question Generator Container"{
node "Question Generator Service"
}
node "Wikidata Extractor Container"{
node "Wikidata Extractor Service"
}
}
}
Expand All @@ -49,28 +52,30 @@ actor "User"
"Web App" -- "Gateway Service" : "port: 8000"
"Gateway Service" -- "Questions History Service" : "port: 8004 "
"Gateway Service" -- "Store Question Service" : "port: 8004"
"Gateway Service" -- "User Stats Service" : "port: 8003"
"Gateway Service" -up- "Auth Service" : "port: 8002 "
"Gateway Service" -up- "User Service" : "port: 8001"
"Gateway Service" -right- "Game Generator Service" : " port: 8005 "
"Gateway Service" -right- "Game Service" : " port: 8005 "
"Game Service" -- "User Stats Service" : "port: 8003"
"Game Service" -- "Question Generator Service" : " port: 8007"
"Game Generator Service" -- "User Stats Service" : "port: 8003"
"Game Generator Service" -- "Questions Generator Service" : " port: 8006"
"Question Generator Service" -- "Store Question Service" : "port: 8004"
"Question Generator Service" -- "Wikidata Extractor Service" : "port: 8008"
"Questions Generator Service" -- "Questions History Service" : "port: 8004"
"Questions Generator Service" -- "Wikidata" : "HTTPS"
"Wikidata Extractor Service" -- "Wikidata" : "HTTPS"
----

In addition to what is shown in the diagram, we will also use Graphana and Prometheus during the production stage as code monitoring systems.

Motivation::

Our goal is to run the application with Docker in a Azure VM.
Despite our initial goal being to run the application with Docker in an Azure VM, as we were running out of Azure Credits, we decided to switch to an Oracle VM.
However, during the production stage, each contributor will deploy the project locally.
Final product will be deployed in http://wiq.sytes.net/ (if that does not work, try http://20.77.37.219:3000/).
Final product will be deployed in http://wiq.sytes.net/ (if that does not work, try http://158.179.212.42:3000/).

Quality and/or Performance Features::
As for performance features, our current Azure MV has 2 GiB RAM and 1vCPU.
If that was not enough, we can always switch to an Oracle VM, which has better resources for free.
Each microservice has its own container as well as its own database in case of needing one.
Previously, we had an Azure VM with 2 GiB RAM and 1vCPU. When we decided to change to the Oracle VM, we also improve our resources, as it was free.
Finally, our Oracle VM has 24 GiB RAM and 4vCPU.
Each microservice has its own container. There are also two databases, one for the Question Generator and Wikidata Extractor services, and another one for the rest of the containers which may need it.

0 comments on commit e2277e8

Please sign in to comment.