Skip to content

About

A Python-based Student Result Management System with course management, student management, result processing, and reporting features.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Student Result Management System (SRMS)

A desktop application built with Python, Tkinter, and SQLite for managing students, courses, and academic results.


Features

Module What it does
Register Create a new admin account
Login Authenticate with email & password; shows an analog clock
Dashboard Overview with total counts; navigate to all sub-modules
Course Add / Update / Delete / Search courses
Student Add / Update / Delete / Search student records
Result Enter marks for a student (auto-calculates percentage)
Report Search a result by Roll No.; view grade; delete a record

Folder Structure

student_management_system/
├── main.py               ← Start the app here
├── login.py
├── register.py
├── dashboard.py
├── course.py
├── student.py
├── result.py
├── report.py
├── create_db.py          ← Run to (re-)create the database
├── utils.py              ← Shared image-path helper & clock drawing
├── requirements.txt
├── database/
│   ├── db_config.py      ← Central DB connection & schema creation
│   └── rms.db            ← SQLite database (auto-created on first run)
└── images/               ← All UI images
    ├── bg2.jpeg          ← Registration background
    ├── side.jpg          ← Left decorative image on registration page
    ├── logo.jpg          ← Header logo
    ├── dash3.png         ← Dashboard banner image
    ├── resultimg.jpg     ← Result module decorative image
    ├── frame.png         ← Clock face background
    └── clock.png         ← Generated clock face (auto-written at runtime)

Requirements

  • Python 3.8+
  • tkinter (built-in with standard Python)
  • Pillow (third-party)

Installation

# 1. Clone or unzip the project
cd student_management_system

# 2. (Recommended) Create a virtual environment
python -m venv venv
source venv/bin/activate        # Windows: venv\Scripts\activate

# 3. Install dependencies
pip install -r requirements.txt

Database Setup

The database is created automatically when you run the app for the first time. To set it up manually, or to reset a corrupted database:

python create_db.py

This creates database/rms.db with four tables: employee, course, student, result.


Running the App

python main.py

Or, to launch the login window directly:

python login.py

First-Time Use

  1. Run python main.py.
  2. Click "Register New Account?" to create an admin account.
  3. Log in with those credentials.
  4. From the dashboard, add Courses first, then Students, then Results.

Troubleshooting

Problem Solution
ModuleNotFoundError: No module named 'PIL' Run pip install Pillow
ModuleNotFoundError: No module named 'tkinter' Install python3-tk (Linux) or reinstall Python with Tk support
App opens but images are missing / white Ensure the images/ folder is in the same directory as main.py
Database locked / corrupted Delete database/rms.db and run python create_db.py
Login window is not full-screen on Linux self.root.state("zoomed") may not work on some Linux WMs; resize manually
Subprocess windows flash and close Make sure all .py files are in the same student_management_system/ folder

SQL Schema Reference

CREATE TABLE employee (
    eid INTEGER PRIMARY KEY AUTOINCREMENT,
    f_name TEXT, l_name TEXT, contact TEXT,
    email TEXT UNIQUE, question TEXT, answer TEXT, password TEXT
);

CREATE TABLE course (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT UNIQUE, duration TEXT, charges TEXT, description TEXT
);

CREATE TABLE student (
    roll TEXT PRIMARY KEY,
    name TEXT, email TEXT, gender TEXT, dob TEXT, contact TEXT,
    addmission TEXT, course TEXT, state TEXT, city TEXT, pin TEXT, address TEXT
);

CREATE TABLE result (
    rid INTEGER PRIMARY KEY AUTOINCREMENT,
    roll TEXT, name TEXT, course TEXT,
    marks_ob REAL, full_marks REAL, per REAL
);

About

A Python-based Student Result Management System with course management, student management, result processing, and reporting features.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages