A comprehensive web application for creating, managing and taking quizzes. This project was developed as part of the Modern Application Development I course (BSCS2003P) at IIT Madras.
Quiz Master is a Flask-based web application that allows administrators to create subjects, chapters, quizzes, and questions, while users can take quizzes and track their scores. The application implements role-based access control, secure authentication, and a responsive user interface.
- User registration and authentication
- Browse available quizzes by subject or through search
- Take quizzes within scheduled time periods
- Receive immediate feedback on quiz submissions
- View quiz history and performance statistics
- Comprehensive dashboard for content management
- Create and manage subjects, chapters, quizzes, and questions
- Set quiz schedules and durations
- View all registered users
- Search functionality for users, subjects, quizzes, and questions
- Backend: Flask (Python)
- Database: SQLite with SQLAlchemy ORM
- Frontend: HTML, CSS, Bootstrap
- Authentication: Session-based authentication with password hashing (using flask-session and werkzeug)
quiz_master/ ├── models.py # Database models ├── routes.py # Application routes and logic ├── app.py # Main application file └─ templates/ # HTML templates │ ├── admin/ # Admin dashboard templates │ ├── user_dashboard/ # User dashboard templates │ └── static/ # Static files
- first create venv, "python -m venv .venv" (or python3 -m venv .venv)
- Activate the venv, with "source .venv/bin/activate"
- Install libraries with, "pip install -r requirements.txt"
- "python app.py" or "flask run"