A modern, responsive web-based quiz management system built with Flask that allows administrators to create subjects, chapters, quizzes, and questions, while users can take quizzes and view their performance.
- User Authentication: Login and registration system with role-based access (Admin/User)
- Admin Dashboard: Manage subjects, chapters, quizzes, and questions
- Quiz Management: Create, edit, and delete quizzes and questions
- Data Visualization: View quiz statistics and performance metrics
- User Dashboard: Take quizzes and track performance
- Search Functionality: Search for subjects, chapters, quizzes, and questions
- Timer Functionality: Timed quizzes with automatic submission when time expires
- Question Navigation: Easy navigation between questions during quiz attempts
- Progress Tracking: Track user performance across different subjects
- Responsive Design: Modern UI that works on desktop and mobile devices
- Backend: Flask, SQLAlchemy
- Frontend: HTML5, CSS3, JavaScript, Bootstrap 5
- Database: SQLite
- Data Visualization: Matplotlib
- Data Processing: Pandas, NumPy
- Icons: Font Awesome
- Fonts: Google Fonts (Poppins)
-
Clone the repository:
git clone https://github.com/yourusername/quiz-master.git cd quiz-master -
Create and activate a virtual environment:
python -m venv env # On Windows env\Scripts\activate # On macOS/Linux source env/bin/activate -
Install dependencies:
pip install -r requirements.txt -
Run the application:
python main.py -
Access the application at
http://localhost:5000
- Username: admin
- Password: admin
- Email: admin@quizmaster.com
main.py: Main application file with Flask routesapplications/: Package containing application modulesconfig.py: Application configurationdatabase.py: Database setupmodel.py: SQLAlchemy models
templates/: HTML templates for the application viewsstatic/: Static assetscss/: CSS stylesheetsjs/: JavaScript files
instance/: Contains the SQLite database
The application includes a timer feature for quizzes that:
- Displays remaining time during quiz attempts
- Persists time between page reloads
- Automatically submits when time expires
- Changes color when time is running low
- Modern UI with custom styling
- Works on mobile, tablet, and desktop devices
- Smooth animations and transitions
- Consistent color scheme and typography
- Intuitive navigation with clear icons
- Visual feedback for selected quiz options
- Question navigator for easy movement between questions
- Progress tracking and performance visualization
This project is licensed under the MIT License - see the LICENSE file for details.