diff --git a/images/08-Domain-Model.png b/images/08-Domain-Model.png new file mode 100644 index 00000000..76c487b7 Binary files /dev/null and b/images/08-Domain-Model.png differ diff --git a/images/10_quality_tree.jpg b/images/10_quality_tree.jpg new file mode 100644 index 00000000..7960413c Binary files /dev/null and b/images/10_quality_tree.jpg differ diff --git a/images/3-BusinessContext.drawio.svg b/images/3-BusinessContext.drawio.svg new file mode 100644 index 00000000..e976cc80 --- /dev/null +++ b/images/3-BusinessContext.drawio.svg @@ -0,0 +1,4 @@ + + + +
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/images/3-TechnicalContext.drawio.svg b/images/3-TechnicalContext.drawio.svg new file mode 100644 index 00000000..b3226527 --- /dev/null +++ b/images/3-TechnicalContext.drawio.svg @@ -0,0 +1,4 @@ + + + +
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/images/5-Level1.svg b/images/5-Level1.svg new file mode 100644 index 00000000..58e7fca5 --- /dev/null +++ b/images/5-Level1.svg @@ -0,0 +1,4 @@ + + + +
WIQ










Wikidata
User
HOME
USER MANAGEMENT
USER DB
QUESTION GAME
QUESTIONS DB
\ No newline at end of file diff --git a/images/5-Level2.svg b/images/5-Level2.svg new file mode 100644 index 00000000..b13fc127 --- /dev/null +++ b/images/5-Level2.svg @@ -0,0 +1,4 @@ + + + +
WIQ














HOME










User
WELCOME PAGE
USER MANAGEMENT










AUTHSERVICE
USERSERVICE
GAMEMODE PAGE
QUESTION GAME










GAME CONFIGURATION
QUESTION RESTAPI
QUESTION GENERATOR
Wikidata
GAME
\ No newline at end of file diff --git a/images/5-ScopeAndContext.svg b/images/5-ScopeAndContext.svg new file mode 100644 index 00000000..08658211 --- /dev/null +++ b/images/5-ScopeAndContext.svg @@ -0,0 +1,4 @@ + + + +
User
Interacts with
WIQ
get Data
Wikidata
\ No newline at end of file diff --git a/images/Answer questions.png b/images/Answer questions.png new file mode 100644 index 00000000..0bbe0052 Binary files /dev/null and b/images/Answer questions.png differ diff --git a/images/DB error.png b/images/DB error.png new file mode 100644 index 00000000..a72cd8cd Binary files /dev/null and b/images/DB error.png differ diff --git a/images/Login failure.png b/images/Login failure.png new file mode 100644 index 00000000..dd52aea4 Binary files /dev/null and b/images/Login failure.png differ diff --git a/images/Login successful.png b/images/Login successful.png new file mode 100644 index 00000000..d2c328b0 Binary files /dev/null and b/images/Login successful.png differ diff --git a/images/Retrieval of questions.png b/images/Retrieval of questions.png new file mode 100644 index 00000000..595fbc27 Binary files /dev/null and b/images/Retrieval of questions.png differ diff --git a/images/Sequence diagram.png b/images/Sequence diagram.png deleted file mode 100644 index c5e1de84..00000000 Binary files a/images/Sequence diagram.png and /dev/null differ diff --git a/images/Signup failure.png b/images/Signup failure.png new file mode 100644 index 00000000..0d67fcbd Binary files /dev/null and b/images/Signup failure.png differ diff --git a/images/Signup successful.png b/images/Signup successful.png new file mode 100644 index 00000000..41d90115 Binary files /dev/null and b/images/Signup successful.png differ diff --git a/images/Wikidata error.png b/images/Wikidata error.png new file mode 100644 index 00000000..e5ddf90e Binary files /dev/null and b/images/Wikidata error.png differ diff --git a/index.html b/index.html index 08be5334..3a663cdd 100644 --- a/index.html +++ b/index.html @@ -451,7 +451,14 @@

arc42 T
  • 1.3. Stakeholders
  • -
  • 2. Architecture Constraints
  • +
  • 2. Architecture Constraints + +
  • 3. System Scope and Context
  • -
  • 11. Risks and Technical Debts
  • +
  • 11. Risks and Technical Debts + +
  • 12. Glossary
  • @@ -558,6 +578,10 @@

    arc42 T

    1. Introduction and Goals

    +
    +

    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.

    +
    @@ -587,6 +611,11 @@

    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.

    +
    @@ -617,6 +646,40 @@

    1.1. Requirements Overview

    1.2. Quality Goals

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Quality attributeScenario

    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).

    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.

    @@ -700,14 +763,24 @@

    1.3. Stakeholders

    -

    <Role-1>

    -

    <Contact-1>

    -

    <Expectation-1>

    +

    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.

    -

    <Role-2>

    -

    <Contact-2>

    -

    <Expectation-2>

    +

    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.

    @@ -718,6 +791,73 @@

    1.3. Stakeholders

    2. Architecture Constraints

    +
    +

    2.1. 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.

    +
    +
    +
    +
    +
    +

    2.2. 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 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.

    +
    +
    +
    +
    +
    +

    2.3. Political constraints

    +
    +
    +
    Data protection
    +
    +

    The private information of the users must be stored securely.

    +
    +
    +
    +
    +
    +

    2.4. 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

    +
    +
    +
    @@ -745,6 +885,7 @@

    2. Architecture Constraints

    +

    3. System Scope and Context

    @@ -805,12 +946,45 @@

    3.1. Business Context

    -
    -

    <Diagram or Table>

    +
    +
    +Business context diagram +
    -

    <optionally: Explanation of external domain interfaces>

    +

    Table for entities, inputs and outputs

    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
    EntityInputsOutputs

    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

    3.2. Technical Context

    @@ -831,14 +1005,26 @@

    3.2. Technical Context

    +
    +
    +Business context diagram +
    +
    +
    +
    User And Application interface
    +

    The user will access the web application via the HTTPs protocol

    +
    -

    <Diagram or Table>

    +
    Home and Login interface
    +

    The home will allow user to be redirected to the login and authentication phase via the HTTPs protocol

    -

    <optionally: Explanation of technical interfaces>

    +
    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

    -

    <Mapping Input/Output to Channels>

    +
    Login and Database
    +

    The login will access the database directly via TCP/IP protocol

    @@ -909,16 +1095,16 @@

    4.1. Technology decisions

    SpringBoot : An extension of the Spring framework for creating Java applications. SpringBoot offers many preconfigurations that accelerate the code production process.

  • -

    Wikidata access library :

    +

    Wikidata Toolkit : Wikidata Toolkit is a Java library for accessing Wikidata and other Wikibase installations. It can be used to create bots, to perform data extraction tasks (e.g., convert all data in Wikidata to a new format), and to do large-scale analyses that are too complex for using a simple SPARQL query service.

  • -

    Docker :

    +

    Docker : Docker provides tools and a runtime environment to manage these containers efficiently, allowing developers to build, ship, and run applications consistently across different environments.

  • -

    Oracle DBMS :

    +

    MySql : MySQL is an open-source relational database management system that uses SQL for managing and manipulating data.

  • -

    Mongo DB :

    +

    Mongo DB : MongoDB is a popular open-source NoSQL database management system that stores data flexible, JSON-like documents with dynamic schemas.

  • @@ -933,14 +1119,20 @@

    4.2. Top-level Decomposition

    4.2.1. Architectural Patterns

    - +
    +
      +
    • +

      Microservices : Selected as our main architecture. We will have various small independent services that interact between them to support all the fuctionalities of the web application

      +
    • +
    +

    4.2.2. Design Patterns

    • -

      Façade : Pattern used to communicate between different parts of the back-end of the web-application

      +

      Façade : Pattern used to communicate between different parts of the whole application (APIs)

    @@ -948,12 +1140,68 @@

    4.2.2. Design Patterns

    4.3. Decisions for achieving quality goals

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Quality Goal

    Decision

    Usability

    We will try to make some rounds of usability tests with people outside of the development team

    Performance

    Our goal is to have a system that will response under 1 second to all petitions, however the consecuences of peak times are unknow

    Security

    Using HTTPS, applying input validation, encripting sensible information (As we face new security failures we will add measures)

    Robustness

    We will apply different mechanism to reduce the risks that could crash the application

    Accesibility

    Testing our User Interface with third party tools like Google’s Lighthouse in order to correct them

    Will be updated whenever we find a new quality goal or we change the approach to achieve it

    4.4. Organizational Decisions

    + ++++ + + + + + + + + + + + + + + + + + + +

    Third Party Product

    Reason

    Git

    Easy to use distributed version control application

    Github

    Web-based platform for hosting and managing Git repositories. It also provides different services like: a wiki, issues, github actions and many more

    Microsoft Azure

    Cloud service use for creating virtual machines in order to deploy the application

    @@ -1007,268 +1255,128 @@

    5. Building Block View

    -

    5.1. Whitebox Overall System

    -
    +

    5.1. Scope and Context

    +
    -
    -

    Here you describe the decomposition of the overall system using the following white box template. It contains

    +Scope and Context +
    +
    +
    +
    Motivation
    +
    +

    In this level of descomposition of our system we present an overall view of it. This captures the whole system interaction at once without much detail.

    +
    +
    Contained Building Blocks
    +
    • -

      an overview diagram

      -
    • -
    • -

      a motivation for the decomposition

      +

      WIQ: Resembles the whole system. Manages the interactions with the users and communicates with the outside services (wikidata).

    • -
    • -

      black box descriptions of the contained building blocks. For these we offer you alternatives:

      +
    +
    +
    +
    +
    +
    +
    +

    5.2. Level 1

    +
    +
    +Level 1 +
    +
    +
    +
    +
    Motivation
    +
    +

    In this level of descomposition we separate the main services of our system showing how not every part of the system communicates with the exterior.

    +
    +
    Contained Building Blocks
    +
    • -

      use one table for a short and pragmatic overview of all contained building blocks and their interfaces

      +

      WIQ HOME : Service which will collect the user interaction and redirect it to the corresponding service.

    • -

      use a list of black box descriptions of the building blocks according to the black box template (see below). -Depending on your choice of tool this list could be sub-chapters (in text files), sub-pages (in a Wiki) or nested elements (in a modeling tool).

      -
    • -
    -
    +

    WIQ USER MANAGEMENT : Service that will manage the user information, login, authentication, etc.

  • -

    (optional:) important interfaces, that are not explained in the black box templates of a building block, but are very important for understanding the white box. -Since there are so many ways to specify interfaces why do not provide a specific template for them. - In the worst case you have to specify and describe syntax, semantics, protocols, error handling, - restrictions, versions, qualities, necessary compatibilities and many things more. -In the best case you will get away with examples or simple signatures.

    +

    WIQ QUESTION GAME Service that will generate and show the different questions for our game.

  • + +
    -
    -

    <Overview Diagram>

    +
    +

    5.3. Level 2

    +
    +
    +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>

    -
    -
    -
    -
    -
    -
    -

    Insert your explanations of black boxes from level 1:

    -
    -
    -

    If you use tabular form you will only describe your black boxes with name and -responsibility according to the following schema:

    -
    - ---- - - - - - - - - - - - - - - - - -
    NameResponsibility

    <black box 1>

     <Text>

    <black box 2>

     <Text>

    -
    -

    If you use a list of black box descriptions then you fill in a separate black box template for every important building block . -Its headline is the name of the black box.

    -
    -
    -
    -
    -

    5.1.1. <Name black box 1>

    -
    -
    -
    -

    Here you describe <black box 1> -according the the following black box template:

    -
    • -

      Purpose/Responsibility

      +

      HOME WELCOME PAGE : Microservice that will welcome the user giving a small explanation about the game and facilate the registration/login process.

    • -

      Interface(s), when they are not extracted as separate paragraphs. This interfaces may include qualities and performance characteristics.

      +

      USER MANAGEMENT USERSERVICE : Microservice that will allow the user create an account for the user and let him access the game.

    • -

      (Optional) Quality-/Performance characteristics of the black box, e.g.availability, run time behavior, …​.

      +

      USER MANAGEMENT AUTHSERVICE : Microservice that will login the user in the system and let him access the game.

    • -

      (Optional) directory/file location

      +

      HOME GAMEMODE PAGE : Microservice that will let the user start a game.

    • -

      (Optional) Fulfilled requirements (if you need traceability to requirements).

      +

      QUESTION GAME GAME CONFIGURATION Microservice that will let the user customize some game parameters (amount of questions, time to respond a question, etc).

    • -

      (Optional) Open issues/problems/risks

      +

      QUESTION GAME QUESTION RESTAPI Microservice that will work as our open API allowing other systems to retrieve information like:

      +
      +
        +
      • +

        Random questions and corresponding answers.

      +
    • +
    • +

      QUESTION GAME QUESTION GENERATOR Microservice that will generate the different questions for our game communicating with wikidata.

      +
    • +
    • +

      QUESTION GAME GAME Microservice that will show the different questions for our game and manage the user answers in order to give a final score.

      +
    • +
    + +
    -
    -

    <Purpose/Responsibility>

    -
    -
    -

    <Interface(s)>

    -
    -
    -

    <(Optional) Quality/Performance Characteristics>

    -
    -
    -

    <(Optional) Directory/File Location>

    -
    -
    -

    <(Optional) Fulfilled Requirements>

    +
    -
    -

    <(optional) Open Issues/Problems/Risks>

    -
    -

    5.1.2. <Name black box 2>

    +
    +

    6. Runtime View

    +
    +
    +
    -

    <black box template>

    -
    -
    -
    -

    5.1.3. <Name black box n>

    -
    -

    <black box template>

    -
    -
    -
    -

    5.1.4. <Name interface 1>

    -
    -

    …​

    -
    -
    -
    -

    5.1.5. <Name interface m>

    - -
    -
    -
    -

    5.2. Level 2

    -
    -
    -
    -

    Here you can specify the inner structure of (some) building blocks from level 1 as white boxes.

    -
    -
    -

    You have to decide which building blocks of your system are important enough to justify such a detailed description. -Please prefer relevance over completeness. Specify important, surprising, risky, complex or volatile building blocks. -Leave out normal, simple, boring or standardized parts of your system

    -
    -
    -
    -
    -

    5.2.1. White Box <building block 1>

    -
    -
    -
    -

    …​describes the internal structure of 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

    -
    -
    -
    -

    Here you can specify the inner structure of (some) building blocks from level 2 as white boxes.

    -
    -
    -

    When you need more detailed levels of your architecture please copy this -part of arc42 for additional levels.

    -
    -
    -
    -
    -

    5.3.1. White Box <_building block x.1_>

    -
    -
    -
    -

    Specifies the internal structure of 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

    -
    -
    -
    -
    -
    Contents
    -

    The runtime view describes concrete behavior and interactions of the system’s building blocks in form of scenarios from the following areas:

    +
    Contents
    +

    The runtime view describes concrete behavior and interactions of the system’s building blocks in form of scenarios from the following areas:

      @@ -1327,37 +1435,68 @@

      6. Runtime View

    -

    6.1. <Runtime Scenario 1>

    -
    -
      -
    • -

      <insert runtime diagram or textual description of the scenario>

      -
    • -
    • -

      <insert description of the notable aspects of the interactions between the -building block instances depicted in this diagram.>

      -
    • -
    +

    6.1. Runtime Scenario: Retrieval of questions

    +
    +
    +Retrieval of questions
    -
    -

    It is possible to use a sequence diagram:

    +
    +
    +

    6.2. Runtime Scenario: Answer questions

    +
    +
    +Answer questions +
    +
    +
    +
    +

    6.3. Runtime Scenario: Login successful

    +
    +
    +Login successful +
    +
    +
    +
    +

    6.4. Runtime Scenario: Login failure

    -Sequence diagram +Login failure
    -

    6.2. <Runtime Scenario 2>

    - +

    6.5. Runtime Scenario: Signup successful

    +
    +
    +Signup successful +
    +
    -

    6.3. …​

    - +

    6.6. Runtime Scenario: Signup failure

    +
    +
    +Signup failure +
    +
    +
    +
    +

    6.7. Runtime Scenario: Wikidata error

    +
    +
    +Wikidata error +
    +
    -

    6.4. <Runtime Scenario n>

    +

    6.8. Runtime Scenario: DB error

    +
    +
    +DB error +
    +
    @@ -1448,23 +1587,7 @@

    7.1. Infrastructure Level 1

    -

    <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

    @@ -1479,31 +1602,13 @@

    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

    @@ -1607,24 +1712,101 @@

    8. Cross-cutting Concepts

    -

    8.1. <Concept 1>

    +

    8.1. Domain concepts

    +
    +

    8.1.1. Domain model

    +
    +
    +model-diagram +
    +
    +
    +
    +
    +

    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>

    @@ -1633,6 +1815,11 @@

    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)

    +
    @@ -1707,6 +1894,11 @@

    10. Quality Requirements

    10.1. Quality Tree

    +
    +
    +Quality tree +
    +
    @@ -1739,6 +1931,40 @@

    10.1. Quality Tree

    10.2. Quality Scenarios

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    QualityScenario

    Usability

    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 and user data must be stored securely.

    Performance

    The application must not have fast response times.

    Robustness

    The application must answer as expected under all conditions.

    @@ -1807,9 +2033,73 @@

    11. Risks and Technical Debts

    +
    +

    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.

    +
    +
    +

    11.1. Risks

    +
    +

    There is the table of risks the team is taking for development purposes ordered by priority.

    +
    + +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
    RiskExplanationSolution

    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.

    +
    +
    +

    11.2. Technical debts

    +
    +

    There is the table of technical debt shortcuts the team is taking sacrificing long-term solutions.

    +
    + ++++ + + + + + + + + + + + + +
    Technical debtExplanation

    Azure

    The team has experience with Microsoft Azure and decided to use it again. The full implementation is not planned yet.

    +

    12. Glossary

    @@ -1862,12 +2152,24 @@

    12. Glossary

    -

    <Term-1>

    -

    <definition-1>

    +

    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.

    -

    <Term-2>

    -

    <definition-2>

    +

    Stakeholder

    +

    Anyone involved in the development process of the system, or that is affected by it somehow.