https://github.com/nafizkamal11/Quiz-System
Quiz Runner is a simple yet powerful quiz application built in Java, allowing admins to create and manage quizzes while students can attempt them and receive grades. The project follows Object-Oriented Programming (OOP) principles and stores quiz data in JSON files for persistence.
https://github.com/nafizkamal11/Quiz-System
java json
Last synced: about 1 month ago
JSON representation
Quiz Runner is a simple yet powerful quiz application built in Java, allowing admins to create and manage quizzes while students can attempt them and receive grades. The project follows Object-Oriented Programming (OOP) principles and stores quiz data in JSON files for persistence.
- Host: GitHub
- URL: https://github.com/nafizkamal11/Quiz-System
- Owner: nafizkamal11
- Created: 2024-12-24T16:23:32.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-17T02:18:48.000Z (about 2 months ago)
- Last Synced: 2025-04-05T12:11:57.185Z (about 1 month ago)
- Topics: java, json
- Language: Java
- Homepage:
- Size: 83 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📝 Quiz Runner
## Table of Contents
1. [📝 Overview](#-overview)
2. [🛠️ Features](#️-features)
- [Admin Role](#admin-role--executing-as-admin)
- [Student Role](#student-role--executing-as-student)
- [Data Management](#data-management)
3. [🖥️ Technologies Used](#️-technologies-used)
4. [🔒 Prerequisites](#-prerequisites)
5. [🏗️ Project Structure](#️-project-structure)
6. [🚀 How to Run](#-how-to-run)
7. [📋 JSON File Structure](#-json-file-structure)
- [users.json](#usersjson)
- [quiz.json](#quizjson)
8. [📡 Future Enhancements](#-future-enhancements)---
## 💭 Overview
The **Quiz Runner** project is an interactive quiz application that allows two types of users:
1. **Admin** : can create and save quizzes
2. **Student :** can take the quiz and get graded based on their performance.This application adheres to Object-Oriented Programming (OOP) principles and modern Java practices.
## 🛠️ Features
### Admin Role : [Executing as Admin](https://go.screenpal.com/watch/cZltltnelC2)
- Add new quiz questions, options, and correct answers.
- Save questions into a JSON file for persistence.### Student Role : [Executing as Student](https://go.screenpal.com/watch/cZlt6ynelus)
- Attempt 10 randomly selected quiz questions.
- Receive feedback and grading based on performance.### Data Management
- All questions and user information are stored and retrieved from JSON files.## 🖥️ Technologies Used
- Java
- JSON (using `org.json.simple` library for JSON parsing and writing)
- Object-Oriented Design
- IntelliJ IDEA## 🔒 Prerequisites
- JDK 17 or above
- IntelliJ IDEA or any Java-supported IDE## 🏗️ Project Structure
```
QuizRunner/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── QuizRunner.java
│ │ │ ├── SampleQuestion.java
│ │ │ ├── QuizService.java
│ │ ├── resources/
│ │ │ ├── quiz.json
│ │ │ ├── users.json
├── README.md```
## 🚀 How to Run
1. Clone the repository:
```bash
git clone https://github.com/nafizkamal11/Quiz-System.git
cd QuizRunner
```
2. Open the project in your preferred IDE.
3. Run the `QuizRunner.java` file.
4. Choose your role when prompted:
- **Admin**: Create quizzes.
- **Student**: Attempt quizzes.## 📋 JSON File Structure
### users.json
Stores user credentials and roles:
```json
[
{
"username": "admin",
"password": "adminpass",
"role": "admin"
},
{
"username": "student",
"password": "studentpass",
"role": "student"
}
]
```### quiz.json
Stores quiz questions:
```json
[
{
"answerkey": 2,
"option 3": "A well-designed user interface.",
"option 4": "Efficient algorithm performance.",
"question": "5. What does the term 'bug' refer to in software testing?",
"option 1": "An intentional feature added to the software.",
"option 2": "An error or flaw in the software."
}
]
```## 📡 Future Enhancements
- Add support for multiple-choice answers.
- Implement a web interface for better user experience.
- Use a database for better scalability.