diff --git a/images/05-BussinesLogic-Level2.png b/images/05-BussinesLogic-Level2.png new file mode 100644 index 00000000..e6defb4a Binary files /dev/null and b/images/05-BussinesLogic-Level2.png differ diff --git a/images/05-Database-Level2.png b/images/05-Database-Level2.png new file mode 100644 index 00000000..51cc686b Binary files /dev/null and b/images/05-Database-Level2.png differ diff --git a/images/05-Level1.png b/images/05-Level1.png new file mode 100644 index 00000000..85a992da Binary files /dev/null and b/images/05-Level1.png differ diff --git a/images/05-ScopeAndContext.png b/images/05-ScopeAndContext.png new file mode 100644 index 00000000..0a63bda7 Binary files /dev/null and b/images/05-ScopeAndContext.png differ diff --git a/images/05-UserInterface-Level2.png b/images/05-UserInterface-Level2.png new file mode 100644 index 00000000..e8bb6923 Binary files /dev/null and b/images/05-UserInterface-Level2.png differ diff --git a/images/Sequence diagram.png b/images/Sequence diagram.png index c5e1de84..3f560336 100644 Binary files a/images/Sequence diagram.png and b/images/Sequence diagram.png differ diff --git a/index.html b/index.html index f64d6285..a9f73b8a 100644 --- a/index.html +++ b/index.html @@ -459,9 +459,9 @@

arc42 T
  • 4. Solution Strategy
  • -
  • 5. Building Block View +
  • 5. Building Block View (In progress) @@ -482,13 +482,9 @@

    arc42 T

  • 8. Cross-cutting Concepts
  • 9. Architecture Decisions
  • @@ -803,24 +799,10 @@

    3.1. Business Context

    -

    In our business setting, we have developed a web application called WIQ, where users engage in a question-based game. -This application draws inspiration from the renowned Spanish television program "Saber y Ganar," providing users with an interactive and entertaining experience.

    +

    <Diagram or Table>

    -
    - +
    +

    <optionally: Explanation of external domain interfaces>

    @@ -842,41 +824,15 @@

    3.2. Technical Context

    - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TechnologiesDescription

    JavaScript

    A fundamental programming language for web development. It’s used to create logic and interactivity in web and mobile applications.

    React

    A JavaScript framework used to build interactive and dynamic user interfaces. It’s especially popular for developing single-page applications (SPAs).

    MongoDB

    A NoSQL database that uses JSON documents to store data. It’s widely used in web and mobile applications, especially those requiring flexible and fast scalability.

    NodeJS

    JavaScript runtime environment

    Docker

    A container platform that simplifies the deployment and management of applications. It allows packaging an application and all its dependencies into lightweight, -portable containers, making it easy to deploy across different development and production environments.

    +
    +

    <Diagram or Table>

    +
    +
    +

    <optionally: Explanation of technical interfaces>

    +
    +
    +

    <Mapping Input/Output to Channels>

    +
    @@ -929,7 +885,7 @@

    4. Solution Strategy

    -

    5. Building Block View

    +

    5. Building Block View (In progress)

    @@ -976,8 +932,18 @@

    5. Building Block View

    +
    +
    +Scope and Context +
    +
    -

    5.1. Whitebox Overall System

    +

    5.1. Whitebox WIQ

    +
    +
    +Level 1 +
    +
    @@ -1023,12 +989,32 @@

    5.1. Whitebox Overall System

    Motivation
    -

    <text explanation>

    +

    The motivation for undertaking this decomposition is to gain a clear vision of the system developed for the WIQ application. +By breaking down the system into its constituent building blocks, we aim to establish a comprehensive understanding of its structure and functionality.

    Contained Building Blocks

    <Description of contained building block (black boxes)>

    +
    +
    +
    +

    User Interface (Frontend)

    +
    +
    +

    Business Logic (Backend)

    +
    +
    +

    Database

    +
    +
    +

    API User

    +
    +
    +

    API Questions

    +
    +
    +
    Important Interfaces

    <Description of important interfaces>

    @@ -1058,11 +1044,11 @@

    5.1. Whitebox Overall System

    <black box 1>

    -

     <Text>

    +

    <Text>

    <black box 2>

    -

     <Text>

    +

    <Text>

    @@ -1073,7 +1059,7 @@

    5.1. Whitebox Overall System

    -

    5.1.1. <Name black box 1>

    +

    5.1.1. User Interface

    @@ -1104,8 +1090,13 @@

    5.1.1. <Name black box 1>

    -
    -

    <Purpose/Responsibility>

    +
    +
    +
    Responsibility
    +
    +

    Provides the interface to register, play and check participation history

    +
    +

    <Interface(s)>

    @@ -1124,25 +1115,61 @@

    5.1.1. <Name black box 1>

    -

    5.1.2. <Name black box 2>

    +

    5.1.2. Business Logic

    +
    +
    +
    Responsibility
    +
    +

    Automatically generate questions and corresponding answers from Wikidata data. +Manages the time frame allocated for answering questions.

    +
    +
    +
    -

    <black box template>

    +

    …​

    -

    5.1.3. <Name black box n>

    -
    -

    <black box template>

    +

    5.1.3. Database

    +
    +
    +
    Responsibility
    +
    +

    Stores information about users, games, questions and correct/failed answers.

    +
    +
    -

    5.1.4. <Name interface 1>

    +

    5.1.4. API User

    +
    +
    +
    Responsibility
    +
    +

    The system will allow access to user information through an API.

    +
    +
    +
    +
    +
    +

    5.1.5. API Questions

    +
    +
    +
    Responsibility
    +
    +

    The system will allow access to the information of the questions generated through an API.

    +
    +
    +
    +
    +
    +

    5.1.6. <Name interface 1>

    …​

    -

    5.1.5. <Name interface m>

    +

    5.1.7. <Name interface m>

    @@ -1161,7 +1188,12 @@

    5.2. Level 2

    -

    5.2.1. White Box <building block 1>

    +

    5.2.1. White Box User Interface

    +
    +
    +Level 2 User Interface +
    +
    @@ -1174,16 +1206,35 @@

    5.2.1. White Box <building block 1&g

    -

    5.2.2. White Box <building block 2>

    +

    5.2.2. White Box Business Logic

    +
    +
    +Level 2 Business Logic +
    +
    +
    +

    <white box template>

    +
    +
    +
    +

    5.2.3. White Box Database

    +
    +
    +Level 2 Database +
    +

    <white box template>

    +
    +
    +

    5.2.4. White Box API User

    -

    …​

    +

    <white box template>

    -

    5.2.3. White Box <building block m>

    +

    5.2.5. White Box API Questions

    <white box template>

    @@ -1577,75 +1628,25 @@

    8. Cross-cutting Concepts

    -

    8.1. Domain concepts

    +

    8.1. <Concept 1>

    -

    User Model -- ID (Primary Key) -- First Name -- Last Name -- Email -- Password -- Role

    +

    <explanation>

    -

    8.2. User Experience

    -
    -

    The user interface is the part of our application with which users interact directly. -It’s designed to be intuitive and easy to use, providing a smooth and pleasant experience for users as they navigate through the various functions and features of the application.

    -
    +

    8.2. <Concept 2>

    -

    The user will either register in the application or log in if they have already registered before. -If they have played before, they will be able to view different metrics regarding those games. -Additionally, they can start a new game at any time and, upon completion, view the statistics of their results.

    -
    -
    -
    -

    8.3. Security & Safety

    -
    -
      -
    • -

      Privacy: The data introduced will be private and not visible to other users.

      -
    • -
    • -

      The password will be stored encrypted.

      -
    • -
    +

    <explanation>

    -
    -
    -

    8.4. Architecture and design patterns

    -

    In development…​

    +

    …​

    -

    8.5. Under the hood

    +

    8.3. <Concept n>

    -

    In development…​

    -
    -
    -
    -

    8.6. Development concepts

    -
    -
      -
    • -

      Build, Test, Deploy

      -
    • -
    • -

      Code generation

      -
    • -
    • -

      Migration

      -
    • -
    • -

      Configurability

      -
    • -
    -
    +

    <explanation>

    -
    -

    8.7. Operation concepts

    @@ -1697,6 +1698,68 @@

    9. Architecture Decisions

    + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    DateTitleStateContextDecisionConsequences

    08/02/2024

    Language Selection for documentation

    Accepted

    The project requires documentation to be written

    English, is chosen for its widespread international use

    The project documentation can reach more people, but since it is not our first language, it may not be very well written

    08/02/2024

    Programming Languages

    Accepted

    The proyect requires the develop of a web app

    React and Javascript, JavaScript is selected due to team proficiency

    We need to learn how to use React, and maybe other languages are better suited for this project

    08/02/2024

    Database Platform

    Accepted

    The project requires storing user and question data

    MongoDB is chosen as the default database solution

    Learning MongoDB is necessary

    08/02/2024

    Version Control System

    Accepted

    As a team and scalable project, version control software is needed

    Git-GitHub is chosen as it’s a project constraint.

    The choice of Github is dictated by project constraints

    08/02/2024

    Data Collection Method

    Accepted

    The project requires dynamically generated questions

    WikiData is chosen as it’s a project constraint

    The choice of WikiData is dictated by project constraints

    @@ -1897,7 +1960,7 @@

    12. Glossary