Skip to content

abdullahcodes-dev/student-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Student Management System

A command-line Student Management System developed in Python as part of my Programming Fundamentals learning journey.

The application enables users to perform CRUD (Create, Read, Update, Delete) operations on student records through a simple menu-driven interface while storing data persistently using CSV files. This project was built to strengthen my understanding of Python fundamentals, file handling, and structured programming.


⭐ Features

  • βž• Add Student Records
  • πŸ“‹ View All Students
  • πŸ” Search Students by Roll Number
  • ✏️ Update Student Information
  • ❌ Delete Student Records
  • πŸ’Ύ Store Data Permanently Using CSV File Handling

πŸ› οΈ Technologies Used

  • Python
  • CSV Module
  • File Handling

πŸ“š Programming Concepts Practiced

This project helped strengthen my understanding of:

  • Functions
  • Loops
  • Conditional Statements
  • Lists
  • Dictionaries
  • User Input Handling
  • File Handling
  • CSV Data Management

βš™οΈ Application Workflow

The system stores student records using:

  • A list to manage multiple student records.
  • A dictionary to represent each individual student's information.

Each student record contains:

  • Name
  • Roll Number
  • Marks
  • Grade

The application uses Python's built-in CSV module for persistent data storage.

Workflow

  1. Existing student data is loaded from the CSV file when the program starts.
  2. Users can add, search, update, or delete student records.
  3. Any changes are automatically saved back to the CSV file.
  4. The updated records are available the next time the application is launched.

πŸ“ Project Structure

student-management-system/
β”‚
β”œβ”€β”€ main.py
β”œβ”€β”€ students.csv
β”œβ”€β”€ README.md
└── screenshots/

πŸ“Έ Application Screenshots

Main Menu

The main menu allows users to access all available features, including adding, viewing, searching, updating, and deleting student records.


βž• Add Student

Add Student


πŸ“‹ View Students

View Students


πŸ” Search Student

Search Student


✏️ Update Student

Update Student


❌ Delete Student

Delete Student


πŸ“‚ Updated Records

Updated Records


πŸšͺ Exit Program

Exit Program


πŸ’» Code Walkthrough

Grade Calculation Function

Grade Function

Calculates the student's grade based on the marks entered.


Saving Data to CSV

Save CSV

Writes student records to the CSV file, ensuring data persists between program executions.


Loading Data from CSV

Load CSV

Loads existing student records into memory when the application starts.


Main Menu & Add Student Logic

Menu Logic

Implements the menu-driven interface and handles the addition of new student records.


View & Search Student Logic

View Search Logic

Displays all student records and searches for a student using their roll number.


Update Student Logic

Update Logic

Allows users to modify the information of an existing student.


Delete Student Logic

Delete Logic

Removes a selected student record and updates the CSV file.


πŸš€ Future Improvements

Potential enhancements include:

  • GUI-based interface
  • Database integration
  • Login and authentication system
  • Advanced search and filtering
  • Improved input validation

πŸ“š Learning Outcomes

Through this project, I gained practical experience in:

  • Writing modular Python programs
  • Managing structured data
  • Working with CSV files
  • Implementing CRUD operations
  • Improving code organization and readability

πŸ‘¨β€πŸ’» Author

Muhammad Abdullah

BSCS Student at COMSATS University Islamabad

GitHub: https://github.com/abdullahcodes-dev


⭐ Feedback

Feedback, suggestions, and improvements are always welcome.

About

Python CLI Student Management System using CSV file handling and CRUD operations.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages