Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Entregable 4 #229

Merged
merged 186 commits into from
Apr 28, 2024
Merged
Changes from 1 commit
Commits
Show all changes
186 commits
Select commit Hold shift + click to select a range
f483f14
New geography question template: Area
RicardoDiNu Apr 6, 2024
9f26f04
New geography question template: Currency
RicardoDiNu Apr 6, 2024
6d1b749
New geography question template: Population
RicardoDiNu Apr 6, 2024
8983649
New geography question category: History
RicardoDiNu Apr 6, 2024
3f41285
Revert "New geography question category: History"
RicardoDiNu Apr 6, 2024
2888e2d
New history question template: Artifact
RicardoDiNu Apr 6, 2024
6d67b5e
New history question template: Battle
RicardoDiNu Apr 6, 2024
760b15a
New history question template: Dynasty
RicardoDiNu Apr 6, 2024
53c1dff
New history question template: Event
RicardoDiNu Apr 6, 2024
d559d2a
New history question template: Invention
RicardoDiNu Apr 6, 2024
277b862
New history question template: Leader
RicardoDiNu Apr 6, 2024
983432a
New history question template: Period
RicardoDiNu Apr 6, 2024
4ccf348
InsertSampleDataService updated with new question templates
RicardoDiNu Apr 6, 2024
5b978a5
Fix - Add new question category: History
RicardoDiNu Apr 6, 2024
79cbfb5
Add new question category and templates: Science
RicardoDiNu Apr 6, 2024
8fe0cac
Add new question category and templates: Art
RicardoDiNu Apr 6, 2024
41b2333
Fix generators
RicardoDiNu Apr 6, 2024
61ec4bf
Add new question category and templates: Movie
RicardoDiNu Apr 6, 2024
f7080ce
Update InsertSampleDataService with the new templates
RicardoDiNu Apr 6, 2024
391f82f
frontEnd for multiplayer
uo288061 Apr 9, 2024
152e216
init backEnd for multiplayer
uo288061 Apr 9, 2024
3eb53d9
more backEnd for multiplayer
uo288061 Apr 9, 2024
06f209d
fixing backEnd for multiplayer (It is not yet implemented) done about…
uo288061 Apr 10, 2024
15c35d5
starting multiplayer lobby
uo288061 Apr 10, 2024
7c197e8
done multiplayer lobby, now the list of players updates automatically
uo288061 Apr 10, 2024
a1c33f2
Correción contador de preguntas
uo287568 Apr 10, 2024
989fee5
fix some problems
uo288061 Apr 10, 2024
c1a4d4e
create and join buttons working correctly
uo288061 Apr 11, 2024
5d3c4c4
Correción primera respuesta la correcta
uo287568 Apr 11, 2024
acd0e36
players can can play multiplayer games
uo288061 Apr 11, 2024
c46e273
The multiplayer mode is done but some bugs need to be fixed
uo288061 Apr 13, 2024
81accd1
Players with same multiplayerCode, have same questions
uo288061 Apr 14, 2024
c897fba
Merge pull request #193 from Arquisoft/CorreccionesFuncionalidad
RicardoDiNu Apr 15, 2024
5aaa8db
Undo CategoryServiceImpl and InsertSampleDataService changes to only …
RicardoDiNu Apr 15, 2024
4968265
Update multiplayerGame.html style
RicardoDiNu Apr 15, 2024
863dc8f
Update lobby.html style
RicardoDiNu Apr 15, 2024
db833af
Fix small bug of code validation (only numbers are permited)
RicardoDiNu Apr 15, 2024
586805e
Change multiFinished.html style
RicardoDiNu Apr 15, 2024
ccfb4d3
Cambia color la respuesta. Muestra boton continuar
uo287568 Apr 16, 2024
221cb3e
Avance al mostrar siguiente pregunta.
uo287568 Apr 16, 2024
b32fa20
FinishGame bug fixed
RicardoDiNu Apr 16, 2024
33111ed
Duplicate multiFinished window bug fixed
RicardoDiNu Apr 16, 2024
db70848
multiFinished style update
RicardoDiNu Apr 16, 2024
f8ffba9
Add grafana and prometheus
Pelayori Apr 16, 2024
473e41f
Add grafana and prometheus
Pelayori Apr 16, 2024
cef4298
Add grafana and prometheus
Pelayori Apr 16, 2024
b4b0d1d
Some endMultiGame logic added
RicardoDiNu Apr 16, 2024
d8f41bb
Fix some things
Pelayori Apr 16, 2024
4a61409
Solucion bug contador pregunta
uo287568 Apr 17, 2024
212f5fe
Corrección contador y barra de progreso
uo287568 Apr 17, 2024
9354cfb
Finalizado la eliminación de la pantalla resultado.
uo287568 Apr 17, 2024
d8aaa2b
Merge pull request #200 from Arquisoft/monitoring
Pelayori Apr 17, 2024
884b8d6
Merge pull request #202 from Arquisoft/EliminarPantallaResultado
Pelayori Apr 17, 2024
292eab3
Actualización Whitebox Overall System
uo287568 Apr 22, 2024
a23670c
Actualización Whitebox Overall System Level 2
uo287568 Apr 22, 2024
51f226d
Correción índice ranking
uo287568 Apr 23, 2024
01543f7
new entity on the dataBase (MultiplayerSession)
uo288061 Apr 23, 2024
f9ea290
Error fixed - new entity on the dataBase (MultiplayerSession)
uo288061 Apr 23, 2024
59e24bc
more changes
uo288061 Apr 23, 2024
fcb1a15
logic for MultiplayerSession done
uo288061 Apr 23, 2024
2773302
some problems fixed
uo288061 Apr 23, 2024
cdca207
frontend for multiplayerRanking.html done
uo288061 Apr 23, 2024
c1793ba
some important changes for multiplayer logic
uo288061 Apr 23, 2024
22f450e
Merge pull request #205 from Arquisoft/IndiceRanking
Pelayori Apr 24, 2024
8107a35
Merge pull request #203 from Arquisoft/SincroDocumentacion
Pelayori Apr 24, 2024
e603718
Remove old commented code
Pelayori Apr 24, 2024
2b58429
all problems fixed (I think)
uo288061 Apr 24, 2024
1688771
First version of the base JSON done
uo287545 Apr 24, 2024
48fe605
Added statements for the capital question
uo287545 Apr 24, 2024
147bb7d
small changes
uo288061 Apr 24, 2024
0c7930b
Add table and dropdown to user management
Pelayori Apr 24, 2024
f8374a8
Added currency question
uo287545 Apr 24, 2024
11f09d3
Initial implementation of the new question generator
uo287545 Apr 25, 2024
e5a6f37
First part of the request system
uo287545 Apr 25, 2024
8a8ef29
Added question and answer placeholders to the JSON
uo287545 Apr 25, 2024
e319116
Added statement generation based on language
uo287545 Apr 25, 2024
28e1068
First version of the question generator finished
uo287545 Apr 25, 2024
b812a5f
Added name only constructor for category
uo287545 Apr 25, 2024
a079a21
Removed old templates
uo287545 Apr 25, 2024
4ac734a
Test controller and temporary comments on some classes that used the …
uo287545 Apr 25, 2024
bd06490
New question generator tested and working
uo287545 Apr 25, 2024
c85ee32
All multiplayerGame correct
uo288061 Apr 25, 2024
af999eb
cleaning code
uo288061 Apr 25, 2024
0a8e957
Merge remote-tracking branch 'origin/develop' into multiplayer-bugs-f…
uo288061 Apr 25, 2024
f92a7b1
problems solved
uo288061 Apr 25, 2024
3f4c703
Removed unused method from the question generator interface
uo287545 Apr 25, 2024
d0c2200
Added new question and improved the queries
uo287545 Apr 25, 2024
51f41d8
Added the fourth question
uo287545 Apr 25, 2024
7a27e6e
Started implementation of the QuestionGeneratorService with schedulin…
uo287545 Apr 25, 2024
d829ec9
Added stack to store all the different types of questions along with …
uo287545 Apr 25, 2024
7865da5
Deleted deprecated class
uo287545 Apr 25, 2024
9659f1b
Scheduled question generation working
uo287545 Apr 25, 2024
e848907
Fixed correct question not being associated with the question
uo287545 Apr 25, 2024
5346fe0
Fixed SampleDataService and tests
uo287545 Apr 25, 2024
fb1d726
Merge branch 'develop' into add-question-templates
uo287545 Apr 25, 2024
047bf0f
Fixed unit tests
uo287545 Apr 25, 2024
8f4f72d
All tests working
uo287545 Apr 25, 2024
62f5618
Removed unused code
uo287545 Apr 25, 2024
a49cc53
Trying to fix the game controller test
uo287545 Apr 26, 2024
ee0ae97
Finish user management
Pelayori Apr 26, 2024
afa0bbe
Start adding question management
Pelayori Apr 26, 2024
8c1a4ae
Merge branch 'add-question-templates' into admin-view
Pelayori Apr 26, 2024
2776571
Question management mostly done
Pelayori Apr 26, 2024
4ea0663
unit tests for MultiplayerSession
uo288061 Apr 26, 2024
ccc1a72
unit tests for MultiplayerSession (fixed)
uo288061 Apr 26, 2024
89a6352
Modify so question generation starts over with new JSON
Pelayori Apr 26, 2024
da799e9
Fix sticky footer
Pelayori Apr 26, 2024
ddf24c3
Fix code hotspot
Pelayori Apr 26, 2024
78cde1b
Fix nav
Pelayori Apr 26, 2024
6dbbd28
Fix nav in small widths
Pelayori Apr 26, 2024
33fdce6
Added new scheduled method to regenerate the questions each 24 hours
uo287545 Apr 26, 2024
3725378
User management integration tests
Pelayori Apr 26, 2024
6b8b6dc
Question management integration tests
Pelayori Apr 26, 2024
eec984f
Merge pull request #210 from Arquisoft/add-question-templates
Pelayori Apr 26, 2024
35ecb0f
Merge branch 'develop' into admin-view
Pelayori Apr 26, 2024
8d6c06e
Merge pull request #211 from Arquisoft/admin-view
Pelayori Apr 26, 2024
88ccb95
Fix sonarcloud issues
Pelayori Apr 26, 2024
9791637
Fix code smells
Pelayori Apr 26, 2024
ce95f53
Adjust code
Pelayori Apr 26, 2024
2fdc7f9
Created the documentation chapters for question generation and testin…
uo287545 Apr 26, 2024
cf3f1f7
Included new documentation in the index.adoc
uo287545 Apr 26, 2024
704843a
MultiplayerSession Unit Tests - Entities
RicardoDiNu Apr 26, 2024
ba731ef
MultiplayerSession Unit Tests - GameService
RicardoDiNu Apr 26, 2024
e0f6fd7
MultiplayerSession Unit Tests - QuestionService
RicardoDiNu Apr 26, 2024
dfd89ec
MultiplayerSession Unit Tests - PlayerService(users)
RicardoDiNu Apr 26, 2024
05e25ee
MultiplayerSession Unit Tests - PlayerService(score)
RicardoDiNu Apr 26, 2024
183e050
MultiplayerSession Unit Tests - PlayerService(session and code)
RicardoDiNu Apr 26, 2024
aceb858
Half done testing.adoc
uo287545 Apr 26, 2024
49b1911
Merge branch 'develop' into multiplayer-bugs-fixing
Pelayori Apr 26, 2024
418b15e
Merge and fix footers
Pelayori Apr 26, 2024
b3bceb7
Fix tests
Pelayori Apr 26, 2024
98464b7
Fix tests
Pelayori Apr 26, 2024
929a7b2
Fix tests
Pelayori Apr 26, 2024
d21b9a6
Merge pull request #218 from Arquisoft/multiplayer-bugs-fixing
Pelayori Apr 26, 2024
f68cfeb
Fix tests
Pelayori Apr 26, 2024
8ed53d5
Merge branch 'develop' into code-smells
Pelayori Apr 26, 2024
7c4ac79
Fix compile
Pelayori Apr 26, 2024
6da2da1
Merge pull request #219 from Arquisoft/multiplayer-bugs-fixing
Pelayori Apr 27, 2024
63bccef
Merge pull request #212 from Arquisoft/code-smells
Pelayori Apr 27, 2024
e96b9c2
Merge branch 'master' into develop
Pelayori Apr 27, 2024
4661957
Do some e2e tests for multiplayer
Pelayori Apr 27, 2024
d39e4d2
Do some e2e tests for multiplayer
Pelayori Apr 27, 2024
95c5c45
Do some e2e tests for multiplayer
Pelayori Apr 27, 2024
2e5230b
Do some e2e tests for multiplayer
Pelayori Apr 27, 2024
008d580
Do some e2e tests for multiplayer
Pelayori Apr 27, 2024
792cda5
Pruebas de carga: información general, login, show apikey y show profile
uo287568 Apr 27, 2024
47e4a78
More tests, and some fixes
Pelayori Apr 27, 2024
6ee27e1
More tests, and some fixes
Pelayori Apr 27, 2024
9b6d92a
Pruebas de carga: play a game, show personal ranking y show global ra…
uo287568 Apr 27, 2024
6802453
More tests, and some fixes
Pelayori Apr 27, 2024
2c079a0
Pruebas de carga: change language, return to the index, logout y conc…
uo287568 Apr 27, 2024
46ef70f
Merge pull request #222 from Arquisoft/DocTestCarga
Pelayori Apr 27, 2024
211b35a
Merge pull request #221 from Arquisoft/multiplayer-e2e-tests
Pelayori Apr 27, 2024
b74b104
Add tests before deploying
Pelayori Apr 27, 2024
a096887
Some changes to the documentation and started adding the deployment i…
uo287545 Apr 27, 2024
5b1e777
Update domain model diagram
RicardoDiNu Apr 27, 2024
4233b71
Links to source code added
RicardoDiNu Apr 27, 2024
34108c5
Quality requirements updated
RicardoDiNu Apr 27, 2024
e71f686
multiplayerRanking style updated
RicardoDiNu Apr 27, 2024
de42162
Merge pull request #223 from Arquisoft/final-documentation
Pelayori Apr 27, 2024
98a3c0b
Fix multiplayer bugs
Pelayori Apr 27, 2024
36b191d
Finished README.md
uo287545 Apr 27, 2024
8b3a1e2
Various fixes
Pelayori Apr 27, 2024
a168aac
Fix e2e tests
Pelayori Apr 27, 2024
2cfe550
Fix e2e tests
Pelayori Apr 27, 2024
51efecb
Merge pull request #224 from Arquisoft/game-final-bugs
Pelayori Apr 27, 2024
8f0dea4
Fix code smells
Pelayori Apr 28, 2024
3928c89
Remove unused method
Pelayori Apr 28, 2024
f910a5c
Added more instructions to the markdown and fixed some documentation
uo287545 Apr 28, 2024
caee78a
Fixed one point of the Architecture Decision with a broken Link
uo287545 Apr 28, 2024
d575cb4
Merge pull request #225 from Arquisoft/game-final-bugs
uo287545 Apr 28, 2024
02aa49f
Merge branch 'develop' into add-question-templates
uo287545 Apr 28, 2024
ec99864
Merge pull request #226 from Arquisoft/add-question-templates
uo287545 Apr 28, 2024
652886b
Update doc 3
Pelayori Apr 28, 2024
145fc1e
Update doc 5
Pelayori Apr 28, 2024
95b6d9c
Update doc 7
Pelayori Apr 28, 2024
d725a05
Update doc 8
Pelayori Apr 28, 2024
3206f42
Update doc 9
Pelayori Apr 28, 2024
0afa4f0
Update doc 11
Pelayori Apr 28, 2024
b3baa47
Update doc 12
Pelayori Apr 28, 2024
017c1ba
Update index
Pelayori Apr 28, 2024
32f9ced
Merge pull request #227 from Arquisoft/documentation-fixes
uo287545 Apr 28, 2024
765aacf
Fixed some minor errors in the load tests.
uo287545 Apr 28, 2024
c8288fa
Improved the integration test part of the documentation
uo287545 Apr 28, 2024
8f7afda
Add instructions
Pelayori Apr 28, 2024
e382d8a
Bump version to 1.1
Pelayori Apr 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update doc 7
  • Loading branch information
Pelayori committed Apr 28, 2024
commit 95b6d9c57e17fbd31e33332835a51ad81c2c4603
20 changes: 18 additions & 2 deletions docs/src/07_deployment_view.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ The primary motivation behind using Docker for deployment is to streamline the d
.Mapping of Building Blocks to Infrastructure
- **Web Server/Application (.jar file):** Packaged within a Docker container, it includes all necessary dependencies to run independently across any Docker-supported platform.
- **External APIs (e.g., Wikidata API):** Accessed over the network, these APIs provide dynamic content for the game.
- **Grafana**: Monitoring tool that can be used to visualize and analyze metrics from the application and infrastructure.
- **Prometheus**: Monitoring tool that collects metrics from the application and infrastructure for Grafana to visualize.

=== Infrastructure Level 2

Expand All @@ -33,6 +35,8 @@ Our app's Docker container is built from a Java base image, which is then layere

In addition to the Spring boot standalone file, we also use the official `MySQL` server docker container image brought by DockerHub. This is our database server and it is used to store the game data, such as user scores, questions, etc. and all the other persistent data.

Moreover, there are two more containers. These are the monitoring tools, `Prometheus` and `Grafana`. These tools are used to monitor the application and infrastructure. Prometheus collects metrics from the application and infrastructure, while Grafana visualizes these metrics.

This setup encapsulates the entire runtime environment required for our application, and does not require extensive configuration.

.Diagram: Docker Container Setup
Expand All @@ -48,16 +52,28 @@ rectangle "Docker compose" {
rectangle "MySQL Server Container" {
database "MySQL Server" as MySQL
}

rectangle "Prometheus Container" {
database "Prometheus" as Prometheus
}

rectangle "Grafana Container" {
node "Grafana" as Grafana
}
}

cloud "Wikidata API" as API

App --> MySQL : Store game data
MySQL --> App : Fetch game data
App --> API : Fetch questions
App -left-> API : Fetch questions
App ..> WebServer : Server application
Prometheus --> App : Collect metrics
Grafana --> Prometheus : Visualize metrics
@enduml
----

.Explanation:
This diagram illustrates the internal structure of our Docker containers structure. It shows the Java Spring Boot application, including the embedded web server, packaged as a `.jar` file and the MySQL server. The application interacts with external APIs, like the Wikidata API, to retrieve data necessary for generating game questions. The containerized approach ensures that the application can be deployed consistently across any environment that supports Docker.
This diagram illustrates the internal structure of our Docker containers structure. It shows the Java Spring Boot application, including the embedded web server, packaged as a `.jar` file and the MySQL server. The application interacts with external APIs, like the Wikidata API, to retrieve data necessary for generating game questions.
To ensure the application's health and performance, we use Prometheus to collect metrics and Grafana to visualize these metrics.
The containerized approach ensures that the application can be deployed consistently across any environment that supports Docker.