Skip to content

Latest commit

Β 

History

History
110 lines (86 loc) Β· 2.66 KB

File metadata and controls

110 lines (86 loc) Β· 2.66 KB

πŸ“ Exam Management System (Python + MySQL)

Python MySQL Status

A Python-based Exam Management System integrated with MySQL.
This project provides a complete workflow for student login, exam invigilation, grading, and admin-level question management.


Features

Student Module

  • Secure login using stored credentials.
  • Add new student information (info()).
  • View all registered students (studentlist()).
  • Attempt exams with multiple-choice questions fetched from the database.
  • Automatic evaluation of answers with:
    • Total Marks
    • Correct/Incorrect Answers
    • Grade Assignment (A–Fail)
    • Percentage Calculation

Admin Module

  • Secure admin login.
  • Manage exam questions:
    • View all questions.
    • Add new questions.
    • Delete existing questions.
  • Full control over the exam database.

Project Structure

  • Database Connection:
    Uses mysql.connector to connect with project1 database.

  • Functions:

    • studentlist() β†’ Displays all registered students.
    • info() β†’ Inserts new student details into the database.
    • invigilator() β†’ Conducts exam, tracks answers, calculates marks.
    • grade() β†’ Assigns grade based on marks.
    • percentage() β†’ Calculates percentage.
    • admin_access() β†’ Admin panel for managing questions.
  • Main Menu Options:

    • Student login
    • Admin login
    • Add/view student information
    • Exit

Grading System

Marks Range Grade
β‰₯ 17 A
13–16 B
9–12 C
5–8 D
< 5 Fail

Tech Stack

  • Language: Python
  • Database: MySQL
  • Connector: mysql.connector

Example Workflow

  1. Student/Admin selects login option.
  2. Credentials validated against database (studentids / adminids).
  3. Students attempt exam questions stored in exam table.
  4. System auto-calculates marks, grade, and percentage.
  5. Admins can add, view, or delete questions.

ER Diagram

erDiagram
    STUDENTIDS {
        string username
        string password
        int studentid
    }

    ADMINIDS {
        string username
        string password
    }

    EXAM {
        int id
        string question
        string optionA
        string optionB
        string optionC
        string optionD
        string answer
    }

    STUDENTIDS ||--o{ EXAM : "attempts"
    ADMINIDS ||--o{ EXAM : "manages"
Loading