This project is a desktop application built as a part of Object-oriented technologies course at AGH University of Krakow. It allows for importing quiz results in form of Microsoft Forms xlsx output file and displaying them in a user-friendly format and assigning rewards based on configurable strategies.
This application simplifies managing quiz results by providing tools for:
- Importing quiz data from xlsx files.
- Visualizing results in a sortable table with essential details (pet name, correct answers, timestamp, prize).
- Defining and assigning rewards based on user-defined strategies.
- Exporting results with assigned awards to xlsx and pdf formats.
- Displaying comprehensive quiz statistics for analyzing performance.
- Programming Language: Java 17
- Frontend Framework: JavaFX 17
- Backend Framework: Spring Boot 3.2.0
- Database: H2
This project is intended for demonstration purposes and can be further extended to include additional functionalities.
Here're some of the project's best features:
- Import & Management: Import quiz results from Microsoft Forms output xlsx files.
- Data Visualization: View results in a sortable table with:
- Nickname
- Number of correct answers
- Timestamp
- Awarded prize (or lack thereof)
- Reward System:
- Define reward categories.
- Configure reward allocation strategies (e.g., percentage of top scorers, number of correct answers).
- Manually edit awarded prizes for corrections.
- Data Export: Export results with assigned awards to xlsx and pdf formats, including visual distinction for prize recipients.
- Quiz Statistics: Analyze quiz performance through:
- Percentage of correct answers for each question.
- Distribution of answers for a specific selected question.
Prerequisites:
- JDK 17 or later: Download and install from https://www.oracle.com/java/technologies/downloads/. Verify installation by running
java -version
in your terminal. - Gradle: Download and install Gradle distribution from https://services.gradle.org/distributions/gradle-8.4-bin.zip. Verify installation by running
gradle --version
in your terminal.
Installation Steps:
- Clone Repository:
Open a terminal or command prompt and navigate to your desired installation directory and clone repository using Git:
git clone https://github.com/piaccho/quiz-review-app.git
Then navigate to the cloned project directory:
cd quiz-review-app
- Build and run:
Build and run the server by navigating to the /master/backend
subdirectory and run the following command:
gradle bootRun
To build and run the client, from the root directory of application, navigate to the /master/frontend
subdirectory and run the following command:
gradle run
Note: If you use an IDE that supports Gradle (e.g. IntelliJ IDEA), you can easily run both the server and the client.
Showcase of functionalities:
app_demo.mp4
Example results exported in PDF and XLSX
This project was developed by the following team members:
- Sebastian Piaskowy - Main contributor and maintainer.
- Zofia Lenart - Main contributor and maintainer.
- Norbert Żmija - Minor features to the project.