Skip to content

A Java based application aimed at testing users on New Zealand and International trivia.

License

Notifications You must be signed in to change notification settings

Quinzical/Quinzical-app

Repository files navigation

Quinzical

Introduction

Quinzical is a quiz platform written in java and designed for players to test their knowledge of New Zealand through multiple categories. The quiz platform contains a game module and a practice module for the players to practice and measure their knowledge. The game module contains 25 random questions (5 questions per category) each with a score ranging from $100 to $500. The practice module contains all categories and the user will be given a random question from the category chosen. Each question is read out aloud using TTS. Quinzical multiplayer is an online feature that is multi-platform with an implemented web client to play online with your friend and family. Heavily inspired by Among Us.

Features

  • New Zealand themed
  • TTS for reading aloud questions using espeak
  • SQLite database
  • Cloud based User login/register using REST API backend
  • Responsive UI design with fxml
  • Settings menu to change volume and TTS speed
  • Github workflows to check code style and lint
  • Online Multiplayer Quinzical (with web client)

Images

How to Run

Check our server status here

Requirements

  • Linux or Unix system (designed for ubuntu)
  • espeak installed (for TTS support)
  • JavaFX 11 sdk installed
  • Java installed (Java 14 recommended)
  • Atleast 4GB of system RAM (uses approx 1GB of memory)
Recommendations

Run Quinzical

Run bash script when using 206 VM2 with atleast 4GB RAM

$ ./Quinzical.sh # or bash Quinzical.sh

Run on .jar by add arguments (replace /usr/share/java/lib to javafx sdk)

java --module-path /usr/share/java/lib --add-modules javafx.controls,javafx.media,javafx.base,javafx.fxml,javafx.web,javafx.graphics -jar Quinzical.jar

Using login

If you do not want to create a login, our default login is as below: Username: Bob Password: password

Documentation

Folder Structure

The workspace contains two folders by default, where:

  • src: the folder to maintain sources
    • quinzical: application package
      • controllers: controllers for views
        • local: controller for local games
        • online: controller for online games
        • util: controller utils for buttons and alerts etc.
      • resources: includes fxml, css, font
        • images: for all iamges
      • util: models, sql and api
        • api: used to access api
        • models: models for accessing data
        • processes: task/thread related processes
        • socket: socket io handlers
        • sql: used to access sqlite
  • data: the folder to maintain data
    • data.db: sqlite file
    • hash.txt: checksum is used to check if quinzical.txt is changed
    • auth.txt: saves jwt token for auto login

Questions

Questions are in the file quinzical.txt in the format:

CATEGORY_NAME
QUESTION\ (What is) ANSWER

Example:

NZ Life
This is the name for a traditional fenced Māori village\ (What is) a Pā
This is the Māori word for stomach\ (What is) Puku

User Data

Local userdata is stored in sqlite and on cloud using the endpoint

Code Attribution and Resources used

Most code follow java and library documentations.

About

A Java based application aimed at testing users on New Zealand and International trivia.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published