Skip to content
This repository was archived by the owner on Mar 9, 2026. It is now read-only.

Latest commit

 

History

39 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 Quiz Master - Modular Quiz Management System

QuizMaster Banner

📖 Overview

QuizMaster is a structured and user-friendly educational assessment app developed using Flask. It allows:


🚀 Key Features

🛠 Admin Panel

  • Full CRUD operations:
    • Subjects
    • Chapters
    • Quizzes
    • Questions
  • Dynamic dashboard with:
    • Quiz statistics
  • Modal-based entity creation (without page reloads)

👨‍🎓 User Portal

  • Secure Registration/Login
  • Explore subjects and quizzes
  • Attempt quizzes with auto-scoring
  • View historical performance and quiz attempts

🌐 The app ensures real-time feedback and performance insights, aiding both teaching and learning.


🧰 Tech Stack

Layer Technologies Used
🖥️ Frontend HTML5, CSS3, Bootstrap, Jinja2
⚙️ Backend Flask, Flask-SQLAlchemy, Werkzeug
💾 Database SQLite
🛡️ Security Password Hashing & Role-Based Access
🔐 Session Flask Sessions for Auth & State

🏗️ Architecture

📦 QuizMaster/
 ┣ 📜 app.py              # Core app file with routes & logic
 ┣ 📜 requirements.txt    # Python dependencies
 ┣ 📜 README.md           # Project documentation
 ┣ 📂 instance/           # SQLite database
 ┣ 📂 templates/
 ┃ ┣ 📂 admin/            # Admin interface templates
 ┃ ┗ 📂 user/             # User interface templates
 ┣ 📂 static/             # CSS, images

🧬 Database Schema Overview

  • User
    • id, username, password, is_admin, scores[]
  • Subject
    • id, name, description, chapters[]
  • Chapter
    • id, name, subject_id, quizzes[]
  • Quiz
    • id, title, date_of_quiz, time_duration, chapter_id, questions[], scores[]
  • Question
    • id, question_statement, option1-4, correct_option, quiz_id
  • Score
    • id, user_id, quiz_id, score, total_questions, timestamp

Relationships use SQLAlchemy backrefs with cascade deletes for integrity.


🖥️ System Flow

Admin:
  Create Subject → Add Chapter → Add Quiz → Add Questions
User:
  Browse → Attempt Quiz → View Results & Past Scores

⚙️ Installation Guide

🐍 Prerequisites


-  Python 3.8+
-  pip

📦 Setup

Clone the repo

- git clone https://github.com/yourusername/quiz-master.git
- cd quiz-master

Optional: Create virtual environment

-  python -m venv venv
-  source venv/bin/activate
-  Windows: venv\Scripts\activate

Install dependencies

-  pip install -r requirements.txt

Initialize DB and admin user

-  python app.py

First run will automatically create an admin user with:

  • Username: admin
  • Password: 0000

🔐 Security

  • Password hashing: bcrypt via werkzeug.security
  • Session protection with Flask’s session object

Role-based access control (admin/user)

👨‍💻 Developer Notes

Structure sql

📁 templates/ ├─ admin/ ├─ user/ 📁 static/

  • app.py
  • README.md
  • requirements.txt

Development Server

- python app.py
- Default runs at http://127.0.0.1:5000

Made with ❤️ using Flask (Python).

About

No description or website provided.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages