From b7aa025e0ee57c15d0d5893402d18e22ef1ba969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fern=C3=A1ndez=20Noriega?= Date: Fri, 26 Apr 2024 13:11:06 +0200 Subject: [PATCH 1/7] Added general description of the project in introduction --- docs/src/01_introduction_and_goals.adoc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/src/01_introduction_and_goals.adoc b/docs/src/01_introduction_and_goals.adoc index d1c8833..9824bde 100644 --- a/docs/src/01_introduction_and_goals.adoc +++ b/docs/src/01_introduction_and_goals.adoc @@ -15,7 +15,12 @@ These include * quality goals for the architecture and * relevant stakeholders and their expectations **** -In these points, the main goals and functional requirements will be explained. In order to give context on how the webapp will be developed. + +This project's aim, in summary, is developing a public web application which has a game consisting on answering multiple choice questions +with one correct answer generated using Wikidata. For reference of the general mechanic, see the spanish quiz program 'Saber y Ganar' and +its game mode 'Descartando' + +Next, important basic aspects of the project will be described in order to give context on how the webapp will be developed. === Requirements Overview @@ -142,10 +147,9 @@ Table with role names, person names, and their expectations with respect to the [options="header",cols="1,2,2"] |=== -|Role/Name|Contact|Expectations +|Role/Name|Members|Expectations | *Students* | Andrés Cadenas Blanco, Christian Fernandez Noriega , Adrián González Guadalupe and Luis Salvador Ferrero | Are the ones in charge of web development. They will work together to make the application. | *Teachers* | Pablo González | In charge of supervising the student's teamwork, ensuring the work accomplishes the goals in the best way possible and helping in the development and solving doubts. -| *Bussineses* | RTve has hired software development company HappySw | Emphasis the SOLID part of the web and have a high understanding of this area | *Users* | Anyone that wants to use the web | They should be able to understand how to use and move around the web with ease |=== From 904bc7f08c2810219a173f8559da1cecebab3359 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fern=C3=A1ndez=20Noriega?= Date: Fri, 26 Apr 2024 13:41:56 +0200 Subject: [PATCH 2/7] Small adjustments to system scope and context --- docs/src/03_system_scope_and_context.adoc | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/docs/src/03_system_scope_and_context.adoc b/docs/src/03_system_scope_and_context.adoc index c74e0fe..b071f32 100644 --- a/docs/src/03_system_scope_and_context.adoc +++ b/docs/src/03_system_scope_and_context.adoc @@ -60,11 +60,11 @@ actor Player [WIQ Game] <> [UsersAPI] <> -[questionsAPI] <> +[QuestionsAPI] <> Player ..> (WIQ Game) : register/login -[questionsAPI] ..> Wikidata +[QuestionsAPI] ..> Wikidata [WIQ Game] ..> UsersAPI -[WIQ Game] ..> questionsAPI +[WIQ Game] ..> QuestionsAPI ---- [cols="e,2e" options="header"] @@ -80,12 +80,9 @@ Player ..> (WIQ Game) : register/login |Wikidata |External data repository from which questions are generated -|MongoDB -|Database for storing players' info and scores - |Users Info API |Manages data of users, both registration/login data and their past scores -|questions API +|Questions API |Manages generation of questions from Wikidata |=== \ No newline at end of file From 3dabd4255dbfdb9ded53895c8802d66434e064a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fern=C3=A1ndez=20Noriega?= Date: Fri, 26 Apr 2024 13:57:34 +0200 Subject: [PATCH 3/7] Removed mongodb from Question API white box as it does not use it --- docs/src/05_building_block_view.adoc | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/docs/src/05_building_block_view.adoc b/docs/src/05_building_block_view.adoc index 8c804f4..cdf5bc8 100644 --- a/docs/src/05_building_block_view.adoc +++ b/docs/src/05_building_block_view.adoc @@ -74,11 +74,11 @@ actor Player rectangle "WIQ Game (Level 1)"{ [WIQ Game GUI] [UsersAPI] -[questionsAPI] #BurlyWood +[QuestionsAPI] #BurlyWood Player ..> (WIQ Game GUI) -[questionsAPI] ..> Wikidata +[QuestionsAPI] ..> Wikidata [WIQ Game GUI] ..> UsersAPI -[WIQ Game GUI] ..> questionsAPI +[WIQ Game GUI] ..> QuestionsAPI } ---- @@ -153,7 +153,7 @@ Please prefer relevance over completeness. Specify important, surprising, risky, Leave out normal, simple, boring or standardized parts of your system **** -==== questions API (White Box) +==== Questions API (White Box) This is the Component that holds the functionallity for the main purpose of the webapp: Allowing players to see questions and answer them, getting a consequent score update. @@ -163,17 +163,15 @@ answer them, getting a consequent score update. ...describes the internal structure of _building block 1_. **** -[plantuml,"questions API (WhiteBox)",png] +[plantuml,"Questions API (WhiteBox)",png] ---- [Wikidata] [wikibase-sdk] <> [WIQ Game GUI] -database MongoDB rectangle "questionsAPI (Level 2)"{ [question-service] ..> [wikibase-sdk] [question-service] ..> [Wikidata] -[question-service] <--> MongoDB [WIQ Game GUI] ..> [question-service] : new question [WIQ Game GUI] ..> [question-service] : validate answer } @@ -195,7 +193,4 @@ Contained Black boxes:: |wikibase-sdk |External library that facilitates and simplifies the use of wikidata for the generation of questions. -|MongoDB -|Data about users and their scores is stored here - |=== \ No newline at end of file From 9d1ed48674682a9d24a1521c9069bca612a0c7e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fern=C3=A1ndez=20Noriega?= Date: Fri, 26 Apr 2024 14:06:03 +0200 Subject: [PATCH 4/7] Corrected placement of DB in runtime view playing diagram --- docs/src/06_runtime_view.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/06_runtime_view.adoc b/docs/src/06_runtime_view.adoc index 44d58d4..3264c92 100644 --- a/docs/src/06_runtime_view.adoc +++ b/docs/src/06_runtime_view.adoc @@ -39,9 +39,9 @@ GW -> WEBC: Send category statistics actor User entity WEBC as "Web Client" entity GW as "Gateway" -database DB as "MongoDB" entity QU as "Questions API" entity USERS as "Users Service API" +database DB as "MongoDB" User -> WEBC: Select a category to play WEBC -> GW: Get a question From f85bfc67c4f0cb984a35476e879f1d206d3e3a7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fern=C3=A1ndez=20Noriega?= Date: Fri, 26 Apr 2024 14:10:42 +0200 Subject: [PATCH 5/7] Removed mongodb relation from and to question-service in deployment view --- docs/src/07_deployment_view.adoc | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/src/07_deployment_view.adoc b/docs/src/07_deployment_view.adoc index 0a8008b..2951a29 100644 --- a/docs/src/07_deployment_view.adoc +++ b/docs/src/07_deployment_view.adoc @@ -121,9 +121,6 @@ MDB-[dashed]->AS US-[dashed]->MDB MDB-[dashed]->US - -QS-[dashed]->MDB -MDB-[dashed]->QS ---- The architecture of WIQ is based on microservices. Gateway service is the main entry point for the system. The web application is the main interface for the user to interact with the system. The user service is responsible for managing users. The authorization service is responsible for managing user permissions. The question service is responsible for generating questions. The mongo database is used to store data. From e14d9812c7b5a5a257f1e766c7b3ae3ca1a780bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fern=C3=A1ndez=20Noriega?= Date: Fri, 26 Apr 2024 14:25:29 +0200 Subject: [PATCH 6/7] Added CI/CD and our developing scheme to Cross cutting concepts --- docs/src/08_concepts.adoc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/src/08_concepts.adoc b/docs/src/08_concepts.adoc index 09a5d54..8ab2647 100644 --- a/docs/src/08_concepts.adoc +++ b/docs/src/08_concepts.adoc @@ -55,6 +55,15 @@ image::08-Crosscutting-Concepts-Structure-EN.png["Possible topics for crosscutti See https://docs.arc42.org/section-8/[Concepts] in the arc42 documentation. **** +=== _Continuous integration and development_ + +Our way of working with github is having one developing branch towards which all pull requests are done +and have to be reviewed by at least one team member. +Sonar Cloud is set up so we know the testing coverage and whether we pass the quality gate with every pull request. +Once there is enough change in the develop branch with respect to the main one and it has enough quality we can +merge them and make a release. + + === _Microservice based system_ Different business functionallities will be developed in different independent services. From ac6aafd04a8ad9d0e373370b47607523a1c28272 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fern=C3=A1ndez=20Noriega?= Date: Sat, 27 Apr 2024 22:22:19 +0200 Subject: [PATCH 7/7] Included MongoDB in business context linking it with UsersAPI --- docs/src/03_system_scope_and_context.adoc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/src/03_system_scope_and_context.adoc b/docs/src/03_system_scope_and_context.adoc index b071f32..7e495ec 100644 --- a/docs/src/03_system_scope_and_context.adoc +++ b/docs/src/03_system_scope_and_context.adoc @@ -57,6 +57,7 @@ the past games of all users in a ranking. ---- actor Player [Wikidata] <> +database MongoDB [WIQ Game] <> [UsersAPI] <> @@ -65,6 +66,7 @@ Player ..> (WIQ Game) : register/login [QuestionsAPI] ..> Wikidata [WIQ Game] ..> UsersAPI [WIQ Game] ..> QuestionsAPI +[UsersAPI] <--> MongoDB ---- [cols="e,2e" options="header"] @@ -85,4 +87,7 @@ Player ..> (WIQ Game) : register/login |Questions API |Manages generation of questions from Wikidata + +|MongoDB +|Database for storing players' info and scores |=== \ No newline at end of file