Skip to content

Commit

Permalink
Merge pull request #159 from Arquisoft/129-corregir-diagramas
Browse files Browse the repository at this point in the history
129 corregir diagramas
  • Loading branch information
CANCI0 authored Apr 28, 2024
2 parents 92ebab9 + d6c8d82 commit 31b3157
Show file tree
Hide file tree
Showing 27 changed files with 26 additions and 64 deletions.
Binary file added docs/images/05-Level1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 0 additions & 4 deletions docs/images/05-Level1.svg

This file was deleted.

Binary file added docs/images/06-friends.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 0 additions & 4 deletions docs/images/06-friends.svg

This file was deleted.

Binary file added docs/images/06-groups.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 0 additions & 4 deletions docs/images/06-groups.svg

This file was deleted.

Binary file added docs/images/06-history.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 0 additions & 4 deletions docs/images/06-history.svg

This file was deleted.

Binary file added docs/images/06-ranking.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 0 additions & 4 deletions docs/images/06-ranking.svg

This file was deleted.

Binary file added docs/images/06-stats.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 0 additions & 4 deletions docs/images/06-stats.svg

This file was deleted.

Binary file added docs/images/06-users.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 0 additions & 4 deletions docs/images/06-users.svg

This file was deleted.

Binary file added docs/images/12-activeusers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/12-responsenumbers.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/12-responsespersecond.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/12-responsetime.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/WIQ-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 1 addition & 15 deletions docs/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// configure EN settings for asciidoc
include::src/config.adoc[]

= image:arc42-logo.png[arc42] WIQ! Documentation
= image:WIQ-logo.png[WIQ] Documentation
:revnumber: 8.2 EN
:revdate: January 2023
:revremark: (based upon AsciiDoc version)
Expand All @@ -28,23 +28,9 @@ ifdef::backend-html5[]
++++
endif::backend-html5[]


include::src/about-arc42.adoc[]

// horizontal line
***

[role="arc42help"]
****
[NOTE]
====
This version of the template contains some help and explanations.
It is used for familiarization with arc42 and the understanding of the concepts.
For documentation of your own system you use better the _plain_ version.
====
****


// numbering from here on
:numbered:

Expand Down
10 changes: 4 additions & 6 deletions docs/src/01_introduction_and_goals.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,22 @@ ifndef::imagesdir[:imagesdir: ../images]
[[section-introduction-and-goals]]
== Introduction and Goals

WIQ! is a project developed for the subject "Software Architecture" of the Computer Engineering degree of the School of Computer Engineering of the University of Oviedo. This project is based on the wiq project, made available to the students by the teachers of the subject.
WIQ! has been commissioned to the company HappySw by RTVE, with the aim of recreating its famous quiz show Saber y ganar in a web version accessible to everyone. This project will be carried out by the development team is formed by:
WIQ is a project developed for the subject "Software Architecture" of the Computer Engineering degree of the School of Computer Engineering of the University of Oviedo. This project is based on the wiq project, made available to the students by the teachers of the subject.
WIQ! has been commissioned to the company HappySw by RTVE, with the aim of recreating its famous quiz show Saber y ganar in a web version accessible to everyone. This project will be carried out by the development team, which is formed by:

* Martín Cancio Barrera, mailto:[email protected][_UO287561_].

* Iyán Fernández Riol, mailto:[email protected][_UO288231_].

* Rodrigo García Iglesias, mailto:[email protected][_UO276396_].

* Alfredo Jirout Cid, mailto:[email protected][_UO288443_].

WIQ! is a software by means of which users can emulate being the participants of the quiz show Saber y ganar, which has numerous functionalities:

* Play several of the game modes seen on the show.

* Register to be able to keep track of their statistics in the game

* Play with friends
* Have friends, join groups and see the statistics of the other users.

* Adjust the themes of the questions, the answer time, the number of questions...
***
Expand Down Expand Up @@ -61,7 +59,7 @@ WIQ! is a software by means of which users can emulate being the participants of
|Role/Name|Contact|Expectations

| *_Students (HappySw)_*
| Martín Cancio Barrera, Iyán Fernández Riol, Rodrigo García Iglesias and Alfredo Jirout Cid
| Martín Cancio Barrera, Iyán Fernández Riol and Rodrigo García Iglesias
| The students are the developers of the application. They are in charge of the complete development, which will improve their programming and teamwork skills.

| *_Users_*
Expand Down
2 changes: 0 additions & 2 deletions docs/src/02_architecture_constraints.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ ifndef::imagesdir[:imagesdir: ../images]

| *_Implementation Platform_* | The application must be implemented on a web hosting platform that meets RTVE's performance, security and scalability requirements.

| *_Privacy Compliance_* | The architecture must ensure compliance with data privacy regulations, such as GDPR, to protect users' information.

| *_Code Maintainability_* | Software development practices that promote clean and well-documented code should be followed to facilitate future upgrades and maintenance.

| *_Development Time_* | The application must be developed within a specific time frame, which may influence architectural decisions and technology selection.
Expand Down
6 changes: 5 additions & 1 deletion docs/src/04_solution_strategy.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,16 @@ We developed an application in which users can register to play, where in each g
A ranking with the maximum score of the user and can be compared with other users, it will also have a section that indicates their correct guess and in which category they get the most questions right.

.Technologies used to carry out:

* JavaScript: JavaScript is a very flexible programming language widely used in software development. It incorporates many features that makes this development easy and effective, such as asynchronous functions, libraries, etc. This is the language that will be used to create front-end and back-end on our application.
* Node.js: Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. It's used to create server-side applications, and it's the runtime that will be used to create the back-end of our application.
* MongoDB: MongoDB is an open-source NoSQL database that uses a document-based data model for information storage and retrieval.
* React JS: It's a framework created by Facebook that's widely used to create user interface components. Chosen for the large volume of documentation and the fact that it is the framework used during the previous courses.
* Chakra UI: It's a simple, modular and accessible component library that gives us the ability to create a responsive and accessible design.
* WikiData: It's a free knowledge base modified by humans as well as machines, and it's where we'll get our questions from.
* Microsoft Azure: A cloud computing platform that provides infrastructure, platform, and software-as-a-service services to host, manage, and scale online applications and services.
* GitHub: It's a platform that provides hosting for software development and version control using Git. It's where we'll host our code and collaborate with the team.
* Github Actions: It's a CI/CD tool that automates the process of building, testing, and deploying code. It's where we'll automate the process of testing and deploying our application in Azure Cloud.
* Asciidoc: It's a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages. We'll use it to document our project.

=== Design
The designed website is composed of a frontend in React, a backend in Node.js and is documented using Asciidoc. Each user will have their own account where their information will be saved. Design-related decisions are detailed in point 9.
Expand Down
7 changes: 1 addition & 6 deletions docs/src/05_building_block_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,7 @@ The system is divided into nine components, each of which is responsible for a s

=== Level 2

image::diagrama5.2.png["Hierarchy of building blocks"]

.Motivation

In this diagram we can see the decided microservices that will provide all the operations necessary for the
application to work properly.
In this level, the components are divided into smaller components, which are responsible for specific tasks. We'll take a closer look to some of the most important components, which are question service, and webapp.

==== Question Service

Expand Down
12 changes: 6 additions & 6 deletions docs/src/06_runtime_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -27,34 +27,34 @@ image::06-play.svg[]

User can see his stats by pressing stats button. It shows things such as games played, average score, total score, total correct questions, total incorrect questions, correct answer ratio or average time per question.

image::06-stats.svg[]
image::06-stats.png[]

=== User looks his game history

User can see his game history by pressing history button. It shows a list of games played, with answered questions.

image::06-history.svg[]
image::06-history.png[]

=== User looks at ranking

User can see the ranking of the users. This ranking can be filtered by average points, total points, correct answer ratio or average time.

image::06-ranking.svg[]
image::06-ranking.png[]

=== User checks his friends

User can see his friends. He can also get into their profile to see their stats.

image::06-friends.svg[]
image::06-friends.png[]

=== User looks for users to be friends

User can see a list of non-friends users. He can send a friend request to them.

image::06-users.svg[]
image::06-users.png[]

=== User looks for available groups to join

User can see a list of available groups to join. He can send a request to join them.

image::06-groups.svg[]
image::06-groups.png[]
1 change: 1 addition & 0 deletions docs/src/10_quality_requirements.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ These are:
| Performance |User |While playing, a user selects a response to a question.|User Interface|Normal gameplay conditions.|The system updates its interface very fast and the user knows if they responded correctly, so they can keep playing.|Interface update time is less than 0.5 seconds.
| Usability |User|A new user starts playing the game.|User Interface|Initial game setup.|The user interface displays available options and provides clear instructions on how to play, including a 'Help' button.|User can navigate through the interface without guidance.
| Performance |User|A user finishes playing a game and wants to start a new one.|System and User Interface|Post-game completion.|The system ends the current game, displays the user's score, resets all game elements, and offers the option to start a new game.|Score is saved accurately, and game restarts without errors.
| Performance |User|A user finishes playing a game and wants to see his stats.|System, User Interface, Stats Service |Stats retrieving.|The user presses the Stats button, and his stats are shown in the screen, giving him the option to switch between gamemodes.|Stats are shown correctly, including last game.
|===


Expand Down
8 changes: 8 additions & 0 deletions docs/src/12_testing.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,14 @@ Using this script we inject 2 users per second during 60 seconds in total, and e

image::12-loadtests.png[]

image::12-activeusers.png[]

image::12-responsetime.png[]

image::12-responsenumbers.png[]

image::12-responsespersecond.png[]

image::12-grafana-loadtests.png[]

As we can see in Gatling's report, the application was able to handle a load of 9990 requests. In particular, 97% of the requests were successful in less than 800 milliseconds and 3% were unsuccessful.
Expand Down

0 comments on commit 31b3157

Please sign in to comment.