Skip to content

Latest commit

 

History

History
165 lines (120 loc) · 3.11 KB

File metadata and controls

165 lines (120 loc) · 3.11 KB

👨‍💼 Employee Management System

A menu-driven Employee Management System developed using Python Object-Oriented Programming (OOP) and File Handling. This application allows users to manage employee records with features like adding, updating, deleting, searching, and viewing employee details. Employee data is stored permanently using a text file.


📌 Features

  • ➕ Add Employee
  • 📋 View All Employees
  • 🔍 Search Employee by ID
  • ✏️ Update Employee Details
  • ❌ Delete Employee
  • 👥 Employee Count
  • 💰 Display Highest Paid Employee
  • 💸 Display Lowest Paid Employee
  • 📊 Calculate Average Salary
  • 💾 Save Employee Data to Text File
  • 📂 Automatically Load Employee Data on Program Start
  • ✅ Input Validation for Employee Details
  • 🧩 Modular Code Structure

🛠️ Technologies Used

  • Python 3
  • Object-Oriented Programming (OOP)
  • File Handling (open())
  • Text File Storage
  • Exception Handling
  • Modular Programming

📁 Project Structure

Employee-Management-System/
│
├── employee.py        # Employee class
├── helpers.py         # Validation, Save & Load functions
├── main.py            # Main menu-driven program
├── employees.txt      # Stores employee records
└── README.md

📚 Concepts Implemented

  • Classes & Objects
  • Constructor (__init__)
  • Instance Variables
  • Methods
  • Object Creation
  • List of Objects
  • File Handling
  • Data Persistence
  • Input Validation
  • Exception Handling
  • Modular Programming

▶️ How to Run

  1. Clone this repository.
git clone https://github.com/sourav-srv916/Employee-Management-System.git
  1. Open the project folder.

  2. Run:

python main.py

📋 Menu

1. Add Employee
2. View All Employees
3. Search Employee
4. Update Employee
5. Delete Employee
6. Employee Count
7. Highest Paid Employee
8. Lowest Paid Employee
9. Average Salary
10. Exit

💾 Data Storage

Employee records are stored in employees.txt using comma-separated values.

Example:

101,Pranav S,25,IT,35000.0
102,Sourav P,26,IT,10000.0
103,Sumathi S,27,IT,45000.0

The application automatically:

  • Loads employee data when the program starts.
  • Saves updated data after every Add, Update, or Delete operation.

🎯 Learning Outcomes

This project helped me understand:

  • Python Object-Oriented Programming
  • Working with multiple Python modules
  • CRUD Operations
  • File Handling
  • Saving and Loading Objects
  • Data Validation
  • Exception Handling
  • Menu-Driven Application Development

🚀 Future Enhancements

  • Store data using MySQL database
  • Employee login system
  • Salary increment feature
  • Department-wise employee filtering
  • Export employee records to CSV
  • Graphical User Interface (Tkinter)
  • Django Web Application

👨‍💻 Author

Sourav P

Aspiring Python Full Stack Developer

Currently learning:

  • Python
  • HTML
  • CSS
  • JavaScript
  • MySQL
  • Django

⭐ If you found this project useful, consider giving it a Star!

GitHub: https://github.com/sourav-srv916"# Employee-Management-System"