1. Introduction and Goals
1.1. 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 accessible through the web.
+5.1. Whitebox Overall System
- -<Overview Diagram>
+5.3. Level 2
+- Motivation
-
-
<text explanation>
+In this level of descomposition of the system we start to identify the different microservices of the system.
- Contained Building Blocks
-
-
<Description of contained building block (black boxes)>
-
- - Important Interfaces -
-
-
<Description of important interfaces>
-
-
5.1.1. <Name black box 1>
- -5.1.2. <Name black box 2>
+6. Runtime View
+5.2. Level 2
- -5.2.1. White Box <building block 1>
- -<white box template>
-5.2.2. White Box <building block 2>
-<white box template>
-…
-5.2.3. White Box <building block m>
-<white box template>
-5.3. Level 3
- -5.3.1. White Box <_building block x.1_>
- -<white box template>
-5.3.2. White Box <_building block x.2_>
-<white box template>
-5.3.3. White Box <_building block y.1_>
-<white box template>
-6. Runtime View
-<Overview Diagram>
--
-
- Motivation -
-
-
<explanation in text form>
-
- - Quality and/or Performance Features -
-
-
<explanation in text form>
-
- - Mapping of Building Blocks to Infrastructure -
-
-
<description of the mapping>
-
-
TBD
7.2. Infrastructure Level 2
7.2.1. <Infrastructure Element 1>
-<diagram + explanation>
-7.2.2. <Infrastructure Element 2>
-<diagram + explanation>
-…
-7.2.3. <Infrastructure Element n>
<diagram + explanation>
+TBD
8. Cross-cutting Concepts
8. Cross-cutting Concepts
8.1. <Concept 1>
+8.1. Domain concepts
+8.1.1. Domain model
+8.2. User experience concepts
+8.2.1. Consistency
<explanation>
+Design elements should be consistent throuhgout the design so that the user does not get confused.
+8.2.2. Progress indicators
+Provide the users with some sort of progress indicator within the quiz. This helps users understand their current position in the quiz.
+8.2.3. Feedback on correct or incorrect answers
+Provide immediate feedback to users after they answer each question, indicating whether their response was correct or incorrect.
+8.2.4. Internationalization
+Provide other language options other than english.
+8.2. <Concept 2>
+8.3. Security and Safety concepts
+8.3.1. Secure storage
<explanation>
+Make sure to never store the user passwords in plain text, to secure the users data.
+8.3.2. Data encryption
…
+Utilize encryption techniques to secure data in any transmission between actors of owr application.
+8.4. Architecture and design patterns concepts
+8.4.1. 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.
+8.5. Under-the-hood concepts
+TBD
+8.6. Developement concepts
+8.6.1. Testing
+TBD
+8.6.2. Deployment
+TBD
+8.6.3. Task branching
+We should create 1 branch per task and merge them as soon as possible.
+8.3. <Concept n>
+8.7. Operational concepts
+TBD
+<explanation>
+<All concepts are subject to change>
8.3. <Concept n>
9. 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)