Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Issue#32-write-documentation-for-the-annex #40

Merged
merged 1 commit into from
Feb 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -97,4 +97,6 @@ include::src/11_technical_risks.adoc[]
// 12. Glossary
include::src/12_glossary.adoc[]


<<<<
// 13. Annex
include::src/13_annex.adoc[]
69 changes: 69 additions & 0 deletions docs/src/13_annex.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
ifndef::imagesdir[:imagesdir: ../images]

[[section-annex]]
== Annex
=== Functional Requirements
==== Users Register.
[none or no-bullet]
* UR 1. The system must allow an unregistered user to register in the application.
* UR 2. The system must request data to register:
[none or no-bullet]
*** UR 2.1.1. Username.
*** UR 2.1.2. Email address.
*** UR 2.1.3. Password.
* UR 3. The system shouldn't allow the user to be registered when any value entered by the new user is invalid.
* UR 4. The system must check for existing users with the data obtained.
[none or no-bullet]
** UR 4.1. The system shouldn't allow the user to create a new account if the email matches with an existing user.
** UR 4.2. The system should allow the user to create a new account if the email does not match with an existing user.
* UR 5. The system must recognice the user as registered.

==== Users Log.
[none or no-bullet]
* UL 1. The system must allow an unidentified user to log in.
[none or no-bullet]
** UL 1.1. The system must request the email address as the user identifier.
[none or no-bullet]
*** UL 1.1.1. The system must check that its format is valid.
*** UL 1.1.2. The system must check the box is filled.
** UL 1.2. The system must request the user's password.
[none or no-bullet]
*** UL 1.2.1. The system must check the box is filled.
** UL 1.3. The system must automatically validate the entered data to verify when it corresponds to a registered user account.
[none or no-bullet]
*** UL 1.3.1. When the user is not stored in the system, an error message must be displayed.
*** UL 1.3.2. When the user exists in the system, but the password does not match, a message must be displayed to the user notifying them of the error.
*** UL 1.3.3. When the user is stored in the system and the password matches, the user must be logged in.
* UL 2. The system must allow users who are logged in to log out.

==== Users Data.
[none or no-bullet]
* UD 1. The system must allow all identified users to access their historical data.
[none or no-bullet]
** UD 1.1. Identified users must be able to access the number of:
[none or no-bullet]
*** UD 1.1.1. Games they have played.
*** UD 1.1.2. Questions they have answered correctly.
*** UD 1.1.3. Questions they have answered incorrectly.
** UD 1.2. Identified users must be able to access the ranking of the game.

==== Playing WIChat.
[none or no-bullet]
* PWIC 1. The system must only allow identified users to play WIChat.
* PWIC 2. The system must retrieve indormation for the questions from Wikidata.
* PWIC 3. The system must provide the user with a LLM API to help answering the questions.
[none or no-bullet]
** PWIC 3.1 The LLM must provide the user with hints about the questions.
* PWIC 4. The game consists of nine rounds by default.
[none or no-bullet]
** PWIC 4.1. the system must automatically provide a question to the identified user.
** PWIC 4.3. The system must automatically provide one correct answer.
** PWIC 4.2. The system must automatically provide three distractors.
* PWIC 5. The system must allow the user to answer the questions if there is time remaining.
[none or no-bullet]
** PWIC 5.1. The system must check when the identified user has provided an answer in the time given:
[none or no-bullet]
*** PWIC 5.1.1. If the answer is correct.
*** PWIC 5.1.2. If the answer is incorrect.
** PWIC 5.2. The system must move to the next round when the specified time has ended.
* PWIC 6. The system must terminate the game and give a score when the last round is over.