Skip to content

A simple Quiz application in the Python programming language completed as a GUI (Graphical User Interface) project.

License

Notifications You must be signed in to change notification settings

sabbirahmad12/quiz-application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Quiz Application

Python License Status

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.

πŸ“‹ Table of Contents

πŸ“– Overview

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.

Core Capabilities

  • Multi-user role management (Teachers/Students)
  • Dynamic quiz creation and management
  • Real-time performance tracking
  • Comprehensive leaderboard system
  • Excel-based data persistence

✨ Key Features

πŸ‘¨β€πŸ« Teacher Dashboard

  • 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

πŸ‘¨β€πŸŽ“ Student Interface

  • 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

πŸ” Login Credentials

Teacher Login

  • 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

Student Login

  • 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

πŸ— System Architecture

Database Structure

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

Technical Stack

  • Backend: Python 3.x
  • Data Storage: Excel (openpyxl)
  • File Structure: Modular, maintainable architecture

πŸš€ Installation

Prerequisites

  • Python 3.x
  • pip (Python package manager)

Setup Steps

  1. Clone the repository:

    git clone https://github.com/sabbirahmad12/quiz-application.git
    cd quiz-application
  2. Install dependencies:

    pip install -r requirements.txt
  3. Initialize the database:

    python excel_db.py
  4. Launch the application:

    python main.py

πŸ“Š Data Management

Database Schema

Users Table

Field Type Description
id Integer Unique identifier
username String User login name
password String Encrypted password
role String User role (teacher/student)

Quizzes Table

Field Type Description
id Integer Quiz identifier
title String Quiz name
description String Quiz description

Questions Table

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

Leaderboard Table

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

πŸ”’ Security Considerations

Current Implementation

  • Basic file-based authentication
  • Role-based access control
  • Excel file data storage

Recommended Enhancements

  • Implement password hashing
  • Add session management
  • Enable database encryption
  • Integrate secure authentication
  • Regular security audits
  • Backup and recovery procedures

🀝 Contributing

We welcome contributions to enhance the Quiz Application. Please follow these steps:

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

Development Guidelines

  • Follow PEP 8 style guide
  • Write comprehensive tests
  • Update documentation
  • Maintain backward compatibility

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❀️ for education

About

A simple Quiz application in the Python programming language completed as a GUI (Graphical User Interface) project.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages