A robust, Excel-based quiz management system designed for educational institutions. This application streamlines the process of creating, administering, and evaluating quizzes while maintaining comprehensive performance records.
- Overview
- Key Features
- Login_Credentials
- System Architecture
- Installation
- Usage Guide
- Data Management
- Security Considerations
- Contributing
- License
The Quiz Application is a comprehensive solution for educational institutions seeking to digitize their assessment process. Built with Python and utilizing Excel for data persistence, it offers a perfect balance between simplicity and functionality.
- Multi-user role management (Teachers/Students)
- Dynamic quiz creation and management
- Real-time performance tracking
- Comprehensive leaderboard system
- Excel-based data persistence
- Quiz Management
- Create and customize quizzes
- Add multiple-choice questions
- Set time limits and scoring rules
- Delete or modify existing quizzes
- Performance Analytics
- View detailed student performance metrics
- Access comprehensive leaderboard data
- Generate performance reports
- Quiz Taking
- Access available quizzes
- Real-time quiz completion
- Immediate score feedback
- Performance Tracking
- View personal quiz history
- Track progress over time
- Compare performance with peers
- Username:
teacher - Password:
1234 - Access: Teacher Dashboard
- Features:
- Quiz Management (create, customize, delete quizzes)
- Add multiple-choice questions
- Set time limits and scoring rules
- View student performance metrics
- Access leaderboard data
- Generate performance reports
- Username:
student - Password:
1234 - Access: Student Interface
- Features:
- Take available quizzes
- Get immediate score feedback
- View personal quiz history
- Track progress
- Compare performance with peers
The application utilizes a modular Excel-based storage system:
| File | Purpose | Key Components |
|---|---|---|
users.xlsx |
User Management | User profiles, roles, credentials |
quizzes.xlsx |
Quiz Repository | Quiz metadata, configurations |
questions.xlsx |
Question Bank | Questions, options, correct answers |
leaderboard.xlsx |
Performance Tracking | Scores, timestamps, rankings |
- Backend:
Python 3.x - Data Storage: Excel (openpyxl)
- File Structure: Modular, maintainable architecture
Python 3.x- pip (Python package manager)
-
Clone the repository:
git clone https://github.com/sabbirahmad12/quiz-application.git cd quiz-application -
Install dependencies:
pip install -r requirements.txt
-
Initialize the database:
python excel_db.py
-
Launch the application:
python main.py
| Field | Type | Description |
|---|---|---|
| id | Integer | Unique identifier |
| username | String | User login name |
| password | String | Encrypted password |
| role | String | User role (teacher/student) |
| Field | Type | Description |
|---|---|---|
| id | Integer | Quiz identifier |
| title | String | Quiz name |
| description | String | Quiz description |
| Field | Type | Description |
|---|---|---|
| id | Integer | Question identifier |
| quiz_id | Integer | Associated quiz |
| question_text | String | Question content |
| options | Array | Multiple choice options |
| correct_answer | Integer | Correct option index |
| Field | Type | Description |
|---|---|---|
| id | Integer | Record identifier |
| user_id | Integer | Student identifier |
| quiz_id | Integer | Quiz identifier |
| score | Float | Achieved score |
| time_taken | Integer | Completion time |
- Basic file-based authentication
- Role-based access control
- Excel file data storage
- Implement password hashing
- Add session management
- Enable database encryption
- Integrate secure authentication
- Regular security audits
- Backup and recovery procedures
We welcome contributions to enhance the Quiz Application. Please follow these steps:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
- Follow PEP 8 style guide
- Write comprehensive tests
- Update documentation
- Maintain backward compatibility
This project is licensed under the MIT License - see the LICENSE file for details.