From ff6290fa5f78842a27d7a6befda1e8d59e15c19c Mon Sep 17 00:00:00 2001 From: uo289267 Date: Sat, 10 Feb 2024 13:04:25 +0100 Subject: [PATCH 01/33] Documentation first draft topic 3 --- docs/images/3-BusinessContext.drawio.svg | 4 ++++ docs/images/3-TechnicalContext.drawio.svg | 4 ++++ docs/src/03_system_scope_and_context.adoc | 25 +++++++++++++++++------ 3 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 docs/images/3-BusinessContext.drawio.svg create mode 100644 docs/images/3-TechnicalContext.drawio.svg diff --git a/docs/images/3-BusinessContext.drawio.svg b/docs/images/3-BusinessContext.drawio.svg new file mode 100644 index 00000000..5068a036 --- /dev/null +++ b/docs/images/3-BusinessContext.drawio.svg @@ -0,0 +1,4 @@ + + + +
User
WIQ
Wikidata API
interacts
requests
\ No newline at end of file diff --git a/docs/images/3-TechnicalContext.drawio.svg b/docs/images/3-TechnicalContext.drawio.svg new file mode 100644 index 00000000..c1ff1432 --- /dev/null +++ b/docs/images/3-TechnicalContext.drawio.svg @@ -0,0 +1,4 @@ + + + +
User
Microsoft Azure







WIQ
HTTPS/REST
Database
HTTPS
\ No newline at end of file diff --git a/docs/src/03_system_scope_and_context.adoc b/docs/src/03_system_scope_and_context.adoc index c528e907..d50a931b 100644 --- a/docs/src/03_system_scope_and_context.adoc +++ b/docs/src/03_system_scope_and_context.adoc @@ -47,14 +47,26 @@ Alternatively (or additionally) you can use a table. The title of the table is the name of your system, the three columns contain the name of the communication partner, the inputs, and the outputs. **** +image::3-BusinessContext.drawio.svg["Business context diagram"] -**** -**** +**Table for entities, inputs and outputs** +[options="header",cols="1,4,4"] +|=== +|Entity |Inputs | Outputs + +|*_WIQ_* +|Users interact with the web application through some graphical interface in order to play the game +|The questions will be presented to the user with a serious of answers where only one is correct and, once all questions have been answered, the results will be displayed +|*_Wikidata API_* +|Some part or topic related to the creation of a question +|Some concepts that will facilitate the creation of the question such as wrong answers +|=== === Technical Context [role="arc42help"] + **** .Contents Technical interfaces (channels and transmission media) linking your system to its environment. In addition a mapping of domain specific input/output to the channels, i.e. an explanation which I/O uses which channel. @@ -67,9 +79,10 @@ E.g. UML deployment diagram describing channels to neighboring systems, together with a mapping table showing the relationships between channels and input/output. **** +image::3-TechnicalContext.drawio.svg["Business context diagram"] +.User And Application interface + +The user will access the web application via the HTTPs protocol -**** - -**** +.Application and Database interface + +The database will be accessed through HTTPs protocol too -**** From 8369e3bc0f544691d219086bff65c9be9ec15677 Mon Sep 17 00:00:00 2001 From: jorge Date: Sat, 10 Feb 2024 18:15:32 +0100 Subject: [PATCH 02/33] Started the documentation for the introduction part --- docs/src/01_introduction_and_goals.adoc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/src/01_introduction_and_goals.adoc b/docs/src/01_introduction_and_goals.adoc index ddb2ae3d..705f2271 100644 --- a/docs/src/01_introduction_and_goals.adoc +++ b/docs/src/01_introduction_and_goals.adoc @@ -2,6 +2,7 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-introduction-and-goals]] == Introduction and Goals +The objective of the project is to develop an aplication similar to the Spanish TV game "Saber y Ganar", a trivia type game with numerous questions and answers. [role="arc42help"] **** @@ -16,6 +17,10 @@ These include **** === Requirements Overview +The application is prepared to handle plenty of situations, so it must be able to: + +* Show the question and all the answers to the users +* Tell the user if the chosen answer was the right one [role="arc42help"] **** From 5897b18021c0a80b0d76b43d598f01df6a3f8453 Mon Sep 17 00:00:00 2001 From: jorge Date: Sun, 11 Feb 2024 13:41:29 +0100 Subject: [PATCH 03/33] Detailed the Requirements Overview --- docs/src/01_introduction_and_goals.adoc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/src/01_introduction_and_goals.adoc b/docs/src/01_introduction_and_goals.adoc index 705f2271..51add9ce 100644 --- a/docs/src/01_introduction_and_goals.adoc +++ b/docs/src/01_introduction_and_goals.adoc @@ -17,10 +17,9 @@ These include **** === Requirements Overview -The application is prepared to handle plenty of situations, so it must be able to: - -* Show the question and all the answers to the users -* Tell the user if the chosen answer was the right one +The system will follow the functionality of the "Saber y Ganar" TV program, and so it will allow the users to select an answer between some options. +The questions and answers will be automatically generated using the WikiData API, that will also determine which of the answers is in fact the correct one. +The system will also store the historical data of the users and will be accesible through the web. [role="arc42help"] **** From e8fd2da0864e5a9986d8f02813d0023485f800e5 Mon Sep 17 00:00:00 2001 From: ErdemYabaci Date: Sun, 11 Feb 2024 13:52:58 +0100 Subject: [PATCH 04/33] Changes to the documentation topic 11 risks and technical debt. --- docs/src/11_technical_risks.adoc | 32 +++++++++++++++++++++++--------- package-lock.json | 6 ++++++ 2 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 package-lock.json diff --git a/docs/src/11_technical_risks.adoc b/docs/src/11_technical_risks.adoc index dc5575fc..a4f0f5cd 100644 --- a/docs/src/11_technical_risks.adoc +++ b/docs/src/11_technical_risks.adoc @@ -3,23 +3,37 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-technical-risks]] == Risks and Technical Debts - [role="arc42help"] **** .Contents A list of identified technical risks or technical debts, ordered by priority -.Motivation -“Risk management is project management for grown-ups” (Tim Lister, Atlantic Systems Guild.) - -This should be your motto for systematic detection and evaluation of risks and technical debts in the architecture, which will be needed by management stakeholders (e.g. project managers, product owners) as part of the overall risk analysis and measurement planning. - .Form List of risks and/or technical debts, probably including suggested measures to minimize, mitigate or avoid risks or reduce technical debts. +**** -.Further Information +In decision-making processes, we often face constraints. These constraints, known as risks and technical debt, are compromises made to achieve goals. Risk involves the possibility of not desired outcomes, while technical debt entails short-term solutions instead of long-term sustainability. Both are important considerations, as excessive acceptance can lead to future complications. -See https://docs.arc42.org/section-11/[Risks and Technical Debt] in the arc42 documentation. +### Risks -**** +There is the table of risks the team is taking for development purposes ordered by priority. + +.Risks +[options="header",cols="^.^1,2,2"] +|=== +|Risk|Explanation|Solution +| *Insufficient knowledge of React* | None of our team members worked with React before. | The people who's going to work on React are going to learn it. +| *Working with a team* | It might be difficult working with people on projects, as every person has their own way of doing things. | Have weekly meetings deciding on what's going to get solved, how and by whom, keeping bus factor in mind. +| *Time* | It should be kept in mind that the team has deadlines with different requirements, demanding them to work regularly. | Have better time-management skills, keep track of and help each other to not waste any time on hard / complex parts of the project. +|=== + +.Technical debts + +There is the table of technical debt shortcuts the team is taking sacrificing long-term solutions. + +[options="header",cols="^.^1,3"] +|=== +|Technical debt|Explanation +| *Azure* | The team has experience with Microsoft Azure and decided to use it again. The full implementation is not planned yet. +|=== \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..bbd49f5a --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "wiq_en1b", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} From bf8528923689114b111dc9f02eba43ab362f4529 Mon Sep 17 00:00:00 2001 From: jorge Date: Sun, 11 Feb 2024 19:01:00 +0100 Subject: [PATCH 05/33] Laid the fundations for the quality goals section --- docs/src/01_introduction_and_goals.adoc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/src/01_introduction_and_goals.adoc b/docs/src/01_introduction_and_goals.adoc index 51add9ce..2f7807c9 100644 --- a/docs/src/01_introduction_and_goals.adoc +++ b/docs/src/01_introduction_and_goals.adoc @@ -47,6 +47,13 @@ See https://docs.arc42.org/section-1/[Introduction and Goals] in the arc42 docum === Quality Goals +[options="header",cols="1,2"] +|=== +|Quality attribute|Scenario +| __ | __ +| __ | __ +|=== + [role="arc42help"] **** .Contents From 41fc489e8658ee63c67539c19453b7cac2018d62 Mon Sep 17 00:00:00 2001 From: lauratbg Date: Sun, 11 Feb 2024 20:49:03 +0100 Subject: [PATCH 06/33] First version of the topic, organization --- docs/src/02_architecture_constraints.adoc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/src/02_architecture_constraints.adoc b/docs/src/02_architecture_constraints.adoc index 226e501f..809f1a93 100644 --- a/docs/src/02_architecture_constraints.adoc +++ b/docs/src/02_architecture_constraints.adoc @@ -2,8 +2,21 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-architecture-constraints]] == Architecture Constraints +=== Technical constraints +Wikidata:: The information needed must be got from this central storage. +GitHub:: All the communication and code-sharing will be done by GitHub, so all the work will be recorded there. +=== Organizational constraints +Team size:: The team is formed by 6 people. +Meetings:: There will be a meeting every week where will be discussions about problems we could have, make an overview about the work done and the work to be done... +Deadlines:: There will be several deliveries and must be developed in the semester of the course. +=== Political constraints + +=== Conventions +English:: As this course is taught in English, the application must be developed in that language. +ARC42:: The documentation must follow the arc42 template + [role="arc42help"] **** .Contents From 631b2c3fd084a94971759aec94abfc2d93eb75a6 Mon Sep 17 00:00:00 2001 From: sinne10 Date: Mon, 12 Feb 2024 16:06:54 +0100 Subject: [PATCH 07/33] added scenarios and sequence diagrams --- docs/src/06_runtime_view.adoc | 146 ++++++++++++++++++++++++++++++---- 1 file changed, 129 insertions(+), 17 deletions(-) diff --git a/docs/src/06_runtime_view.adoc b/docs/src/06_runtime_view.adoc index e10f375b..bc687266 100644 --- a/docs/src/06_runtime_view.adoc +++ b/docs/src/06_runtime_view.adoc @@ -37,29 +37,141 @@ See https://docs.arc42.org/section-6/[Runtime View] in the arc42 documentation. **** -=== +=== Runtime Scenario: Retrieval of questions +[plantuml,"Retrieval of questions",png] +---- +actor User +entity Frontend as "Webapp Frontend" +entity Backend as "Webapp Backend" +database Wikidata +User -> Frontend: next question +Frontend -> Backend: get question +Backend -> Wikidata: request data +Wikidata -> Backend: receive data +Backend -> Backend: generate question +Backend -> Frontend: return question and answers +Frontend -> User: show question +---- + +=== Runtime Scenario: Answer questions + +[plantuml,"Answer questions",png] +---- +actor User +entity Frontend as "Webapp Frontend" +entity Backend as "Webapp Backend" +database DB +User -> Frontend: answer +Frontend -> Backend: forward answer +Backend -> Backend: process answer +Backend -> DB: store result +Backend -> Frontend: return correctness +Frontend -> User: show correctness +---- + +=== Runtime Scenario: Login successful + +[plantuml,"Login successful",png] +---- +actor User +entity Frontend as "Webapp Frontend" +entity Backend as "Webapp Backend" +database DB +User -> Frontend: send credentials +Frontend -> Backend: forward credentials +Backend -> DB: query for username +DB -> Backend: retrieve user data +Backend -> Backend: validate password +Backend -> Frontend: login successful +Frontend -> User: login successful +---- + +=== Runtime Scenario: Login failure -* __ -* __ +[plantuml,"Login failure",png] +---- +actor User +entity Frontend as "Webapp Frontend" +entity Backend as "Webapp Backend" +database DB +User -> Frontend: send credentials +Frontend -> Backend: forward credentials +Backend -> DB: query for username +DB -> Backend: retrieve user data +Backend-> Backend: validate password +Backend -> Frontend: wrong password +Frontend -> User: ask for credentials +User -> Frontend: send credentials +Frontend -> Backend: ... +---- -It is possible to use a sequence diagram: +=== Runtime Scenario: Signup successful -[plantuml,"Sequence diagram",png] +[plantuml,"Signup successful",png] ---- -actor Alice -actor Bob -database Pod as "Bob's Pod" -Alice -> Bob: Authentication Request -Bob --> Alice: Authentication Response -Alice --> Pod: Store route -Alice -> Bob: Another authentication Request -Alice <-- Bob: another authentication Response +actor User +entity Frontend as "Webapp Frontend" +entity Backend as "Webapp Backend" +database DB +User -> Frontend: send signup form +Frontend -> Backend: forward signup form +Backend -> DB: check if username exists +DB -> Backend: answer +Backend -> DB: insert data +Backend -> Frontend: signup successful +Frontend -> User: signup successful ---- -=== +=== Runtime Scenario: Signup failure + +[plantuml,"Signup failure",png] +---- +actor User +entity Frontend as "Webapp Frontend" +entity Backend as "Webapp Backend" +database DB +User -> Frontend: send signup form +Frontend -> Backend: forward signup form +Backend -> DB: check if username exists +DB -> Backend: answer +Backend -> Frontend: error: username in use +Frontend -> User: username in use +User -> Frontend: send new username +Frontend -> Backend: forward new username +Backend -> DB: ... +---- -=== ... +=== Runtime Scenario: Wikidata error -=== +[plantuml,"Wikidata error",png] +---- +actor User +entity Frontend as "Webapp Frontend" +entity Backend as "Webapp Backend" +database Wikidata +User -> Frontend: next question +Frontend -> Backend: get question +Backend -> Wikidata: request data +Wikidata -> Backend: error +Backend -> Backend: error handling +Backend -> Frontend: wikidata error +Frontend -> User: show error message +---- + +=== Runtime Scenario: DB error + +[plantuml,"DB error",png] +---- +actor User +entity Frontend as "Webapp Frontend" +entity Backend as "Webapp Backend" +database DB +User -> Frontend: request +Frontend -> Backend: request +Backend -> DB: request +DB -> Backend: error +Backend -> Backend: error handling +Backend -> Frontend: DB error +Frontend -> User: show error message +---- From eb0885c624322847efbff0c495667551fb18ce71 Mon Sep 17 00:00:00 2001 From: jorge Date: Mon, 12 Feb 2024 16:36:22 +0100 Subject: [PATCH 08/33] Finished the introduction part of the introduction --- docs/src/01_introduction_and_goals.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/src/01_introduction_and_goals.adoc b/docs/src/01_introduction_and_goals.adoc index 2f7807c9..6faaecf9 100644 --- a/docs/src/01_introduction_and_goals.adoc +++ b/docs/src/01_introduction_and_goals.adoc @@ -2,7 +2,8 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-introduction-and-goals]] == Introduction and Goals -The objective of the project is to develop an aplication similar to the Spanish TV game "Saber y Ganar", a trivia type game with numerous questions and answers. +The Spanish company RTVE has hired the software company HappySW to develop a web application based on the succesful TV program "Saber y Ganar" called WIQ. +The game will be a trivia style game composed by a series of questions with multiple answ dinamically generated by the use of the WikiData API. [role="arc42help"] **** From 6773909d0d68def525c9db1ecab79924c704efd4 Mon Sep 17 00:00:00 2001 From: jorge Date: Tue, 13 Feb 2024 18:49:07 +0100 Subject: [PATCH 09/33] Finished the quality attributes part of the introduction --- docs/src/01_introduction_and_goals.adoc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/src/01_introduction_and_goals.adoc b/docs/src/01_introduction_and_goals.adoc index 6faaecf9..5cbe642b 100644 --- a/docs/src/01_introduction_and_goals.adoc +++ b/docs/src/01_introduction_and_goals.adoc @@ -2,8 +2,8 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-introduction-and-goals]] == Introduction and Goals -The Spanish company RTVE has hired the software company HappySW to develop a web application based on the succesful TV program "Saber y Ganar" called WIQ. -The game will be a trivia style game composed by a series of questions with multiple answ dinamically generated by the use of the WikiData API. +The Spanish TV and news company RTVE has hired the software company HappySW to develop a web application based on the succesful TV program "Saber y Ganar" called WIQ. +The application will be a trivia style game composed by a series of questions with multiple answ dinamically generated by the use of the WikiData API. [role="arc42help"] **** @@ -51,8 +51,10 @@ See https://docs.arc42.org/section-1/[Introduction and Goals] in the arc42 docum [options="header",cols="1,2"] |=== |Quality attribute|Scenario -| __ | __ -| __ | __ +| Usability | The user must be able to understand the function of the application before the minute mark. +| Performance | The application will be able to operate within reasonable response times, taking into account the already present waiting times (time to answer, between questions, etc). +| Integrity | The information stored about a user can only be accessed by said user, never others. +| Robustnes | The application will be able to handle any user error taht could happen at runtime. |=== [role="arc42help"] From 9400bace8162f07222eeb91950b17ea000c1fcb3 Mon Sep 17 00:00:00 2001 From: jorge Date: Tue, 13 Feb 2024 19:06:53 +0100 Subject: [PATCH 10/33] Finished up the stakeholders section of the introduction --- docs/src/01_introduction_and_goals.adoc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/src/01_introduction_and_goals.adoc b/docs/src/01_introduction_and_goals.adoc index 5cbe642b..fcd8149d 100644 --- a/docs/src/01_introduction_and_goals.adoc +++ b/docs/src/01_introduction_and_goals.adoc @@ -102,6 +102,8 @@ Table with role names, person names, and their expectations with respect to the [options="header",cols="1,2,2"] |=== |Role/Name|Contact|Expectations -| __ | __ | __ -| __ | __ | __ +| Development team | Lucía Ruiz Núñez, Mario Junquera Rojas, Jorge Cano Martinez, Laura Gómez Menéndez, Ahmet Erdem Yabaci, Daniel Sinne Argüelles | A working, tested and well documented application +| Professors | Pablo González | Provide guidance and help during the whole development, as well as evaluate the final product +| RTVE | RTVE | A working and robust application that the users can enjoy using +| Users | Users | A working and enjoyable application to play with |=== From e70bbe62f2bfcd6898dca1ddde473da5c1345aef Mon Sep 17 00:00:00 2001 From: lauratbg Date: Wed, 14 Feb 2024 09:45:14 +0100 Subject: [PATCH 11/33] Removed Political Constraints and added some Organizational ones. --- docs/src/02_architecture_constraints.adoc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/src/02_architecture_constraints.adoc b/docs/src/02_architecture_constraints.adoc index 809f1a93..10bd7a8b 100644 --- a/docs/src/02_architecture_constraints.adoc +++ b/docs/src/02_architecture_constraints.adoc @@ -8,13 +8,12 @@ GitHub:: All the communication and code-sharing will be done by GitHub, so all t === Organizational constraints Team size:: The team is formed by 6 people. -Meetings:: There will be a meeting every week where will be discussions about problems we could have, make an overview about the work done and the work to be done... -Deadlines:: There will be several deliveries and must be developed in the semester of the course. - -=== Political constraints +Meetings:: There will be a meeting every week where will be discussions about problems we could have, make an overview about the work done and the work to be done among other things. +Time:: There will be several deliveries and the entire project must be developed and finished in the semester of the course. +Budget:: There will not be any financial support. === Conventions -English:: As this course is taught in English, the application must be developed in that language. +English:: As this course is taught in English, the project must be also developed in that language. ARC42:: The documentation must follow the arc42 template [role="arc42help"] From fe5d9d819b87e337cc4099fa1591009560211276 Mon Sep 17 00:00:00 2001 From: lauratbg Date: Wed, 14 Feb 2024 16:55:17 +0100 Subject: [PATCH 12/33] Starting topic 10 documentation, base done. --- docs/src/10_quality_requirements.adoc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/src/10_quality_requirements.adoc b/docs/src/10_quality_requirements.adoc index 68475e80..ca17075d 100644 --- a/docs/src/10_quality_requirements.adoc +++ b/docs/src/10_quality_requirements.adoc @@ -48,6 +48,29 @@ In any case the tree should include links to the scenarios of the following sect === Quality Scenarios +.Usage scenarios +|=== +| Quality | Scenario + +| Usability +| The application must be easy to use + +| Accessibility +| The application must be usable by people with disabilities. + +| Integrity +| The personal information of a user will only be viewable by him/her. + +| Performance +| The application must not have slow response times. + +| Robustness +| The application must answer as expected under all conditions. + +|=== +.Change scenarios +* shs + [role="arc42help"] **** .Contents From e3808e6f34be50ea2bda76dade4ac29e2cb23b8d Mon Sep 17 00:00:00 2001 From: lauratbg Date: Wed, 14 Feb 2024 18:14:57 +0100 Subject: [PATCH 13/33] Added the quality tree image. --- docs/images/10_quality_tree.jpg | Bin 0 -> 19817 bytes docs/src/10_quality_requirements.adoc | 1 + 2 files changed, 1 insertion(+) create mode 100644 docs/images/10_quality_tree.jpg diff --git a/docs/images/10_quality_tree.jpg b/docs/images/10_quality_tree.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7960413c07a6e5a6891e60f3b7c3f2406bd89b9a GIT binary patch literal 19817 zcmd742UwF`wkRAy5fBSisY(e_3`!Re{GP)Kza>5AT6N^ z3P|t0D^0oz0wSn4&NpXd&i!ZZnRDho|6O_VzU$rZ&fcr+vi4qU=jZs(cYq5}Fa!)Z zaRLB1LHPiF&Yu{EsHoi2h3kMJnreT(Xa`W>)_@BS69Ar*VyFB>34tr;@3M1 zOIN2~_kRGCa`#4ml@0(5f&M|Bf0j&Vg>to|WcWn+3b;@zrx43R!C7qn#D#w05B|h& z{lXu*Ik{2t=>Ec84B#ph+=_w=*&M?k9K$W0Tz=&br{uYXwRitj*Dv@*F$2m0p-;Kf zQodXOR{$KK4p9EZKjoPMj#&V}&0PS1I{J6ogG2y;8~^}Zn*5z6kO2Uk_Xhw-eZSLw z%f!jT#o{l;oupi;tgQin?K}YBtT6z<+z$ZIBmeS_a`^|eU7@_d=wU)`)$jc7e z^ZoqwjgAVzo~rN3&T1ZY70c53!-X=6^rjuS&70?M1NW~;CWscXJT&PLOd4;Mr80da2H6P6o8p|6&Q z8U^I9+L!I2TkpA|=Wrq!REPluR8)nw$YHYfQS?e`dD}!Dt8Y)5c@Kz2YiJ9pxOVM)yZgoyxaWPar2|i4UsHF`9rU_oI8Gw-f~Y^ ze|7YKJDd=iP-w6`d(cR3NNFkzG3=OGzvS5Syk4x{L%$g;L;v!4d=)nwbVp{)iXa52>C;q-|tJj zq?B_hUaQm4`f}B5{l^K!%}U$0A2A}V99Y#C5XMAeOAESHW`dEYNRJ5?nAh?Im2rdp zV1XI_`3(C!;ZX%!OWcXjWW+;DC48aeR6Xv1UtI)DT-?>-oc5+c!wQ;+Lwts4c#I&+ z9;2XS`$36RB@UPMg9Z$y#{X4dRL3Ow6v0G{tsA{Dmwf0w(G4hk^4C27)*Ib1NuDx* zl74HIs_<7u)NKj3cCn|(uGR1jzBr2qb?#vS-}ni|UIeq z26)VN(o34d7yh<>MTjgmqCYRD8G0+wK%EDZWFLWvw8BA$aeCR6?P0+mJ~U)(UL%HY zF{o7pc%{Z%PbM*~Y`o2Um1qx7js{QR^6De>SV@C+id<3!P(G+e-;;AV!AUYf5@1n3 zxFkdqXYow)icH6LYFIeK83A&}wSn}4)*C83pdOHP9 zee0cj?gg$dY?}ngrldv<2K{7Yqj%x8rV4}++ zTCu|-+x#!{F7{-1LJ5#*h$Dx_Fd;4A_3d`w&Fd*;YIY#|9&h+ZjD47i^n&mQ2dYP* zFP^zj2SYtORwjx(Rl%w@H3g0iYbF7cAA84`J+(6fK0Dlcuv{xNY;9LXU4$6Zcoy7S z+&{_bD?TU7EeWly^T&NEu3jBd?fz2yxxDqGkA8mn%13EP$sk5*!VWqeBrobvd5BzH zD-MAuvY0Z2M=5VyI`vSn!g&+vVaYJ!GmJe{O4N8N(x0K~yMmowa~E{sUb;IlksD|G zEIfci=S=|JavynCp{@6nj=lI=&{VcnJ#P## zbXvZLj5XVfQ!aw%$-|9ZH?(S@imSh)edjr38fSQ(J{J!3L{eG1Kf|ybqKq0=~*5lI@RUr_0^SZD$U9h!syljbW!HtW>P^Dl(;kiPt2yaqk%!ZF9Tp9_?0p z-3K`37ZK%PkxQ){EMB28#etbhrt&P3e~7!x zG0Y?RerHZ2O%;;?f?F*FYM7tEX!RU;Ev676YND$?Dsk_Awq60t;o}(k07#^!a$cK* zlt=sS43>Dg9qQFO zX1E43ABeL{mMHsl)j6)bVpFlLs63|h2eE~J=x`n6LoNOCvwLjBg8U2-41=R=3u5Pt z8zml8idFQLB8tCWM6d2L0(L6AFO9Q9Ah90z87v|@ zR-$@AfqF}K(|tyg`h?*%k1TS9xfq;X83|3PL~mVd4^x&F*5bhX87C&D`#)|tW+$@h zo)9^1Vjee35r3S1aYLrNPS%h(m4-svbfcxQa~Gw+tb9XH-jkYHAq=EJEiIm4C{lm` zYznUAg&r^IhyB=C+iropAGy&Hk+3a_%fkHxY~Wb$GnE`Og@caSvuXwaPaWV!)e~nz zXRl$N{d(kDd~I|v8OXJ%A;toRE%$~`R9eNV?*(focPvaQr|V33Th&(5?#es#K1$Mr zV1dg#4t===V!UbvLQydr65=NAx#?(orAbq4OA=c^d;whNX-v#sbXb3?D`57TvFo%` z*>0Dx+8x|{ghsZuaZ)7xu%CEbTJAtPm7-pO(}}6$;`nb`>FOtL;?`SQ67SNxx#=bG z0Vmv96ZQ9L!^svkQx|?Xgv`&Kd&Bm}iKpY9fm03EH4d-{vDw-Od0q&r!ez4#av0ZjWoJf;=e)tby!ElMVTsMnw5(lbq94 z0u9{WEnu?(Jr9D~dq@nsuL}8h=l!2zCq|~pYBe@+o>DVJwOgT&%SZ=Pnqa@Fg0#}m z`=+pvC!445c;1T-R3aQzJQ|yaF9@p!9-ww-jT0GpE7=O2!Pcq}2>WN|kE`bem#7!T zxofsr8ErCWE;695;c-G12mdmoePUCiLh40V<*N=5Q9pY-efswL_! zUNH7x$Sbh*h9OiG%&6*o1(tM`# z(JDJl@N4}KK8a2Pvmb`#v-AryJ0VVzLm`=JBPKq=;s^67p-cPfF-&9~5yXIsTc!~@ zkhrCM=VITTA3HFya@P0!-`bmO{^W%sWB2zOy(4oC&JpM?i8Z$f?e@^wBavs7AZ9U{ zoFLd!_b#=BCv6;INhn=Rv59d>V3;vVQ9VU zWalO#-35zLtrm91+yG`wc}c~Gyq$)8J$tq3w6q8m2ZhAM#OI*Kt!`)CEMn$=z{=GP zlY7WbdM;gq9wD&TzIj+B@m$y>Ns8YvLaxx8HiG}gOP5wcbi`Mw59v>l&qvbL@++M` zs2b*~zZ$Gga_1jFk6e9sgZ*FFhxjY+|J&_oQ6q{m2nh8h8KVWsT+XWaOyH!oO;gy{ zC*M!A6(Dl;t|%gkhxzXWu?v!OG~7X?$;VZ~U{z%cSy`<*K?Rl9qa8CiaCL|KrofW;eU4b;-y~jL6`} z+t>oyu4MJHd54duf=6sNi}=H>wM=3jd`+!egIpd zW+-wH!xXo}j=pW2j){5((^q=kKY#Sl_^Fb%M#p(^nZ05X#3@PAz)RC%xH+Qq>Frmq zMvC+|`cF%;Eg0GFeJ~}fZWo(BJV99N(Nk*<>JESHXWfi?EhIK8qNw@S>u(wXB0-;< zNZE}$Nt8M6yGyFk_cs)yTGXB7*4FzI(3{!j_oH0eZ~CuB6%{hBcx_XL$SH0aY`xh7 zzCV$EqRJu8Aw|7Dzw;Ak$b2r|2VyGS->Ly{i$^UeH)8W;&B&q&&*d7vd=wZY4V$t| z4*I|=({ggsnIyQ!LuanlJuNw4=XeqDBg^!>z}6$Qb^)PNazL7`{S}6_fSE8c{)$U2 zF=ztU^n_sw`@mE$DVg) zt@!&)z>`4wMJ``7_=xMw3nqE<7FJh&n$NdE2#Eq&7=1PSbnj2LTQe`Qzq4`(P#QL}8@ zpH|L0yPLR!AHDK^J3RF_86y)fk$!YwG`pu<@m>!q;aCOVrHb>~1zVl5 zuP3e+@DzYroHuT8tu4C+NaTDchU8zLlU~-G@=mPQ8p^!>6To3__OVl^XRQifv!{&Tl3p-xOr>K1Xt5am{NeuQgt4gKJ`Sl`+kbj zNws&^i@U!vdL+I`x;r}JC^%i_N~8K@@$Sp+F^ulL>uaF=$`4Ujn|VDkCp{4tiLLMuipWigi&6%scTx)o z|M6FqQ-4liy7o2dPSTspQM^@B>)KZhi1Z+q*z0uc?9oxiE=%tfUMXEIc}2#`4}~g# zGv>p4B~!Ev#x#$BlY{lbBZ@iK7A`kl3uRNSS~f{ILsLD70|#C3lH*=XBi2vW!7GJA zRI}#6e@FnBujzS@(fdpzVp0aTGOpl51XVSPUn`yMwmrIfSaP*Wl>ZYuz3pGgqTJ5q zey9S~4My%#t!K3s>dzf)XxQUZeQ3;C^6P0#*dH-yLT5XxZ9}@mREzco>_{O>>fa{M zSf#a>v%dZkACT>kw$DRPu^2x zKBg9rV_^Exyf^Y$yzXfT)5^tL1{@Y+t1v-ARkJd*PistXqL2-&p7+EOv?MyjR%@`a zq={XFh`J}g!FQxcigCEUg(1L3%p+<=J_;JA{7>_oQa)?QDa~Ou3T%zWA$4B92a%b4 z1LH1IUtg5_&EkI%qdxa)yC*h^r5m~gaU21D3etEo(2*{*%Qrw`EDWzcS{MMnm$>Aq z?`nQ`z2^l>xN5L_I1?nfsmo-Mt{i!q94dO(_a!?d zqwZu^^;%#1qIec9Rs?y!Gc6U}cCNEa&Y)*H!CXOU*3}Hu^%#;u9vB4ydqE6U{Mz|e zIMegRmI~$KJqeNMwLB9R!7H(O4ZJ_ZG;oddGwvqD*2|;W;Kh2h>pErOW#EhULR0GZuD0|IC?q@TB1^L~N zKi=y0Fyd3mN9W?~Oh&Vya2!apyYDIEMSskfl!a?A4}(PGt(;Ie}2E~6u?U$#=!=9O6KAWFjtds^vK2WMI|-~9hDA?G3y!y!oXgQD6Oxh7vak1pRUCY zSAjGFSlliWg3wkXcLv11iL%m8eyp?uaap{X*Oq#3n>z|twaQ7n4B-AsJG*7ld|5Kx z%1%7{AQvsaDNX!%`hhjCfZyvL=EFBZR&%5ADmko}f#M3qXNqmQCWP^=M@aXoUuA&7 zag3J%?7v)||0OsVztI4KG2shm=I#YS{9^@T%S{D7=JzQ>nJ24w2w8Bj%`V+*b7MzQ z+gZ6xu`aUN5Hhfl)42SCcU}V<-Dm9_%zz`ihfni~)Hyl9&bAB8N?Ror46};kpK;*D zL|Fe9m1`Lh4nkixAeUZid)Rl;*ygCYvQM4Em~LCzdewlqAB>P5ky)Y&t?Z;rqk4F8 z<6kj-pi7cyds?(eop#ESDq6?x%WzE%~K6{p;6BFl=)yXZs&0Gw1Pj%m@ z`3d3=Xf4dL^rA#*mUq$n*MmszM>TQ2%rp1SQS4!nRZwKTY3Hkut=5PSFeWyBX9 zcb}W53{Dp1kmNtRihR3T`-+SEA6NDIV=6I6TD+F+W=o<3vd_t*O8+gH--&n6qcZp^ zZ>z1>7LLhO>EVTole^8zRRua@V$c?Ol#+;+BP4#?1bb4glvU`Hlr{*ZgN+7Dhn~-F(bKbei7m< z(r~|{Rs4v*{9Z+5`nzXiLCoUdzY}8Lrb2Fj&t#?D=xA!6E%}s^B0Tjf4(U^GGzE*0 zt1gEQ)d%E!(PIiTV+j5V*raHb=Jw-z@x9Wddv#j}@bTO-J^_`R_ygv2=K~4O2=3g4 zw<=NcRrNa>0-5xRhAQ;OWKVIr#vN1I^JB87Dx^XjQ`)&>YNpSpGdiX;`QK`863GCX z{Z`uhpv9RyoSQZJ(qwz5Xu$}NP**`?n3z==)T)cft6@Ne4COn>zr#~FWOgQ)p@P?3 z_UwD7njmMlEvz0KUKCjG|B)|*)vUm=sQ?Co&}~3?KJPIyeCw$o9@5W**dcF(N?k$^ z2-wt<*?bHZLX|{KqV(ZWA&J316g$8AaUpy9ZTFUq|J-N#nzg3CVwfR5Gd$`j z>?uR?e~Vql%3iS#(Y#tg(ZcD%!@PqF?S+^pYFQI?u%SEx)k;tF`2(+)Fb4A_i_r@eq(1 zge^nzzt^#th(+PwZY<@tcSlSKR(7Djf7Q>4zh^j1 zBs#2w6}{#Ynk`;La(@uk)oSsU)AMbDyr__?vr9HEL=Yo}xSE@y_G>_+5s$Iw&{ijz zlM5Z{*xyj1Ad=cnXF~6+O>L$>h1}i&X&i!OO(!pN>WX1nGro9_X2Z#g(o8u9uyb{W z4v2v$%p-r4B0r3Be+{%WCw1`FhH~=5T#c2^ z_E<$l2`;C=BG;;}=j-{45EGmltk<&5V?kWyNv(9(W!YdiOV+XAp@6I;SC2I0=6V)c zCoo4nqx~OuoBzu){x7OC5E13#o{8rj5uDUP_zlOM$E}I4;USd;dMFo$cEK?oJCM9d z1u!6H%OS}W#L$GgPkp)ZdY28y)b*Ktp8|XRyD?0>DNvt~zUrgIvu`7ZoELc8QcY$( zbC`4kc#5uY+3j!`Pw<`56ARUo|AKOfUVd3&Z7M4z0W9BkLt^HAgYrfxPJxo8zc>XF ze>(-5>~ZQpaBm)IKx|7VWmHRU!7bDO!AQmMZL|(sG#NSac!=0q_=h(fHZWGNikghO zh%qo{Nn}hIR&ZXLDp`Lk_G@!C+`huvOgpAvg3+0EFdsqPU#VF=cNNDic4`d7W=_rh zJ)kOCnr$x6>Xsf}n0Y=CXRZ7;LG)9eK-7oIG|Mjj$|_he==Qu4K#}HuK6d^)8UZa~ zh{SfGEFWHyJYq~Wm-S})gEU93WX%ILOJB6I?2HSQZt4Qy?AXJdUsw!{BNzz`jxZB8fZ*4(W50GSf(Q=;_E$8-6|_FhEwuRTmEMBtAY zS8@uiUw|!NA@Hu_>O}?5rl7Be&;B>J@juS`E9?N~%MHKv?rwT$!Gphhy8pkG1EB6~ zBwVi75&Q{wcKG1J=~eZQ%pHyIUXA+$MCyJ=FR<$UUG&$J)m(F#R;9Jv@f|zoq*6n^ zj#L_|xI?4yNNjAcz^j~OV$4s#@(;@z9*#*B;FQ67Bu~HFH{iS7*AZfdDN!I9EwsTd z63zc01D7w$GEXEB+7_82W@fX!5;ta^Q(N-Qv5(_l!jj4$MMgylC>|-a zgy~bdy-5^_nNJ+78szDrHIkxlA0ifO3n>r*EBc{QIwFfM9n#JvRGCPd&zm_AlvXRT z38K4*L5tdFp?I)$8Yu?&#uw+=Yh|BDq2c<>sxgpmwp&-pD1UnO4)jFFGq@Hv;SMzH<>|7>110~)1^kHY#u!9IIe#%Jn zi_7gV@}a_#Su0lANOUx|RgzC76q^&Xt03rtc(3>N(#IE3wuhAyjfB z?{43kkU_nyj;P^Kfeg?u4t9J5g3b9`F=h>|xE4B7ft{{$2N#-4CTL|*f}he1YJ?~|-5jJ? z0Y+YWy#i}|e2S(rva-~Uj85rb>hG*V@?znjRz59}WExoS?Vd#(U2{^`W-_oO*Iy$lLva0eWOwY%LBWcS*udOzH{AP`0H$!VJLEDG?}uQG8YRSJq*?Z( zzN+;LA~9E03*JPqsYKlDVGp7coX$-}YZz{=1rL?1rma#8SGRox&u+UXzl~^2ceA^0 zo)KuZw6@Sx{thAWv^KWQ+&)Lyjhs3+qbKTl5&~+;*p)ng53pmvnJr+<9wx9*v?D$( zeREgTo%Qg-h)#Ani9psU(FcKoE(nJw)i+9e0JS9-W&Ja7G5A5Fd?!` zYzxQt6?Q~%2XuH>K^GTDfrF`5jv~ zA^Q1nTxE9JjWHoK+#t@ut~N_T@%)qc4Y@DI?w;*+-%GFf%p@r8qb=Y?mYs@S($DHd z@{4NFcOvAgm`)4>KPu8(^9LnNUzOv7Yn@SSb{dS;V|%(1^UT_`g87Vb?>&T_{QFY) ze7(Om;!>7yyOz+t=R;=Ry@%0IshC*r^>xOr6)=j%QnoiXB%_xs6aBcj2YP7ss&IPB z6<5>$Mo0aMI-yES!t4&2DNDkI?V|wHSygRRTk+Ao{oU1akB1qv<%QbAMEYj@-B?jQ z3$o&Df(X25)v%fp6zn&aJ{H zGpENQN_tR}TnEEbO?Ym)&${YjZ{$_uXI45r zg24{RuOQ{mepV=salPF zK|onnPQqCm=P9sOE+LS#AEhDzx*53~fy|mVST17wZqBMreK?KJce!vV=8!)~9Leap znibssMTrKiEGGiKWB8bOSEIA)tu5;mH{z~%@>8w3ESRSMO9!yCp5|Dgj<<*UHPvh- z8WVxc@#Vo@7EmZRY`jdGGD^l^$FdOZpr3lt!kBReePpdAecm88my9_)&$ zY8K)?07{DgCZFTkRCb#c-bx9k{r%MRYnk(R6K>YAiMxs7qdze`W27k7lc8Btq%~|r zLnWu)nXVP9>l0g&L;?o~WGwl2M>^xGJpf=u&$^flZM?JhT3=dJUn~moeAiQV!r%0;Ojdz55zJZ3|DvW5;eT|<^q7{ zNeL59Q|{SthW7XXf(G0ho|DKEsLV{W&_U`QbemQ;?UXjzmDw#Xlx`t*x+}>ISig;K zwsz{M{+5gpzQqXCN%E9hBdmF~In9i@zXQcdh#5zDk2#=O4$GGVXkzt)=yV6f5&Pr9 z;1@ASTonkj#O7a(mXv0;RW}G$?5FOCe`VIoSTr)_)u*t2g?C*9WzDL+U$%(6@NVpd z6plBx>*-l~i+NX10pe~R&alK*?uE-^?5lEj2|Le+qL6aSetOjXqCH=+$ic#O6Nq>= zvD4B)BdXd#)Hi?#tc{u~j>`-x;C3f*AbX2(frA)$)XU)N#Bk_XSM}_t3Um!km`Agy zSD8R&Q>s+LDW-d}S~;X=(RiWZJla9rP_dW8dI4=3Z#I@W+CnD*KIxU)B64cTN!Ltp zQy$Wt%19u-*aB_AaH@eRe9odOCns^pFtoMz0-)VRf(A0-$7ZypS!Cu=^=%&-B;zI| zH5zFbaCeb1c#g5!Do+V8;WPv?Ms^0v-%(H9zqS0`i2s3a=4L1BL8=&ZCd8v(P*O_` znyz*~iKu3u;*{!f3!GwH!MKdzDY8@;5##QE@zpZ6)PNHG|0$!;=26$A}2C{WI;HCzP0s{#J7ozk1Sdaz0tLXo29`~9p%le1to%J3AJAy5$Y)*>LbGHZGk1$GeiZ`Fc0t-V-ZTslfnZr=Z5 z5{bwYzgu;EZbU}RtNx_x#D)0v(}$N{&J)RNf>WI;pe&JSGShQ?FtWvBt%=9EdA~%n zHl^#)R^21BVg-9wM1Ki=gG3xpWxQ3ZEPQ?fm1g%EGD7De&m~agKH8yrqfVCJ#>*_C z;)ibS4)Z=Wc~d)8y;QF=fJ)%>WE}SbY(+}Sg)=%1SS1Yc#_17|#Uv=7hBxi$6!iW% zx9*`*?^w=zn@C8-RuE`Xk#3Z4ha*M}i2_cB^{PEqzvuZz*-|)lP+%=vQkrG$Xi{Hf zSX53v+p6o;5WKC*eUP|rIQvo%u{w69Yzpfr=(DIlCx~AgCG~5zTTMZDVZ+_0D_e@r ze&_q(c=N(f0DZrjNUZo;gc!H7s_X*=K?O%Kg&ZrAK~78(i+W3V_?O#@g4Ms*ZvT8i zmVK$chG)1{rnqQy?{Q8m51k`4h9*WLE0-}dv6?hrIX^hT$X;NbI{Z~LP#c)6zfW5H z_#>{s?`ZwR4rcRC;Po@lLhOc$stSFTmr;%b%w|<z!Qx?k@RZggMo?3*bi65}XC99`P_=Qi9V1c$&n~Zbd%#sl& z&S@H$Gq@E|9GS_n-07Kj#p)X>6@PWyU>dFK@Ra5jy%n9hem)mCr}}6FhFao0)g|Rm zdR^W?Hzb`{!1+|O05vWZ-Ux0U;Z&N(Xf@LqtYPgu_zFt#ZUi0a0wqTR8kqM%0;2dx z=xg|wN3-c(W;JUY6N8_vtG=b)E$Mf#%?u#GR}W+thFE zm9XlGDjsk!J}?>n5i1z?I#d+z{-!!P_YYY+snxfGAtA+uvR4wAv_UlatBz*FLS%P| z8+%u1E9=q@2%8XC#bmvWCfSZ;wbs~P&aVn%B(yzN(9qY;^lu+fo$pa4vzeq*@qtc` zU0Q-|Ep{3lGGAG`_8c{f5G*8iSFC&V$c1|645^xK1>DL=LdkT6-N{Lf-p0pDn#kvZ zc?j7?why_kl52e-Q>K{OTSx2*OvtRh_3CXUoZ>MMrjd?VUo#0gqGmTCH3877ZNlE7X#@;Wjg32Bqh%q0k-k=jXp!J zc%%{Uy|ISp5{U5``3OjYgNnyc&3&P1I7gViP?$Rt{*CN#f>otY0S8kAL*=gRd66IZ z$DeN{|2VT5{Kw^En-YM+jo-%_Z1xf75M2&^8E^8GSfmn`=v^q0n{?`?kXb zV^TmrWCl~|?*be@ul6MI?Hhr&7rp5kW48{X&7QfH7egIhEUDe-5r|a(mM*L3fJt2{ zCnT~b=8t5BF=yFF-63NSl~dKbYFLwILYrR-8Oi4ir4*{?$>VYFZrTMpFRCkP(eru6 z15Oq$Ps~qNBQu5{n2l+jTO*?yHkramFsDSkS9HCK4-Si~J-!KqCJr z6pr8GF8-780Zl1``bm30ChRv0W<8L{DX)gVYpu@2aa? z2+$J16c%JNj<9=G=BryCv1@1OAXJtyGMn8IP$MIGc1vc0%qN*|+l45KLkqb@U z#9$HT6G@}_{5)@}K8hCh}zC~$g$QW-+I&rG4Y*(!?@H7 zW6bxw5$D%8M>yU^)>`!GpRtPk%OO(y8GwI&?Brw-+A+IOJ>?AZ zXT&wik&fd}l!e8~)P}T-0SA#PS00Lp+e4gmK@en)-b&vBlDW$r8V5zZ2qqt zNWoub`{PErxs9*IC}CJ184!UmNM-_3l*M zQQQWyUIKuN>aI`ju2iBU?_IQqm4uin#3Yj>-o-&CpSIpCbbdR+syhsg%JvSpgi}?u zQYC8s&@b3Y{jQBQ53>x4-4;p*oP$%kE&GVcmQj&0%oI{A89&%K{8P5Ls)!kLuk*dYE&vruXnY#LA7 z7m|@vxnq)uF|!_N>eD)}BGf8t#i4lpv_i!f`yt8(sbTy!+tAxu^;?l0Hyya#ZtBw3 zNZ+)okOso|`S|p%8l-*&K&B@S^0r4R5(QCqqiWXU*(HI)s4To5s?}*q|EOG_HlcoP z5{r=;ji3Z3ItyC)c>7r^NCaurZ5&(#br_X@l#^VBRbkGx8eHn@el+LnJcIRz-AN9G z2gmWM#_A<$M5%}Z0RH!0kT%Q9fPI1i#x*WI9%tE9p{#<-25P|EX-AxMr68v>%eNjP z%*ad@uWAdUY}wlIHIHw-BRj4;ShII?LJ?VV!k}rl;s|*Ot+gx9AYXx~#hR_&(1Yi7IzS-GNk~22!Qj*pWJ%?F zcA@rN5G}EZ>bw)uxts{4xm3H7Fk|K+jY&nuxR0SXm80|o+h?HJjf|uhKEu}bH-~H; zRg?CIa+CL;0REYl|8kNJ`f_ei%wy;2`A@`?z8_5KPAlHY8eErS+az1)uIa6xRnLsO ziTg6XMHv5hvq0~%A(1GLgQJzJBuo&^I^nWk!cyzssT_&kVb$fnRtHZvuH-4-YBQ_O z)OuFvd&jkZK+M$+yb$N}vPdz7 zkT{@xx%^rg@yj8aF7xwvuj2h6Du*7awfMe|8y|E#$t|HLgKrCzWHsV`=p87;E*|6_ zC@+#_|cpGQQaro`w#!r@lYZwKU!0Jq!)ej$xJhR<{_br6bp=j_kf!=|I4Qt_u=}6F-C0 zcW2UtZj{uf_Myxls=a7!$~7|2(M<^qMj%K75^=?8kqc#G9l*0m^VM%6gdpqnI6Z@= z(>y0>-Kxb`D_45j!WeVPn?ZT1q)C`+PFNFVY!f{0LdrVkUApq0d|rR&0i!Csu~8L~ z*cH#Me_69mH2#RAOC(H2jVsGF$dV|Sz%dFt&nv9Q6KI9gd&Ht54q)tj)g8b2IviAt zHEI0FE^%$5tdQ+{chLQ|Vtw~t+@|iO4{m`Q5`KFti+5= zaZmf6`sPd8tUUzb*-~M)#+*8p>pE-;-gTwC=yi?=!E)%JVzTp5xU>60ZBA{^9i!&3 zSf{ZxeBj#9GP^*muy&$AhP(rF< z8N`mhA-cqu0vrap=BRuP`v?(b%@j1K+S<&$xcb~=bCa`u+e(mO#~ASg)0j4%_95p> zGc9S=!9*Zol&|uzOE5miQNw+xfA?UqVlSo27}li$DSg9vm@JAaY=7Q!P{g)0|HA8U__qp+?iHP&FsqW?c%n-jNOU=uMEY z7MS4Bm6!rsD=Q3tF@O%lZ1aevAZPd})5i!zTI(d1*^lr%*`NWYM7jj<4!3Idv?z|L z*j$;?_D`L8BM@f`I34E)z5OUn>nGsUUdxs9gHf|rWBp$HmeB$b9>4$aKqUKUchWD% z+kTy6B-_}KWVLL7e4NgcpdIn84(b{m+Kk5L?vJs<4A(B;M!*1&1}InKaYy z#@UA%XMX|!{pZ~;JM@V?E*|*auaJM};pw_-9kumD_K5lq#bMvNTQ%P*)c60`%HEt< z>KjSAT??4|bQZ9$x3{tVVXf!#40UZ3*(Tw(q3w?qYQH8a>KXN^imvn`DL=P!|Koa& zd!*6G-xbN~|MqJC`ty$eWR5JC4$8WX*<+&|VU&QY?jpnQ$}@%fIolep(fC#m>R%C8 zaMs#NfiHR-I$8|j)n{Q3|Hcl$@hi;}@4t!R>2G#UG`{0F@mmb1e@l(#C*XEGmW z{}vnPj}sX@zvb{huE+nl9erFR62*7OC8KhAG7mOvaNFcAnHifaCP#Z0+YQE#N`Xe9 zJARec@?6@HQUUG;CaaliU@MCTiWz>~`%a%fX0&SA=V@tUS9ET++GYLwJ)&0L3=4U2 z=hEQ*Jh4+H)X_!7;Yt+}l$L{>F_Z4^4wn)6|G$;|>#cEk+V{)Xou2PYo19JvaN$n? z7(DDbh1M$g;HUMlZ~gMx^6jFd#2>{$=c7Nca_E4*8|UtmYiM41)H-|`(jUW6te?LR zCy*K=El(svHa1CYM&&P;HNM}=>dA*=qTU|xoNPFNW$GvECvRVJMisK#SMtxSt>@-i zJDdM*7XPnzLyN{7)6EZ5m*1Pv4w8Sjd;7dE`Y6$lQtuV^1+6+icF6*5uH5dk-Z8Y? zu8-r3@A9ia(PHIg2AM}7cDZ>4iHSi~f4>e?PioYd88Ry)DK=b3nmm*sB6rVt6llkG z@b)U}vyPvWTAuIFFkI`89Z*FpN>So!sRuLuy(7%O-gf>wBj#k@?!Lmt*ila&?=y=c_K%Hlp66u`!IqgVD+?M%2(^+Vo*ZlNiJuey3sxh=8vp Date: Wed, 14 Feb 2024 18:52:14 +0100 Subject: [PATCH 14/33] Removed the quality changes. --- docs/src/10_quality_requirements.adoc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/src/10_quality_requirements.adoc b/docs/src/10_quality_requirements.adoc index f49f8c45..9225466e 100644 --- a/docs/src/10_quality_requirements.adoc +++ b/docs/src/10_quality_requirements.adoc @@ -54,23 +54,22 @@ In any case the tree should include links to the scenarios of the following sect | Quality | Scenario | Usability -| The application must be easy to use +| The application must be easy to use and usable in a computer. | Accessibility | The application must be usable by people with disabilities. | Integrity -| The personal information of a user will only be viewable by him/her. +| The personal information of a user will only be viewable by him/her and user data must be stored securely. | Performance -| The application must not have slow response times. +| The application must not have fast response times. | Robustness | The application must answer as expected under all conditions. |=== -.Change scenarios -* shs + [role="arc42help"] **** From d6a93c8e6d9e6d6f5621763868e66c8a79332a2d Mon Sep 17 00:00:00 2001 From: jorge Date: Thu, 15 Feb 2024 18:11:22 +0100 Subject: [PATCH 15/33] Fixed some spelling mistakes --- docs/src/01_introduction_and_goals.adoc | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/src/01_introduction_and_goals.adoc b/docs/src/01_introduction_and_goals.adoc index fcd8149d..646af60d 100644 --- a/docs/src/01_introduction_and_goals.adoc +++ b/docs/src/01_introduction_and_goals.adoc @@ -2,8 +2,8 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-introduction-and-goals]] == Introduction and Goals -The Spanish TV and news company RTVE has hired the software company HappySW to develop a web application based on the succesful TV program "Saber y Ganar" called WIQ. -The application will be a trivia style game composed by a series of questions with multiple answ dinamically generated by the use of the WikiData API. +The Spanish TV and news company RTVE has hired the software company HappySW to develop a web application based on the successful TV program "Saber y Ganar" called WIQ. +The application will be a trivia style game composed by a series of questions with multiple answers dynamically generated by the use of the WikiData API. [role="arc42help"] **** @@ -20,7 +20,7 @@ These include === Requirements Overview The system will follow the functionality of the "Saber y Ganar" TV program, and so it will allow the users to select an answer between some options. The questions and answers will be automatically generated using the WikiData API, that will also determine which of the answers is in fact the correct one. -The system will also store the historical data of the users and will be accesible through the web. +The system will also store the historical data of the users and will be accessible through the web. [role="arc42help"] **** @@ -54,7 +54,7 @@ See https://docs.arc42.org/section-1/[Introduction and Goals] in the arc42 docum | Usability | The user must be able to understand the function of the application before the minute mark. | Performance | The application will be able to operate within reasonable response times, taking into account the already present waiting times (time to answer, between questions, etc). | Integrity | The information stored about a user can only be accessed by said user, never others. -| Robustnes | The application will be able to handle any user error taht could happen at runtime. +| Robustness | The application will be able to handle any user error that could happen at runtime. |=== [role="arc42help"] @@ -102,8 +102,8 @@ Table with role names, person names, and their expectations with respect to the [options="header",cols="1,2,2"] |=== |Role/Name|Contact|Expectations -| Development team | Lucía Ruiz Núñez, Mario Junquera Rojas, Jorge Cano Martinez, Laura Gómez Menéndez, Ahmet Erdem Yabaci, Daniel Sinne Argüelles | A working, tested and well documented application -| Professors | Pablo González | Provide guidance and help during the whole development, as well as evaluate the final product -| RTVE | RTVE | A working and robust application that the users can enjoy using -| Users | Users | A working and enjoyable application to play with +| Development team | Lucía Ruiz Núñez, Mario Junquera Rojas, Jorge Cano Martinez, Laura Gómez Menéndez, Ahmet Erdem Yabaci, Daniel Sinne Argüelles | A working, tested and well documented application. +| Professors | Pablo González | Provide guidance and help during the whole development, as well as evaluate the final product. +| RTVE | RTVE | A working and robust application that the users can enjoy using. +| Users | Users | A working and enjoyable application to play with. |=== From e50607cb81925fdb310c6ad3d790f3388effc06b Mon Sep 17 00:00:00 2001 From: jorge Date: Thu, 15 Feb 2024 18:34:29 +0100 Subject: [PATCH 16/33] Added minor details to the quality attributes section --- docs/src/01_introduction_and_goals.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/src/01_introduction_and_goals.adoc b/docs/src/01_introduction_and_goals.adoc index 646af60d..0eebb332 100644 --- a/docs/src/01_introduction_and_goals.adoc +++ b/docs/src/01_introduction_and_goals.adoc @@ -53,8 +53,9 @@ See https://docs.arc42.org/section-1/[Introduction and Goals] in the arc42 docum |Quality attribute|Scenario | Usability | The user must be able to understand the function of the application before the minute mark. | Performance | The application will be able to operate within reasonable response times, taking into account the already present waiting times (time to answer, between questions, etc). -| Integrity | The information stored about a user can only be accessed by said user, never others. +| Security | The information stored about a user can only be accessed by said user, never others. | Robustness | The application will be able to handle any user error that could happen at runtime. +| Accessibility | The application will be accessible by all users, even if the suffer from visual impediments such as colorblindness. |=== [role="arc42help"] From 04c04b6ed662ba16a43603ba9bfb948817376ea5 Mon Sep 17 00:00:00 2001 From: jorge Date: Thu, 15 Feb 2024 18:40:43 +0100 Subject: [PATCH 17/33] Started the documentation point 9 --- docs/src/09_architecture_decisions.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/src/09_architecture_decisions.adoc b/docs/src/09_architecture_decisions.adoc index 51e9aad9..1f5f9096 100644 --- a/docs/src/09_architecture_decisions.adoc +++ b/docs/src/09_architecture_decisions.adoc @@ -2,7 +2,8 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-design-decisions]] == Architecture Decisions - +The application will be carried out following a Microservices architecture. + +_(More details to de added)_ [role="arc42help"] **** From 51a2a8b2148e16e92195b88a37642aea862a218a Mon Sep 17 00:00:00 2001 From: ErdemYabaci Date: Thu, 15 Feb 2024 19:48:52 +0100 Subject: [PATCH 18/33] Removing the extra file I don't know where it came from --- package-lock.json | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index bbd49f5a..00000000 --- a/package-lock.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "wiq_en1b", - "lockfileVersion": 3, - "requires": true, - "packages": {} -} From 7568698faf708a18b271e5deef42b2209cfbd65b Mon Sep 17 00:00:00 2001 From: ErdemYabaci Date: Thu, 15 Feb 2024 20:13:33 +0100 Subject: [PATCH 19/33] No deployment yet so no deployment view in the documentation for the time being --- docs/src/07_deployment_view.adoc | 28 ++-------------------------- 1 file changed, 2 insertions(+), 26 deletions(-) diff --git a/docs/src/07_deployment_view.adoc b/docs/src/07_deployment_view.adoc index 22b45c27..eaba8299 100644 --- a/docs/src/07_deployment_view.adoc +++ b/docs/src/07_deployment_view.adoc @@ -56,19 +56,7 @@ Describe (usually in a combination of diagrams, tables, and text): For multiple environments or alternative deployments please copy and adapt this section of arc42 for all relevant environments. **** -_****_ - -Motivation:: - -__ - -Quality and/or Performance Features:: - -__ - -Mapping of Building Blocks to Infrastructure:: -__ - +*TBD* === Infrastructure Level 2 @@ -79,16 +67,4 @@ Here you can include the internal structure of (some) infrastructure elements fr Please copy the structure from level 1 for each selected element. **** -==== __ - -__ - -==== __ - -__ - -... - -==== __ - -__ +*TBD* \ No newline at end of file From 0e71ab282132cff038d1fb7fb935cbf4633f9d5e Mon Sep 17 00:00:00 2001 From: uo289267 Date: Thu, 15 Feb 2024 20:27:13 +0100 Subject: [PATCH 20/33] Documentation topic 3 refactored --- docs/images/3-BusinessContext.drawio.svg | 2 +- docs/images/3-TechnicalContext.drawio.svg | 2 +- docs/src/03_system_scope_and_context.adoc | 22 ++++++++++++++++------ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/docs/images/3-BusinessContext.drawio.svg b/docs/images/3-BusinessContext.drawio.svg index 5068a036..e976cc80 100644 --- a/docs/images/3-BusinessContext.drawio.svg +++ b/docs/images/3-BusinessContext.drawio.svg @@ -1,4 +1,4 @@ -
User
WIQ
Wikidata API
interacts
requests
\ No newline at end of file +
User
User

WIQ






WIQ...
Wikidata API
Wikidata API
interacts
interacts
requests
requests
UI
UI
QUESTION GENERATOR
QUESTION GENERATOR
Text is not SVG - cannot display
\ No newline at end of file diff --git a/docs/images/3-TechnicalContext.drawio.svg b/docs/images/3-TechnicalContext.drawio.svg index c1ff1432..b3226527 100644 --- a/docs/images/3-TechnicalContext.drawio.svg +++ b/docs/images/3-TechnicalContext.drawio.svg @@ -1,4 +1,4 @@ -
User
Microsoft Azure







WIQ
HTTPS/REST
Database
HTTPS
\ No newline at end of file +
User
User
WIQ























WIQ...
Database
Database
HTTPS
HTTPS
LOGIN AND AUTHENTICATION
LOGIN AND AUTHENTICA...
QUESTION GENERATION
QUESTION GENERATION
HOME
HOME
HTTPS
HTTPS
redirect
redirect
Text is not SVG - cannot display
\ No newline at end of file diff --git a/docs/src/03_system_scope_and_context.adoc b/docs/src/03_system_scope_and_context.adoc index d50a931b..e9304afe 100644 --- a/docs/src/03_system_scope_and_context.adoc +++ b/docs/src/03_system_scope_and_context.adoc @@ -51,13 +51,16 @@ image::3-BusinessContext.drawio.svg["Business context diagram"] **Table for entities, inputs and outputs** -[options="header",cols="1,4,4"] + |=== |Entity |Inputs | Outputs -|*_WIQ_* -|Users interact with the web application through some graphical interface in order to play the game -|The questions will be presented to the user with a serious of answers where only one is correct and, once all questions have been answered, the results will be displayed +|*_User Interface UI_* +|Users request a question to be shown +|The question and the set of answers corresponding to that question are presented +|*_Question Generation_* +|User requests a question and the information extracted from wikidata +|The question and the set of answers corresponding to that question are created |*_Wikidata API_* |Some part or topic related to the creation of a question |Some concepts that will facilitate the creation of the question such as wrong answers @@ -83,6 +86,13 @@ image::3-TechnicalContext.drawio.svg["Business context diagram"] .User And Application interface + The user will access the web application via the HTTPs protocol -.Application and Database interface + -The database will be accessed through HTTPs protocol too +.Home and Login interface + +The home will allow user to be redirected to the login and authentication phase via the HTTPs protocol + +.Login and Question Generation interface + +The login will allow the user to enter the game and so the question generation will start, this will happend through a redirect + +.Login and Database + +The login will access the database directly via TCP/IP protocol + From 7644f28052fa385f36a11850c9856f78974acfd7 Mon Sep 17 00:00:00 2001 From: Mister-Mario Date: Sat, 17 Feb 2024 09:30:55 +0100 Subject: [PATCH 21/33] First term definitions --- docs/src/12_glossary.adoc | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/src/12_glossary.adoc b/docs/src/12_glossary.adoc index 192b2353..7c5e1ecb 100644 --- a/docs/src/12_glossary.adoc +++ b/docs/src/12_glossary.adoc @@ -34,9 +34,15 @@ See https://docs.arc42.org/section-12/[Glossary] in the arc42 documentation. |=== |Term |Definition -| -| +|*Docker's container* +|A Docker container is a lightweight, standalone, executable package that contains everything needed to run a piece of software, including the code, runtime, libraries, and dependencies. -| -| +|*Github actions* +|Github actions let you build, test, and deploy your code right from your repository, making it easier to manage and automate your software development processes. + +|*Google's Lighthouse* +|Google's Lighthouse is an open-source tool that provides audits for performance, accessibility, progressive web apps, and more, giving developers actionable feedback on how to improve their websites. + +|*HTTPS* +|HTTPS (Hypertext Transfer Protocol Secure) is the secure version of HTTP, the protocol used for transferring data between a web browser and a website. |=== From bcda83209048fe14f8bb37f998fa35de92d555f4 Mon Sep 17 00:00:00 2001 From: jorge Date: Sat, 17 Feb 2024 11:09:11 +0100 Subject: [PATCH 22/33] Expanded the section 9 of the documentation --- docs/src/09_architecture_decisions.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/09_architecture_decisions.adoc b/docs/src/09_architecture_decisions.adoc index 1f5f9096..d4c0636f 100644 --- a/docs/src/09_architecture_decisions.adoc +++ b/docs/src/09_architecture_decisions.adoc @@ -3,6 +3,7 @@ ifndef::imagesdir[:imagesdir: ../images] [[section-design-decisions]] == Architecture Decisions The application will be carried out following a Microservices architecture. + +The Rest API in charge of comunicating with WikiData will be coded using Java. + _(More details to de added)_ [role="arc42help"] From b9e455da78664b2fcfcd56f65948fe983955e962 Mon Sep 17 00:00:00 2001 From: jorge Date: Sat, 17 Feb 2024 11:14:01 +0100 Subject: [PATCH 23/33] Added the stakeholder entry --- docs/src/12_glossary.adoc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/src/12_glossary.adoc b/docs/src/12_glossary.adoc index 7c5e1ecb..cf2e42d5 100644 --- a/docs/src/12_glossary.adoc +++ b/docs/src/12_glossary.adoc @@ -45,4 +45,7 @@ See https://docs.arc42.org/section-12/[Glossary] in the arc42 documentation. |*HTTPS* |HTTPS (Hypertext Transfer Protocol Secure) is the secure version of HTTP, the protocol used for transferring data between a web browser and a website. + +|*Stakeholder* +|Any one involved in the development process of the system, or that is affected by it somehow. |=== From c0f4792fab66e64c0d14bb42a8e8540003f61c38 Mon Sep 17 00:00:00 2001 From: sinne10 Date: Sat, 17 Feb 2024 11:29:35 +0100 Subject: [PATCH 24/33] First implementation of concepts --- docs/images/08-Domain-Model.png | Bin 0 -> 12393 bytes docs/src/08_concepts.adoc | 43 ++++++++++++++++++++++++++------ 2 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 docs/images/08-Domain-Model.png diff --git a/docs/images/08-Domain-Model.png b/docs/images/08-Domain-Model.png new file mode 100644 index 0000000000000000000000000000000000000000..76c487b7d998203933c6b7e85a776ad86f84c0c9 GIT binary patch literal 12393 zcmcI~by!qu+pmqZsI*A8fCxjwNOww0N;gP|qyj^CGc-eY3rI+dFm!iGE8TS--Fv_9 z-rxJ3@0{y8*ZBu#4a{1z*7MxI`xkeBf}A)e8WGx!8#gc|B}A0K?~EHaZXVvh1zw$5 zmVW}j7#u{^9Sm%2-&-0PJKPXAvNn3F?_gv|_U1jAse^;9Jr4_ut);%TgQJxtvw@A3 zQ|~uYa0(7HWp#(Y-oJ4ZoX0syRzX_6<>iCM?UHy(Q>h!xrt)-NzWsNYY;`AbILu7C z1f;@G=8~;~>OP(7>?7q0qdHE@A83#l!BoimOy?;+=-%NNx@VxUY(9@yFDhJa_{>pk zpmBs`!gY}58rC#b|E{Ewx#&2TyOYDrlTR~;y=v*v#3Q1CYX6K$QtuH_n5xfBYx7FG zcH3|~DM=GMn0aHsX{TKHo~@w-%_qrNh4eB(fi=wYR>ke&3IXT%C9Hb}1biI`k7?3Y zV}97nccQC~Rm()PhWBgB-Ija(9JR~BV|=jXn#5 zgd_w@M`H{MQa!2l%Z4M;6Tca~&5mApvQJ8${ha3;b&Et5zez6!TgSCUQ=vwK#kQ5W z(e`CystNzO#^$lk(d@QKQ{2d;Mb5EL>kSu&4~QUJq|6rx+s(0_J6ddyz(Jb2y_MCE z$tnv30-zMK@OHZ5pxypM>|co}2Vse(m-wE%GkP%A$VSaOp0PLb^8sZOShwK%m=-nEI`- zR2*R)>^hKcu`;=>oK@ENAi5G(vFCBl{cBuZoiPdB=KF8f5v+2 zX7KJ-edEaFspam&On&|9m9Sd#fGzTPd(QK`ZySS{pYQvWa-OESaEdl)ot$6MUQ8*;hrBpOIuqrYikR0 zxt)}zr09r>-c3%cGR-wEOhUojjqL3tZ0D|^5O$e38s+Tgv@{x@Dh~7ZLnJ3QaA8ZG zVjj9KOeWS)Ijr?BTprJ{u(06M+974JdLv3bvPn|AcS%WZ+GG(?h^ zAt$ax&BH@L+sxg+d%N+xxUdi-!OF_&_U+s4lCnjFjMzNGhNihI;inZjetntCunu3u zq1D;s*2S6q!vJVxe_lm`@_vth7{2JU48|ht?=QHyHFR~G>gwQ9la215y}gACREs7* z*+BJMe26)%$!eT;-?%*!iRt3w2YV$+^2p%Lo3n#;15;B|BO_cqJep^yl2wF+gvG_h z60)+gmk75K z<;iX*Xjvz1Z=YU7F6wd2|)NV9rXlN1>Lpk!4*IiMxWlg378IA7e zE!2C<%gYCA1C;Cs6OrM{n`>+S$%BJ~*-x3;z_aH?`RwDxLic{g#ZjCsE4eFUaS+pp zB>Bm@)F!1Um}N-vCxdIVNp0wLT} zYrk5o)4(9>W!%$7LqpTt+`N`%(w8z*W`MG2=+bcu%?aE^z-+)%xBV5_J7G`x12M!y zpU@Y}TUiy=XztoWu!-{De^r34PxCERXqaYu$k}Xtlc&HbY=CMWN%mbeL^ev|tOiTZ z@wlDX)(xKJnmUlLZ_ON9dKTl4gGI}dmo}A;dl6)=U-ZU``3r4LN88={y4)9&_T!lR{r%Gzi^2lM z@FSmpd6NeLdn_{Yp-j){sJscL;Qs0U>g#GtGd;bX5j9;@quu)W;4<4*3iL}ZR#u$u zxA~gn_7&;ra65|4bvFOOB>L-piLY}j^T89jRX8-t`^9*aG{IE(g>8u?sU`4LBpR`H zQl(Kh9!BpPB0k;jE%hiyf1>O0&r5MhZaX`>qoX4(l-B93m6d9msj=*{{w(>`@JB6<&3D!0o!8m>*Axttyv(-ReG&~S##uK!$UeBn{0%rtT2 z>1k`QNE1BrwTpyNWC-%;`4|=n&+t3{?Tf7RspD-afg|eSpQkjA@0{K^FH=B0p_v@5 zZiNk|e#QxIKSJ!Ol49=NyT`-JyF`T&HZFc=cSS?Zf<+UNu+Q*ssK@M2ijS`eM8K%1 zsUa`fE>RauvHyVoKYKy2xkrfZvNO~3{L|S6S0f`MmJ4aFQ+EF*+{`S~Pb=Atm;n~n z1OQDctE)%H#kNv7tr;m_$>5*~+>i~T+poqGS89ay5-P2f5e@Qh#E9HY7xZxTLP)tE#A)Il_eG**!eK0?k-~f3F&AezHq4+v9>f$#KQA&2I5Ma*?M}C%Jaib@gsWb{A~@Tk8rrXy?vSIk4cD~hE*mv zJ7TG$qvMUEw+G(i$3BP8x%FYt9z;Mu!0;BUOVUNuwy_9N-!|Jd6>`tQ{ED5Xqs&dHeE_Y-m}VZH@WI0PR&fGq zjj^mqJ9kTWGlWxMwKtiV*Qqcefl%%-uj9t@j~~ei36hb+7Zq@LTv5*W`S7|#ul`^N)hDxe#4GAKT zb(mC7>=T8k&yTlBpX+^yh=}<7nfHveFzp%EuJh5BM&zsPix@geD3mlNE;_m&_3goi zu-CWQ=#vsov^g@K%T7|yVExwdac2OHC(qaEPca}~D+l(lpHom)Z3tf2curJ|g{l+D z87wZmeJoK@WMSkD4El*)*(>S&`}d|VqG2}CUS@CCR#$UY7$f9TomHG)DJm+W@n*H4 zkAv%|SF~`Rj5S@23=Y2F=f7-$p#zLupRTokW#+4vc<9Nk>{6b8#{9I51yUqa(X!c} z&q5wmzL?rTg#%LyYWMfFj(Xfo`++K=fWAe0hf4%=ttwwPAP^dFaN}ijwbhi%`}fEc zeqx(f5)WrT(|sP~q#k|d?!8RZx0>q791Z8RNvV9>QeZBIEugT+vhd*C-+wSQ<3BGH zb2**eLeXMGmws=gLq!*t1_`J3KM zQNgE5h+GTKif#SfMMT!+)7cTks3l@9B$|iRhWQL;BBq_h-#o2fY2a)q95O1V_6eM0 zq_XX9s^w}-Bq|-5cXhW~Qbe~bQxqlbEWT13;ufWCt#YV5j(D1XEpl^ohC z6Rz_mRy8Zz_#joI!g#^kA9wDxO#@6mY79pU={rC#x501bsBd$HyOUPjCRsGp|0OapPY^{|lsvVB>MYdU%Qk1W#)} zNbyz0J&(kfA1tyXbY_&qBaOj9S^|62aY9rSo9+BdN=k(FOkI0N2U^~@;%ml>!H?|z zazoWtuLot?+uNNf7Us?X)PK<8v+gh2{mSQhWcjw%WBF?Y7pHqV74m}P>3f6r=HI+@KR^nkkIf$Ry#$Cnl60QWdM z*a_NOZhEt6{ABoiRk9I-p z!is?Y&~Gcozn0)7rD?3SL-uOP!yJ_Gk2Jp0&(wXCVPn_09_ugl!#`jJdbPBm46!A| zcj<$Zbk^^5(WW|V45LEkmDSyZsF5=LJ>b^C&W1!ZQp*{nFM_4esyIr&`h)ru3>8kPYibUXYy17xIR4Q^{(l^(1_7qP&)<;hd6gj7 z|FFimY93yN4Vu;+Br%6&X>~Oy)avr`haQIOU}=^*LM+CLLC4aNkoel_hn?!rZZlEd zJ~5$@o1c-9VbmR~R-)5>1r(70Py=9}RN2gVe2b=sULHK^LhNY337sIVm_6TDR}FM& zqLQJWDVbQr92jsQCaz~|?K``===u0A0wnBZWkVt&6z%L-yXq|`%0GO#QGPw^x*bBo zt4eci#H{=R)E#c$U{7g5ZGOI#t}baqMRBp5M4kJ2b;`w@VMMF@`B6mAqM&Pw4{EB% z8NHLo_2oNa;zWRcde?yJ0r^(rcKU+;1dww;sGy2_&yd)k;ey7-*-cGNfHcI#sp;#J zQ!ML#&0vhenDaPiTISCy;pXJTMq(cC*xB}Aq zt(C?tEKL^=0c}V)3CQHk$Pg~`T5h{vLVIlz*T)b;<`KK% zr;SwS2fSM!1{1(1CZ4LbH;D|a#jALRr=T8$N$^~6p#>&S#rVVD|2`Dj1jwJ;@yxqE z3-`UBpSSO!pv*OSUI$z(d3{Tz^Ncn2)kemP^YinUWpogYx3`ND$myH*#IyPvATNMu zMc@lWm@+dmwx%~UTviZ$|GIo#`Cy5=W7XsGO#kDh$Y}*T+m^X8+HdCa|6|YnNs9h< zYPjm(?HHZ5-KEa;6$?J_wxy+|kx^DK;vSIdd3kvb=o}Aa3kXS-&Sq?*D_joE>+TYx z7HfE$*6AKB!y)&JPYEGa5Hr6Q*?kEM-#KfVyqQLOsBB{~q?PfWygiZ6#Md?ftM3s0YD| zkpZOHdNp0HN;Ub&1oHh=OFtY=REK8u!3=48F75v?i0 z%n35qwQredjBm?)wgP(B;4meM6*ES`Q|65yz--ze!)ZB$1mP*+XGZPag7S_+ftf2Jt z^pFr_61TneY`vsOq%ANm%FAEijx?eLo6laWaE$gHKKbp|e7L&PTwQ#0i83z4fi)Fh zna*yo|8y}qHC0}XVRdVw!r0gtY+olGomrqfj<)BZdS7m!p!iLFvKi7y#1Vt^C7ll( z>?FLgPcK^tHy;`^UL8w~lDLTQkxNECHcz>nNCNw|PKo>G&6`(OSBr8QDk>ug@v!&% zD_vBSY~1yBOZQ?jX$5nCeAiRn*K2Cte6`fJ^2>vP|ILF@%0JyUOZ3Agl~ZGg(r$36 z5)HxwyF!_dfdMVs$lQY2wHF(D@mxJLw><8nA`+}R>Rnxbq~qoYNl}s$jWmNw-5*9o zo{ZDMnxgVsVAL>R?fR>!sTJgD=v`f$&eS=6e)~O;>*V3{-)>2?VgXbG5mSa1B^6^$ zC+$KDGe-jYVHUoUnVAV{Fp0}f$iJRF*u2`Y6yd@at8Mzdrm#pUZ;&bPIRM3k;)Bz) zz5?Fr?w;Bfexx&1*ZhC8fJ}PZV*TCQBr#)7Lx5lw3RS(k8DsR{CW69+*>(s|5 zC;wPn9L$j?U3^H}DM14DaFdjj1d9zMBd+<;-d;;N`X-A$lNi6Wu)earjz@~$@k^W-q_c#reDL!cXxNuAe)j80-K%$0}ZyZ2^Be1p*MQ1wP+mNV}4a@4rCV4a(-AO z8IR!jVi50=w@pOzKL`7p%uGDu*!u1DysxqwKqJCsRGn_}OqDYg8y~^I^JQ|g@40_i zqF|H^J(xY;hWYso;hOQuSQO{wp`xL=SoBCZ7ISX1@a)W<9Mj0c+e$ct25uo=)UKD7 zKIg>#luJ^OY2Fp9{npujaP(tJ%39~-ntI1y)`W?F-!%39rypVR%rYM*qivL+(D27) zZmgpt5?1|gg=V(MzAxVhS0%WJu`n;Q{UukFr$jMM2{+No}l1|h)88uc?iv0NT=BatA0~t(HL@tGoUgZAW zyLWT77Q)Z}I3)swlBKUXoZQJKTVDhuyd^Rxg zwf+!*4ba$unbRQbhlLOec}PpY{Oi$;v2*5fZco>~^1ttWgiPej^5&3?%$qr=t*sqz za{4j3&$IDywve_-Fj6j89>Iq%2tHtH4an6yO--V+1K=TOezImN%pF(&_G3B9;W9fSHV3sr!6B7{Ld9=_jZpV%2l9G~u0Mw1PsFvbN zp};r~W_q4n4H9McV!1!JZLqm9=D*0m%OJ@9wpjt{bqWXLzpXZ4tF?7>3^I*Nuotbw zFse1~Bo;ks`DG+0^S=A@ZG+CxtgNg7n>9zo7V*0hocdpTg5T{V+`3sT!wljLB9|)o z9nFf@pRAoTAL%giI&C>0tl`W!g@{L4jM6=YdTcE$=$n}Zh;I#b)uF$Jmr-p^Rxz?K z;hZ~^|7;02F0^~D^;!Vs+`m7;;jt<^dTSMdldtu^UeK^#A5GcV)bILMRY9@{aoQrJ z@cX&r`!Sq;POoolNSTRcu3u54E0$&u+V6bcZUpW;9ao0{g`4##gn@y=H%p5{ssN>^B*XfnVG?& zQ026o#WbXV{l(4AjoSD2`!`$w2>@YHaUAuu?QLysL0SeV?OrnqDFzX{zaf|N4w>d7 z-gn!xBpjCGYXgWf&%+Is<-WeY&PEv;UeBuwQph)Q+u|nyvf9dZW0+ovgM#7>$TIp;l&sXp+%C@?AM$xz)O`FX*x>dSSdjgn zN?)m{z^s7*9$Qz(!xQx+zXeq5{0@Mimh_D?mHL#tS2+M`_5&`&tT3q7cKf6Y&^O_* z+Jq-pXPYJCeLXz~2M1f@Wr(~ydSBJHuA-m*=jZ2?i{HPisH>ldhhz{vR+S)ODAX0T zb1+)|C7rRJaP@{+k~(Va0FPK)>Nxt-qH+vBu7*jQZ^U&O`51tu9bses$XiJhh8 zGnbeex%7Kxu;KLbGZp;KeB{8uK!1N}Vd3x37p7^96>1ph>wjDrZf(8&LwXU|Cmj+~ zKzEm0dc+96*1yaTf;#WqIAt{oZ}n{{HvX}AJmGQ%KI}d$Rtd?2k?r1M|f>`(=@SSfpT4XYKdeFV*YGp;GCEHTh$`3$1>K2L}Ko z)_i=^yy0bUk9PMX{^t-iz0l!@Hb8tpl(MApg@uKIJmt1unXZ2y^=*IS0fN(d`T@%J z%x5)KRT_6mOwf^6S65w~u`~b3S3ijP=)G1uzq)NnPV8qTGpWF>hzIe9OE>|WmyNCB z)0_t{3(GceSpW2by}et1Onqvf&>?}riSLpOKOt(=b2*Wb(lNE<((KPJLH3qFX(LW3 zQImNRB_W7s<_{nd&&bHW%+2Xer{?G90~?yvW|l9(P$5eh7|{poLnsCxVq!q~#Fw^B z)z~4bs;U|rJ;sW)L830HP$IC1CV2_MYTZ)3oB2YpT&MjNBvn{A6C-2y#6+!1fhqu= z9Qjl{B}at{-4EAi!(37+i6y+6`YLaOxwsq$f^n9_m44mR{i=UceIcI*xVU$RUc|uh znKXw#+2}?$IIJtl$zkpJ`TA1mC@FdIfGP>CogXhV07yt_bi6g;T@I2t`Y6ic@L{Oc zBs-8-%bjWEASDA%AILufE8e@fyrBb2x3{yiv%5AfO`w=Y7X4Ahu`;I4y-A;MgF%TDx3UK!E@R)y^N)1<#C2w*7)b_UM=PE+v2-j2Y#7zLqtk$+Jen59~=7EW9Xt@o3S zG-DLe2EuOU`X9gaNXf8oIabE3%sngi+y~@({T)x}qcA3cF-4W{A44e~`gkm-x*Bid zIY#E+`3!}Tu6D)2kQkPug8i4$8-L`j&Qq63v*R(TA{6Sbo|RisDVMI)?okxI0p+Ohx}Tk7lLUAC zUU99b&6Mau84^zv;vnK8B0Yik)7gPkcD?Jel)S`;R*r%JNK-4CpRsn&andyHAD5Cn zy71XZemC1J;<~%ozO`jpXi(Nq9pb;QnHfq7eTrVt)6eJH5I5_Z9G46PKc|B(c?|b0F@XdOvx~RTB>7f|bz&X>iXU{R_jr0QmL~QO_#G^4P?7jdg$|8*m*lL3UES zvfqlwj_CGh(*ts0-Yax-a^-;p-emo30u zO9P2$q&?}{)kDuAG5Tm+wXAUM&rU_^WkOuq18xql*zSWI5Mu4%U914`O7U>*9!~)w zEdoT}F2{WaN{zBnQdu0!f^y5NV~M)(F~lE9Eo(oe@fc5@roJ%49$8K?PwaZN@vW7~ zbij3YiOX#@#zPBduDPo5&3A!a@<2SFXTMApaSk`ytK#g9u*D-LAXwYl3TDImjl?P? z1&+6A*zNz_HD(4tG%GPT)g2KP9i7PwU&nqfe&=td{a>RxYoW#-vxOKQvps14NN#yD z-gkzQv|u(r39PHDi;pL$>mo{A>A%=nXx-VdMY0xgmn=7XqiASofEXnWG!!!|?b+xZC z-hcadDsCOhjph20?LqDVsyZUoY6wPXYLX_?+~6{0ARv|sAs;Z#7KVqN?M;jU%`mwe373w1f zo0you!os3kTwGMr)RcM)sMW;gM7337R8-W?GXPWrV`D%J!5=81j6zUQP{u|_ulBlG zNZodt(*(UGe1U_U0V%Twq)WfmH{>Zl(K#@dMXxR{+_t(6%lB9Nt`!kal=Kx86l7&F z8IoQY1p=dMxho1LY-3{+`AYxtn+|qL0pPPB&ZRJ-q@WNBCfMDgAMtfWg4(2Q22L&5 zqQl*^IcaG(+|hZ#1k0M(FHHnyw%EGT8TjlL?_k-?)KNdlFV=0}OyF_c=t*Ep{c1DZ z@zU$*b$w-BX|YCpV%I`R(^cSQPmc^p-9t%u;c)mHQ_-a9jnJB=CMboDjt&e4^Bktj z7t{wlujNeTvACL8FL0#SzkIw6(82@gn=XWa7TZi=<`|HG_>{DZ;$cs5r*8R+i;2M# z5>Rox%F*(KjSdT#L-Y9Q>CJ$RtFNz5HAq%tT&Dq&>$0fC#2_+X1t=8yump(j?rztU zods}v1_lNL1#OOK5DCUiteBCKIxbbK(9lp{Utcii@cZ+3k#)vMB6M_gjGU)WpPK4E zYyy_J*d##P2&4T1j7hXjHSG&fL|?<`y`OMAc7j;oH(g)30&fTmE3Dl)1VMp!WhHyP z<%{H|J6aWZ9~^J!u*FU|cuoF~+wLE8c>fOvC9Z^Cs*OHLz zgi$`;gIDp=EWNQ(DmCP^dx*y>VJof0E5d%*ytUka4eF6*DX412thD|b%yYkR%iOmU zv+FJV8m?2_aEN(;`I_*kdUI)h!F1J_rPo`DuE6$(J5U$E`j?lN=UH%U&0PT{gT4K+ za><_i3UPZL)yqoz$2oQ>%<@S!tC{e35shIo^9~akkm!w!Q~`Yj>Lp`H=Mi9TajXU0 z>~77#){U<3AGejLTDPd!-|Um5x{?se=`~hD(ghJ+nM!m28ajhOWaZ_LkB?LNU8}j) z0SM=E{}-Z1Bl%y)XehuUfdZv=2@DES+-b#zQYGL&Q=bP?=|4yHFuLrG3=QXR`wfGk zOu`EI<*kdczsB@l{>>u(HKqrMNXP>)DyI(^X;)Vlm|_FBCiKwE1!INac3@y2A0MBa zo7)2xP)q|E?R($5rKP3ANO*yQ7PwQ8pO1lo@zt~p@I%0&0op~n+`}ZQH0*k~^-Qz! zzFhSg9$zo<=2XexMeS$H87hMZ0z1-(Tm3 zy{Y@w%TgGu9beatoGKz4>ag~JTSiLCOX5H+SM&k^myn#-=g+Q&hEz^8GV%Wob`2`O zNZ2la#n~btCSLvi9rg6l!-qUhTM|cI_7U>IHxTg8@3xso%noTcb6U0SLVwNL{i5zm zLj$_FJIvjn4v;BCZNieNuZGF zS-$Q~dyPMavJX3`y&r6jMSw?^oM__4fsQ%cw;rN>DoN#4bu8X3us+eGHpof8m<0Bm z&tyOSXNPq!`lHu4@g(>xIx;VE`=5Q74JNy1II+L}es8(!*VIDST!9*k{u?odx@`cg zU^=p91i=IeZMc!c(Es~Uh8t0|KKJVU{NQG7_u;e zvyyd!2_r?{MglNlM6St2(s>ZfqgJT?@e-^;3*$Z11HH&VlTO26QBph&y2SYS+$~B` zJ!Q7hGH>?=dSt>LG|cD13ad9hM3Yz_({gs?O`A`|vR90=u*UBDeURRRC&lpOVQ(t5 zgcceQDGAr<57wXfgC?2??4WH5*}Xv53lYO&<&O%``1$}J-^9iyOqB2xJ54<*ifc@3 zyF^d;_N@%3!f3e1f-iuBof17FbOc<`+Pe7s<#F6eBF8Vm%76rEBN-@z;hF)=Iw9Bv zo#+VS^m!5CD#L%v3P(gOp=kS;q$Hg|(I&OH%7=jQ?SJ4Rwc#ueoh>HU=cMx;n l88~y&iqGHk_xbCai7!b^Xsrt-!OZ^+Nl`hGVj(@R{{>SMho1ld literal 0 HcmV?d00001 diff --git a/docs/src/08_concepts.adoc b/docs/src/08_concepts.adoc index 591ccf1f..1eb0a1bb 100644 --- a/docs/src/08_concepts.adoc +++ b/docs/src/08_concepts.adoc @@ -55,19 +55,48 @@ image::08-Crosscutting-Concepts-Structure-EN.png["Possible topics for crosscutti See https://docs.arc42.org/section-8/[Concepts] in the arc42 documentation. **** +=== Domain concepts +====Domain model -=== __ +image::08-Domain-Model.png["model-diagram"] -__ +=== User experience concepts +==== Consistency +Design elements should be consistent throuhgout the design so that the user does not get confused. -=== __ +==== Progress indicators +Provide the users with some sort of progress indicator within the quiz. This helps users understand their current position in the quiz. -__ +==== Feedback on correct or incorrect answers +Provide immediate feedback to users after they answer each question, indicating whether their response was correct or incorrect. -... +==== Internationalization +Provide other language options other than english. -=== __ -__ +=== Security and Safety concepts + +==== Secure storage +Make sure to never store the user passwords in plain text, to secure the users data. + +==== Data encryption +Utilize encryption techniques to secure data in any transmission between actors of owr application. + + +=== Architecture and design patterns concepts + +==== Microservices +The microservices pattern combines design patterns to create multiple services that work interdependently to create a larger application. Because each application is small, it's easier to update them when needed. We will be using this pattern during development. + +=== Under-the-hood concepts + + +=== Developement concepts + + +=== Operational concepts + + +__ From e8ca01b71d013a9a5c70f99f353b9217abea5978 Mon Sep 17 00:00:00 2001 From: lauratbg Date: Sat, 17 Feb 2024 11:59:33 +0100 Subject: [PATCH 25/33] Political constraints --- .vscode/settings.json | 3 + docs/src/02_architecture_constraints.adoc | 3 + package-lock.json | 139 ++++++++++++++++++++++ package.json | 5 + 4 files changed, 150 insertions(+) create mode 100644 .vscode/settings.json create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..ae1c8ac3 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "asciidoc.antora.enableAntoraSupport": true +} \ No newline at end of file diff --git a/docs/src/02_architecture_constraints.adoc b/docs/src/02_architecture_constraints.adoc index 10bd7a8b..042cc90e 100644 --- a/docs/src/02_architecture_constraints.adoc +++ b/docs/src/02_architecture_constraints.adoc @@ -12,6 +12,9 @@ Meetings:: There will be a meeting every week where will be discussions about pr Time:: There will be several deliveries and the entire project must be developed and finished in the semester of the course. Budget:: There will not be any financial support. +=== Political constraints +Data protection:: The private information of the users must be stored securely. + === Conventions English:: As this course is taught in English, the project must be also developed in that language. ARC42:: The documentation must follow the arc42 template diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..3a0c3c35 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,139 @@ +{ + "name": "wiq_en1b", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "asciidoctor-emoji": "^0.5.0" + } + }, + "node_modules/@asciidoctor/core": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@asciidoctor/core/-/core-3.0.4.tgz", + "integrity": "sha512-41SDMi7iRRBViPe0L6VWFTe55bv6HEOJeRqMj5+E5wB1YPdUPuTucL4UAESPZM6OWmn4t/5qM5LusXomFUVwVQ==", + "peer": true, + "dependencies": { + "@asciidoctor/opal-runtime": "3.0.1", + "unxhr": "1.2.0" + }, + "engines": { + "node": ">=16", + "npm": ">=8" + } + }, + "node_modules/@asciidoctor/opal-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@asciidoctor/opal-runtime/-/opal-runtime-3.0.1.tgz", + "integrity": "sha512-iW7ACahOG0zZft4A/4CqDcc7JX+fWRNjV5tFAVkNCzwZD+EnFolPaUOPYt8jzadc0+Bgd80cQTtRMQnaaV1kkg==", + "peer": true, + "dependencies": { + "glob": "8.1.0", + "unxhr": "1.2.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/asciidoctor-emoji": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/asciidoctor-emoji/-/asciidoctor-emoji-0.5.0.tgz", + "integrity": "sha512-3lsYV2kdX1MseZAm1KgSPwny+P7Fr83ZPH4MxNISIZAz3cPEGaFgNxRbr/uha4Tyv+oarpoaY5cGI7Fe0HluZg==", + "peerDependencies": { + "@asciidoctor/core": ">=2.2 <4.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "peer": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "peer": true + }, + "node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "peer": true + }, + "node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/unxhr": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unxhr/-/unxhr-1.2.0.tgz", + "integrity": "sha512-6cGpm8NFXPD9QbSNx0cD2giy7teZ6xOkCUH3U89WKVkL9N9rBrWjlCwhR94Re18ZlAop4MOc3WU1M3Hv/bgpIw==", + "peer": true, + "engines": { + "node": ">=8.11" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "peer": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..d5f2efb1 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "asciidoctor-emoji": "^0.5.0" + } +} From 0c1f6214cbd8440c131d41003facfd00cd665610 Mon Sep 17 00:00:00 2001 From: lauratbg Date: Sat, 17 Feb 2024 12:01:50 +0100 Subject: [PATCH 26/33] Removed political changes --- docs/src/02_architecture_constraints.adoc | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/src/02_architecture_constraints.adoc b/docs/src/02_architecture_constraints.adoc index 042cc90e..4eabaeec 100644 --- a/docs/src/02_architecture_constraints.adoc +++ b/docs/src/02_architecture_constraints.adoc @@ -12,8 +12,6 @@ Meetings:: There will be a meeting every week where will be discussions about pr Time:: There will be several deliveries and the entire project must be developed and finished in the semester of the course. Budget:: There will not be any financial support. -=== Political constraints -Data protection:: The private information of the users must be stored securely. === Conventions English:: As this course is taught in English, the project must be also developed in that language. From d5616891392c3f5e16f463ce98364bee542218d2 Mon Sep 17 00:00:00 2001 From: lauratbg Date: Sat, 17 Feb 2024 12:02:35 +0100 Subject: [PATCH 27/33] Added political constraints added to topic 2 --- docs/src/02_architecture_constraints.adoc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/src/02_architecture_constraints.adoc b/docs/src/02_architecture_constraints.adoc index 10bd7a8b..042cc90e 100644 --- a/docs/src/02_architecture_constraints.adoc +++ b/docs/src/02_architecture_constraints.adoc @@ -12,6 +12,9 @@ Meetings:: There will be a meeting every week where will be discussions about pr Time:: There will be several deliveries and the entire project must be developed and finished in the semester of the course. Budget:: There will not be any financial support. +=== Political constraints +Data protection:: The private information of the users must be stored securely. + === Conventions English:: As this course is taught in English, the project must be also developed in that language. ARC42:: The documentation must follow the arc42 template From 95cd7e88680e825810f3db9e3d0ed233a00e2a75 Mon Sep 17 00:00:00 2001 From: sinne10 Date: Sat, 17 Feb 2024 12:26:14 +0100 Subject: [PATCH 28/33] Added some developement and operational concepts --- docs/src/08_concepts.adoc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/src/08_concepts.adoc b/docs/src/08_concepts.adoc index 1eb0a1bb..edba9e7f 100644 --- a/docs/src/08_concepts.adoc +++ b/docs/src/08_concepts.adoc @@ -56,7 +56,7 @@ See https://docs.arc42.org/section-8/[Concepts] in the arc42 documentation. **** === Domain concepts -====Domain model +==== Domain model image::08-Domain-Model.png["model-diagram"] @@ -91,12 +91,20 @@ Utilize encryption techniques to secure data in any transmission between actors The microservices pattern combines design patterns to create multiple services that work interdependently to create a larger application. Because each application is small, it's easier to update them when needed. We will be using this pattern during development. === Under-the-hood concepts - +TBD === Developement concepts +==== Testing +TBD -=== Operational concepts +==== Deployment +TBD +==== Task branching +We should create 1 branch per task and merge them as soon as possible. + +=== Operational concepts +TBD __ From 5ad0888bc28c8b4e199a84cdd6c9047198add51c Mon Sep 17 00:00:00 2001 From: lauratbg Date: Sat, 17 Feb 2024 12:28:01 +0100 Subject: [PATCH 29/33] Adding as a technical constraint the API --- docs/src/02_architecture_constraints.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/02_architecture_constraints.adoc b/docs/src/02_architecture_constraints.adoc index 042cc90e..562c0962 100644 --- a/docs/src/02_architecture_constraints.adoc +++ b/docs/src/02_architecture_constraints.adoc @@ -5,6 +5,7 @@ ifndef::imagesdir[:imagesdir: ../images] === Technical constraints Wikidata:: The information needed must be got from this central storage. GitHub:: All the communication and code-sharing will be done by GitHub, so all the work will be recorded there. +API:: Give access about users and generated questions through an API. === Organizational constraints Team size:: The team is formed by 6 people. From c605e22b528a9ffed76cfe8756274e60b876699a Mon Sep 17 00:00:00 2001 From: ErdemYabaci Date: Sat, 17 Feb 2024 12:32:55 +0100 Subject: [PATCH 30/33] little fixes --- docs/src/11_technical_risks.adoc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/src/11_technical_risks.adoc b/docs/src/11_technical_risks.adoc index a4f0f5cd..f8953f74 100644 --- a/docs/src/11_technical_risks.adoc +++ b/docs/src/11_technical_risks.adoc @@ -8,9 +8,19 @@ ifndef::imagesdir[:imagesdir: ../images] .Contents A list of identified technical risks or technical debts, ordered by priority +.Motivation +“Risk management is project management for grown-ups” (Tim Lister, Atlantic Systems Guild.) + +This should be your motto for systematic detection and evaluation of risks and technical debts in the architecture, which will be needed by management stakeholders (e.g. project managers, product owners) as part of the overall risk analysis and measurement planning. + .Form List of risks and/or technical debts, probably including suggested measures to minimize, mitigate or avoid risks or reduce technical debts. + +.Further Information + +See https://docs.arc42.org/section-11/[Risks and Technical Debt] in the arc42 documentation. + **** In decision-making processes, we often face constraints. These constraints, known as risks and technical debt, are compromises made to achieve goals. Risk involves the possibility of not desired outcomes, while technical debt entails short-term solutions instead of long-term sustainability. Both are important considerations, as excessive acceptance can lead to future complications. @@ -28,7 +38,7 @@ There is the table of risks the team is taking for development purposes ordered | *Time* | It should be kept in mind that the team has deadlines with different requirements, demanding them to work regularly. | Have better time-management skills, keep track of and help each other to not waste any time on hard / complex parts of the project. |=== -.Technical debts +### Technical debts There is the table of technical debt shortcuts the team is taking sacrificing long-term solutions. From 9a56d9357e4910fbcd7ed5be3b54ed9173ef2b35 Mon Sep 17 00:00:00 2001 From: jorge Date: Sat, 17 Feb 2024 12:34:57 +0100 Subject: [PATCH 31/33] Fixed type --- docs/src/12_glossary.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/12_glossary.adoc b/docs/src/12_glossary.adoc index cf2e42d5..b5ba9d7a 100644 --- a/docs/src/12_glossary.adoc +++ b/docs/src/12_glossary.adoc @@ -47,5 +47,5 @@ See https://docs.arc42.org/section-12/[Glossary] in the arc42 documentation. |HTTPS (Hypertext Transfer Protocol Secure) is the secure version of HTTP, the protocol used for transferring data between a web browser and a website. |*Stakeholder* -|Any one involved in the development process of the system, or that is affected by it somehow. +|Anyone involved in the development process of the system, or that is affected by it somehow. |=== From 2366e0b851f4a4ce4db3b2b8307415e3f3d0b2e1 Mon Sep 17 00:00:00 2001 From: lauratbg Date: Sat, 17 Feb 2024 12:44:57 +0100 Subject: [PATCH 32/33] Removed title table 1 --- docs/src/10_quality_requirements.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/src/10_quality_requirements.adoc b/docs/src/10_quality_requirements.adoc index 9225466e..8f9ace78 100644 --- a/docs/src/10_quality_requirements.adoc +++ b/docs/src/10_quality_requirements.adoc @@ -49,7 +49,6 @@ In any case the tree should include links to the scenarios of the following sect === Quality Scenarios -.Usage scenarios |=== | Quality | Scenario From b0eef08e246b90dc46b72c224b2c291acd6831d4 Mon Sep 17 00:00:00 2001 From: ErdemYabaci Date: Sat, 17 Feb 2024 12:44:10 +0100 Subject: [PATCH 33/33] removing header from table --- docs/src/11_technical_risks.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/src/11_technical_risks.adoc b/docs/src/11_technical_risks.adoc index f8953f74..022fa93a 100644 --- a/docs/src/11_technical_risks.adoc +++ b/docs/src/11_technical_risks.adoc @@ -29,7 +29,6 @@ In decision-making processes, we often face constraints. These constraints, know There is the table of risks the team is taking for development purposes ordered by priority. -.Risks [options="header",cols="^.^1,2,2"] |=== |Risk|Explanation|Solution