https://github.com/eabhi-me/quiz-master-prep
Quiz Master App is a Flask-based web application that enables teachers to create and manage quizzes by subject and chapter, while allowing students to take quizzes and track their performance with real-time scoring and insights. Built with Flask and SQLite for a lightweight, efficient backend.
https://github.com/eabhi-me/quiz-master-prep
bootstrap5 flask jinja2 python3 sqlite3
Last synced: about 2 months ago
JSON representation
Quiz Master App is a Flask-based web application that enables teachers to create and manage quizzes by subject and chapter, while allowing students to take quizzes and track their performance with real-time scoring and insights. Built with Flask and SQLite for a lightweight, efficient backend.
- Host: GitHub
- URL: https://github.com/eabhi-me/quiz-master-prep
- Owner: eabhi-me
- Created: 2025-03-22T03:52:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-15T19:37:44.000Z (about 1 year ago)
- Last Synced: 2025-07-16T00:51:14.770Z (12 months ago)
- Topics: bootstrap5, flask, jinja2, python3, sqlite3
- Language: Python
- Homepage: https://quiz-master-dot-velvety-ring-456112-u3.el.r.appspot.com/
- Size: 1.05 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# quiz-master-app-v1
## Overview
`quiz-master-app-v1` is a multi-user application designed to act as an exam preparation site for multiple courses. It supports different user roles, including administrators (quiz-masters) and regular users. The application allows users to attempt quizzes, view results, and search for various entities within the system.
## Features
- **User Authentication**: Secure login and registration for users.
- **Role-Based Access Control**: Different functionalities for quiz-masters and regular users.
- **Quiz Management**: Create, update, and delete quizzes.
- **Question Management**: Add, update, and delete questions for quizzes.
- **Search Functionality**: Search across multiple tables (Users, Chapters, Subjects, Quizzes, Questions).
- **Session Management**: Track quiz attempts and store answers.
- **Error Handling**: Custom error pages for better user experience.
## Installation
1. Clone the repository:
```bash
git clone https://github.com/eabhi-me/quiz-master-app-v1.git
cd quiz-master-app-v1
```
2. Create a virtual environment and activate it:
```bash
python -m venv venv
venv\Scripts\activate # On Windows
source venv/bin/activate # On macOS/Linux
```
3. Install the required dependencies:
```bash
pip install -r requirements.txt
```
4. Set up the database:
```bash
flask db init
flask db migrate
flask db upgrade
```
5. Run the application:
```bash
flask run
or
python app.py
```
## Usage
- :**Register** Create a new user account.
- **Login**: Access the application with your credentials.
- **Quiz Master**: Create and manage quizzes and questions.
- **User**: Attempt quizzes and view results.
- **Search**: Use the search bar to find users, chapters, subjects, quizzes, and questions.
## Routes
- **Home**: `/`
- **Register**: `/register`
- **Login**: `/login`
- **Attempt Quiz**: `/attempt-quiz/`
- **View Result**: `/view-result/`
- **Search**: `/search`
### User Routes
- **Dashboard**: `/dashboard` - View upcoming and old quizzes.
- **View Quiz**: `/view-quiz/` - View details of a specific quiz.
- **Attempt Quiz**: `/attempt-quiz/` - Attempt a specific quiz.
- **Quiz Result**: `/quiz-result/` - View the result of a specific quiz attempt.
- **View Result**: `/view-result` - View all quiz results for the current user.
- **User Summary**: `/summary/user` - View a summary of the user's performance.
### Quiz Master Routes
- **Quiz Master Dashboard**: `/quiz-master/admin` - View statistics and manage the quiz master dashboard.
- **Manage Users**: `/quiz-master/manage-user` - View and manage users.
- **Get User**: `/quiz-master/user/` - Get details of a specific user.
- **Delete User**: `/quiz-master/user/` - Delete a specific user.
- **Quiz Master Actions**: `/quiz-master/action-sub-chap` - View and manage subjects and chapters.
- **View Quizzes**: `/quiz-master/quiz-dashborad` - View all quizzes and questions.
- **Add Subject**: `/quiz-master/add-subject` - Add a new subject.
- **Add Chapter**: `/quiz-master/add-chapter` - Add a new chapter.
- **Add Quiz**: `/quiz-master/add-quiz` - Add a new quiz.
- **Add Question**: `/quiz-master/add-question` - Add a new question.
- **Modify Subject**: `/quiz-master/subject/` - Modify or delete a specific subject.
- **Modify Chapter**: `/quiz-master/chapter/` - Modify or delete a specific chapter.
- **Modify Quiz**: `/quiz-master/quiz/` - Modify or delete a specific quiz.
- **Modify Question**: `/quiz-master/question/` - Modify or delete a specific question.
- **Edit Question**: `/quiz-master/edit-question/` - Edit a specific question.
- **Edit Quiz**: `/quiz-master/edit-quiz/` - Edit a specific quiz.
- **Summary**: `/summary` - View a summary of the quiz master's performance.
## API Documentation
The API documentation is available at the following link:
- **Swagger UI**: [API Documentation](http://localhost:5000/apidocs)
## Error Handling
- **404 Not Found**: Custom error page for non-existent routes.
## Database Schema

## IMG

## Video
[Demo](https://drive.google.com/file/d/1G0daZUMvVMMxDb9tJ6JSw2CJwHmIZEJ7/view?usp=drive_link)
## Contributing
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Make your changes.
4. Commit your changes (`git commit -m 'Add new feature'`).
5. Push to the branch (`git push origin feature-branch`).
6. Create a new Pull Request.
## License
This project is licensed under the MIT License.
## Contact
For any questions or feedback, please contact [eabhi.me@gmail.com].