Skip to content

ttasc/Quizz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

221 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎯 Quizz System

A distributed quiz management system for schools and training environments — enabling teachers to create, manage, and distribute exams over LAN with real-time monitoring.


📌 Table of Contents


📖 About The Project

Quizz is a Java-based client-server application designed to simplify the process of organizing and managing multiple-choice exams in educational environments.

The system allows teachers to:

  • Create and manage question banks
  • Organize exams across multiple subjects
  • Distribute tests to students over LAN
  • Monitor submissions and analyze results

Built as a lightweight, cross-platform desktop system, Quizz focuses on reliability, simplicity, and efficient exam management without requiring internet connectivity.


✨ Features

🖥️ Server (Teacher Side)

  • 📚 Multiple workspaces for different classes or use cases
  • 📝 Exam management (with question shuffling)
  • 👨‍🎓 Student & group management
  • 📊 Submission tracking and monitoring
  • 📂 Subject & question bank organization
  • 🌐 Distribute exams via LAN

💻 Client (Student Side)

  • 🧑 Join exams using server IP + port
  • ⏱️ Take exams in a controlled environment
  • 📤 Submit answers directly to server

🧰 Tech Stack

Category Technology
Language Java 17
Architecture Client-Server (LAN-based)
Database MySQL / MariaDB
Build Tool Maven
UI Java Desktop (Swing-based)

🏗️ Architecture Overview

The system consists of two main components:

🖥️ Quizz Server

  • Centralized exam management system
  • Handles:
    • Question banks
    • Exam generation
    • Student tracking
    • Submission storage
  • Connects to MySQL/MariaDB database

💻 Quizz Client

  • Lightweight application for students
  • Connects to server via IP + port
  • Provides exam interface and submission flow

📸 Screenshots








🚀 Getting Started

⚙️ Prerequisites

  • Java 17+
  • MySQL or MariaDB

Check Java version:

java -version

🗄️ Database Setup

-- Default configuration
Username: root
Password: 123456789
Host: localhost
Port: 3306
  1. Start MySQL/MariaDB

  2. Run the SQL script:

    QuizzServerInitTableMySQL.sql
    
  3. This will initialize the required database schema


📦 Download

Download pre-built binaries from: 👉 https://github.com/ttasc/Quizz/releases


🔨 Build From Source

Requirements:

  • Java 17
  • Maven
git clone https://github.com/ttasc/Quizz.git
cd Quizz

Build Server:

cd QuizzServer
mvn package

Build Client:

cd QuizzClient
mvn package

Output:

  • QuizzServer.jar
  • QuizzClient.jar

▶️ Usage

🖥️ Run Server

java -jar QuizzServer.jar
  • Ensure database is running before starting server

💻 Run Client

java -jar QuizzClient.jar
  • Enter:

    • Student ID
    • Server IP
    • Port

📄 License

This project is currently not licensed. You may consider adding an MIT License for open-source usage.


🙌 Acknowledgements

  • Java & open-source ecosystem
  • MySQL / MariaDB community

💡 This project demonstrates practical experience in building distributed desktop systems, database-driven applications, and LAN-based communication for real-world educational use cases.

About

A distributed quiz management system for schools and training environments — enabling teachers to create, manage, and distribute exams over LAN with real-time monitoring.

Topics

Resources

Stars

Watchers

Forks

Contributors