Note: this proejct has been migrated from GitLab
QZ is a single and multiplayer game which quizzes players to teach awareness about energy consuption. The objective of every game is to answer as many questions about energy consumption correctly as possible. To make the experience interesting, we've created a lot of features and configuration options, giving you the chance to play the game you want. QZ lets you:
We've created this project over the duration of a 10-week introductory software engineering course at TU Delft using Spring Boot (REST & SSE) for the backend and JavaFX for the frontend. Our main goal was to learn how to conceptualize, design, and implement a fun and engaging application together, and learn how to structure our work in short, weekly sprints. From the technical side, our app was designed to be:
Picture | Name | |
---|---|---|
David Dinucu-Jianu | D.Dinucu-Jianu@student.tudelft.nl | |
Rok Štular | R.Stular@student.tudelft.nl | |
Paul Misterka | P.M.Misterka@student.tudelft.nl | |
Alexandru-Gabriel Cojocaru | A.G.Cojocaru-2@student.tudelft.nl | |
Giacomo Pezzali | G.Pezzali@student.tudelft.nl | |
Aakanksh Singh | A.Singh-27@student.tudelft.nl |
git clone https://gitlab.ewi.tudelft.nl/cse1105/2021-2022/team-repositories/oopp-group-60/repository-template.git
gradlew build
to verify that the source is valid.Additionally, these tools will aid you in development and are heavily recommended:
OpenJFX
frameworks.The Quizzzz app consists of three components: the database, the server and the client. Each of these must be run one after another:
cmd
from the Start menu on Windows).cd
into the repository directory.docker-compose up -d
Docker Desktop
you should see the oopp
container with a postgres
subcontainer running at :5432
IntelliJ
's database module, psql
, or DBeaver
docker-compose.yml
file located in the root project directorydocker-compose up -d
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7e917b97e54a postgres "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp repository-template-db-1
IntelliJ
's database module, psql
, or DBeaver
docker-compose.yml
file located in the root project directoryMain
java file in the /server/src/main/java
directory
Started Main in ... seconds (JVM running for ...)
PSQLException
when running the server or the tests, then the database connection is failingcmd
from the Start menu on Windows).cd
to the repository directory.gradlew bootRun
(./gradlew bootRun
on Linux or MacOS).Main
file in /client/src/main/java
--module-path="<LIB PATH IN JAVAFX FOLDER WHICH WAS DOWNLOADED>"--add-modules=javafx.controls,javafx.fxml
to VM options/arguments
Main
file in /client/src/main/java
cd
to the repository directory.gradlew run
(./gradlew run
on Linux or MacOS), the client will spawn in the background.In order to populate the database, a helper script is provided: populate_db.py
.
To run it, you will need the activity bank (included in ./activities
directory),
as well as an emoji bank (provided in ./reactions
).
cd
to the repository directory.pip install requests
to install the requests
library.python populate_db.py -c 100 ./activities ./reactions
. The script will import all activities (images included) and reactions.This script supports more configuration options; for a list and a brief description of the functionality run python populate_db.py --help
.
This project has been migrated from the EWI GitLab with the consent of all team members. The issues and merge requests have been ported using this helper tool. Note that a tiny number of issues and some issue comments had to be omitted, and merge requests have been converted into issues as their respective branches don't exist anymore.