diff --git a/images/game diagram.png b/images/game diagram.png deleted file mode 100644 index ec27888..0000000 Binary files a/images/game diagram.png and /dev/null differ diff --git a/images/questions diagram.png b/images/questions diagram.png deleted file mode 100644 index 7d8d915..0000000 Binary files a/images/questions diagram.png and /dev/null differ diff --git a/images/rankings_diagram.png b/images/rankings_diagram.png new file mode 100644 index 0000000..27e95a9 Binary files /dev/null and b/images/rankings_diagram.png differ diff --git a/images/users diagram.png b/images/users diagram.png deleted file mode 100644 index 5a85b8a..0000000 Binary files a/images/users diagram.png and /dev/null differ diff --git a/index.html b/index.html index 605c558..1a42a08 100644 --- a/index.html +++ b/index.html @@ -467,9 +467,8 @@

arc42 T
  • 6. Runtime View
  • 7. Deployment View @@ -1026,27 +1025,21 @@

    3.1. Business Context

    4. Solution Strategy

    -

    The system will follow MERN Stack as they key technologies for its development. MERN Stack is composed of four technologies: MongoDB, Express, -React and Node.

    -
    -
    -
      -
    • -

      MongoDB: chosen technology for the persistance of the system, that provides a non-relational database approach.

      -
    • -
    • -

      Express and Node: they make up the middle tier of the application, providing a powerful server platform.

      -
    • -
    • -

      React: front-end framework that will solve the client interfaces of the application.

      -
    • -
    +

    The web application is based on MERN stack, a full-stack combination of technologies for developing JavaScript applications fast. +* Node: the JavaScript runtime environment. +* MongoDB: chosen technology for the persistance of the system, that provides a non-relational database approach. +* Express and Node: they make up the middle tier of the application, providing a powerful server platform. +* React: front-end framework that will solve the client interfaces of the application.

    Regarding the deployment of the application, the strategy chosen is a cloud-based system. This decision was motivated because of the nature of the project, since a web application needs to be live and accesible at any moment. -The server will be an ARM Linux VM on Oracle, where some containers for different charasteristics of the system will be deployed with -Docker (MongoDB database for example)

    +The server will be an ARM Linux VM on Oracle, where some dockerized microservices will be deployed: +* users service +* authentication service +* questions service +* web application +* gateway

    @@ -1385,48 +1378,54 @@

    6.1. User authentication

    -

    6.2. Access to user data via API

    +

    6.2. Rankings

    • -

      Clients access the users data through an API

      +

      Users can see the rankings for a specific category

    -users diagram +rankings diagram
    -

    6.3. Access to questions data via API

    +

    6.3. Playing

    • -

      Clients access the questions data through an API

      +

      An overview of the runtime scenario of a game.

    -
    -
    -questions diagram -
    -
    -
    -
    -

    6.4. Game

    -
    -
      -
    • -

      Users can play a Q&A game

      -
    • -
    -
    -
    -
    -game diagram -
    +
    +
    +

    actor User +entity WEBC as "Web Client" +entity GW as "Gateway" +database DB as "MongoDB" +entity QU as "Questions API" +entity USERS as "Users Service API"

    +
    +
    +

    User → WEBC: Select a category to play +WEBC → GW: Get a question +GW → QU: Get a question +QU → QU: Store question and answer +QU → GW: Send question to client +GW → WEBC: Send question to client +User → WEBC: Answer question +WEBC → GW: Send answer +GW → QU: Send answer +QU → QU: Check answer +QU → USERS: Update user points +USERS → DB: Modify user data +QU → GW: Send result and new question +GW → WEBC: Send result and new question +---