diff --git a/images/03-deployment-diagram-EN.png b/images/03-deployment-diagram-EN.png new file mode 100644 index 00000000..372e2fb7 Binary files /dev/null and b/images/03-deployment-diagram-EN.png differ diff --git a/images/03_Business_Context_Diagram.png b/images/03_Business_Context_Diagram.png new file mode 100644 index 00000000..6010a5c8 Binary files /dev/null and b/images/03_Business_Context_Diagram.png differ diff --git a/images/03_Technical_Context.png b/images/03_Technical_Context.png new file mode 100644 index 00000000..9b202551 Binary files /dev/null and b/images/03_Technical_Context.png differ diff --git a/images/05_Level_3_Diagram.png b/images/05_Level_3_Diagram.png new file mode 100644 index 00000000..4c654c43 Binary files /dev/null and b/images/05_Level_3_Diagram.png differ diff --git a/images/05_level1Diagram.png b/images/05_level1Diagram.png new file mode 100644 index 00000000..eb2fdd29 Binary files /dev/null and b/images/05_level1Diagram.png differ diff --git a/images/05_level2Diagram.png b/images/05_level2Diagram.png new file mode 100644 index 00000000..6e4ddedb Binary files /dev/null and b/images/05_level2Diagram.png differ diff --git a/images/Consult Statistics.png b/images/Consult Statistics.png new file mode 100644 index 00000000..88f68fb2 Binary files /dev/null and b/images/Consult Statistics.png differ diff --git a/images/Consult questions.png b/images/Consult questions.png new file mode 100644 index 00000000..399aa342 Binary files /dev/null and b/images/Consult questions.png differ diff --git a/images/QualityTree.png b/images/QualityTree.png new file mode 100644 index 00000000..6266b73f Binary files /dev/null and b/images/QualityTree.png differ diff --git a/images/Question generation 1.png b/images/Question generation 1.png new file mode 100644 index 00000000..1453547b Binary files /dev/null and b/images/Question generation 1.png differ diff --git a/images/Question generation 2.png b/images/Question generation 2.png new file mode 100644 index 00000000..2df4b6ee Binary files /dev/null and b/images/Question generation 2.png differ diff --git a/images/Sequence diagram.png b/images/Sequence diagram.png deleted file mode 100644 index 3f560336..00000000 Binary files a/images/Sequence diagram.png and /dev/null differ diff --git a/index.html b/index.html index c88029d7..f872609a 100644 --- a/index.html +++ b/index.html @@ -452,27 +452,40 @@
The WIQ web application allows users to play a game similar to the one of Saber y Ganar quiz show. This game consists on answering a number of questions with different types and subjects obtaining a prize for each question well answered. Game´s questions are automatically generated from data available in Wikidata (https://www.wikidata.org/).
+The system will have at least a web front-end which will be available and accessible through the web.
+Users will be able to register to the system and obtain the historical data from their participation: number of games, questions passed and failed, times, etc ..
+Questions will be automatically generated from data available in Wikidata.
+Questions have to be answered before some specific time.
+Each question will have one right answer and several incorrect ones or distractors. Both the right answer and the distractors should be automatically generated.
+The system will give access to the information about the users through an API.
+The system will give access to information about the generated questions through an API.
+Quality Goal | +Description | +
---|---|
Satisfaction |
+Users will not get repeated questions in at least a hundred questions. |
+
Modularity |
+The application will be divided in modules so that a change on one component has minimal impact on other components. |
+
Testability |
+The application should be able to go through different test and complete them successfully. |
+
Learnability |
+Any user must be able to use the app with ease. The interface must remind the user to the one in Saber y Ganar quiz show. |
+
Time behaviour |
+Users will not have to wait more than 500ms to get a new question. |
+
<Role-1>
<Contact-1>
<Expectation-1>
Professors
ASW module professors
Get a great project which can be evaluated and shown in their github.
Developers
wiq_es6c team
Carrying out a full real project using all the knowledge obtained in the degree.
<Role-2>
<Contact-2>
<Expectation-2>
Responsible company
HappySw
Development of an experimental version of the Saber y Ganar quiz show.
Client
RTVE
Getting a Web App to promote its famous Saber y Ganar quiz show by letting their viewers enjoy a similar experience.
Main beneficiaries
Public users
Having a great time playing an interesting and easy to use quiz game.
Side beneficiaries
Wikidata
Obtain free promotion of their application and its ease to use in multiple projects.
Constraint | +Explanation | +
---|---|
OS/Browser Independence |
+The project must be available to the maximum amount of users feasible. That includes support for mainstream OSs (Windows, Linux, MacOS) and browsers. (Chrome, Safari, Firefox, Edge) |
+
Usage of REACT |
+The REACT JS framework will be used to develop the front-end of the project. |
+
Docker |
+The application will operate within a Docker environment. |
+
Version Control |
+In order of the project to be graded adequately, it must use GitHub as its version control system. The contributions of each team member and agreements reached must be easily traceable. |
+
Wikidata |
+To generate questions, WikiData would be used as a knowledge base. Wikidata is a free and open knowledge base that can be read and edited by both humans and machines. Wikidata acts as central storage for the structured data of its sister Wikimedia projects, including Wikipedia, Wikivoyage, Wiktionary, Wikisource and others. |
+
Continuous integration and delivery |
+The development must progress through frequent integration of small changes into the main branch. New features must be automatically deployed with ease. (In our case, using Docker) |
+
Constraint | +Explanation | +
---|---|
Time |
+The team has to complete the project during the semester. |
+
Team size |
+The development teams must be composed of 5-7 members. In our case, the final team is composed of 6 members. |
+
Budget |
+No budget is provided for the development, so any costs that may arise have to be covered by the development team. |
+
Deliverables |
+Along the development process, the team must prepare deliverables set for certain dates, consisting of documentation and/or application prototypes. |
+
Team meetings |
+In order to plan the development of the project, as well as to assign tasks and make design decisions, the team will participate in several meetings. These meetings can be done in and out of the classroom, as needed. A record must be created for every meeting, summarizing the progress made. |
+
Project testing |
+The development team must test acceptable coverage of the project using different methods (unit testing, integration testing, acceptance testing… etc.) |
+
Knowledge |
+There are many aspects of the development of this project that are foreign to some of us (usage of REACT, deployments, microsystems architecture… etc.) so some research is required to keep up. |
+
Constraint | +Explanation | +
---|---|
Use of English |
+The totality of the project must be written in English, as to facilitate its understanding internationally. |
+
Programming Language conventions |
+We ought to follow the conventions specific to the programming languages we’re employing. |
+
Documentation format |
+The documentation must adhere to the Arc42 method, ensuring it is clear, simple, and effective. |
+
Clean code |
+In order to ease the understanding and maintenance of the project, all code written must be organized, descriptive and easy to read. |
+
Accesibility |
+The application should be user-friendly, allowing all individuals to navigate effortlessly, irrespective of any disabilities, ensuring inclusivity for all users. |
+
Microservices |
+The application will be divided into microservices to facilitate its development. |
+
<Diagram or Table>
-<optionally: Explanation of external domain interfaces>
-Entity |
+Input |
+Output |
+
User |
+App usage and experience. |
+The user will introduce and send its credentials every time it creates a new account or logs into an existing one. |
+
WebApp |
+User data and input, as well as external API calls received. |
+Handled API calls, sent to their respective microservice in order to be processed and answered. |
+
Wikidata |
+Calls to Wikidata’s REST API asking for certain data, which will be used to construct the questions. |
+Said data. Its format may vary, according to the necessities of the questions generator. |
+
<Diagram or Table>
-<optionally: Explanation of technical interfaces>
+<Mapping Input/Output to Channels>
Risk | +Consequence | +
---|---|
Knowledge of REACT |
+It is a framework that no team member has used before. Therefore, we have all had to learn how to use it. |
+
Internal group conflicts |
+Lack of free time for team members makes group work difficult. |
+
<Term-1>
<definition-1>
MongoDB
NoSQL database system that, instead of storing data in tables as a relational database does, stores data in JSON-like documents with a flexible schema.
REACT
Open source JavaScript library developed by Facebook to build interactive and responsive user interfaces (UI). It is one of the most popular tools for modern web application development.
Usability
Ease with which users can interact with a product, system or application to achieve their objectives effectively, efficiently and satisfactorily.
Dynamic question generation
There may be circumstances where pre-generating the questions isn’t feasible. So instead, questions can be generated while the user is playing the game and answering questions.
Decoy answer
For questions that offer multiple options to select the correct answer from, it will be necessary to generate believable incorrect answers, that match the topic and theme of the question. For example, when asking about the longest river in Egypt, along with the correct answer (The Nile) some other river names of the country could be chosen for alternatives.
<Term-2>
<definition-2>
Question template
General structure of a question, which can or cannot transcend topics. For example, valid templates for questions could be: "What’s the tallest mountain in <country>?" "What is <concept>?" "Who invented <x>?"