Repository navigation
No build tool alpha
π¦ Release: Initial Manual Build Version (v1.0)
This is the first release of the Quiz App with Leaderboard Server, created without any build tools. The application was manually compiled and run using javac and java. It includes a fully interactive JavaFX-based quiz client and a threaded leaderboard server.
π§© Components
This project consists of two major components:
- π₯οΈ Quiz App (Client)
- ποΈ Leaderboard Server
π₯οΈ Quiz App (Client) Features
- π§ 10-question quiz with randomized question selection on each run.
- β±οΈ Countdown timer with an animated progress bar that changes color (green β orange β red).
- πΆ Looping background music during the quiz session.
- βΈοΈ Pause menu accessible via the ESC key or a dedicated Pause button.
- πΌοΈ Animated GIF background (
pause.gif) shown during pause state. - π¨ Themed UI including:
- Custom button styles: Resume, Restart, and Quit
- Highlighting of β correct and β incorrect answers
- Stylized fonts and drop shadows
- π Responsive question layout with dynamic text wrapping and alignment.
ποΈ Leaderboard Server Features
- π‘ Accepts multiple client connections and processes quiz scores in real-time.
- π₯ Maintains a live leaderboard that ranks players based on score.
- π Thread-safe architecture using a thread pool to manage client communication.
- πΎ Persistent storage of scores in a file to retain leaderboard data between restarts.
- π§ͺ Built-in command handling for
CONNECT,START_QUIZ, andSUBMIT_SCORE. - π₯οΈ JavaFX GUI to:
- Start/stop the server
- Monitor logs and connected clients
- Display current leaderboard entries
π Project Structure
src/
βββ App.java # Main entry point to launch the quiz client
βββ Server.java # Entry point for the server GUI (if used)
βββ ... # Additional packages or resources
π οΈ How to Run (Manual Compilation)
Prerequisites
- Java 8 or higher
- JavaFX SDK 23.0.2 (included in
javafx-sdk-23.0.2/)
How to run?
- Head to the App.java file in
src/, then click on run. (This requires Visual Studio Code or a similar IDE with Java set up.)
π File Locations
-
Leaderboard Data:
Stored in:..\AssignmentGCIS124\txt\leaderboard.txt -
Audio & GIF Assets:
Stored under a folder such asaudio/,gifs/, orresources/.
β οΈ Known Limitations in v1.0
- β No build tools (Maven/Gradle)
- β No JAR packaging
- β No batch scripts
- β Manual compilation required
- β Leaderboard file doesn't support packaging due to being package-dependent if it is to be packaged.
π License
JavaFX is distributed under the GPL v2 with the Classpath Exception.
See the javafx-sdk-23.0.2/legal/ folder for more details.
π¬ Feedback & Issues
Found a bug or have a suggestion? Open an issue or contribute your improvements!