A Python-based CLI application for managing employee records, integrating Object-Oriented Programming (OOP), MySQL database connectivity, and data analytics (Pandas & Matplotlib). This project was built to demonstrate proficiency in core Python concepts.
- Object-Oriented Architecture: Utilizes classes, inheritance, and properties for clean data encapsulation (
models.py). - Database Integration: Connects to a local MySQL server to perform CRUD (Create, Read, Update, Delete) operations on employee records (
db_manager.py). - Data Analytics:
- Leverages Pandas for efficient data grouping and aggregation.
- Leverages Matplotlib to generate visual reports including:
- Bar Charts (Average salaries across departments)
- Pie Charts (Employee distribution across departments)
- Histograms (Age distribution of the workforce)
- Interactive CLI: Menu-driven interface featuring robust exception handling to protect against invalid user inputs.
- Python 3.10+
- MySQL Server (running locally)
-
Clone the repository:
git clone https://github.com/YOUR-USERNAME/Employee-Management-System.git cd Employee-Management-System -
Create and activate a virtual environment:
- Windows:
python -m venv .venv .\.venv\Scripts\activate
- Mac/Linux:
python3 -m venv .venv source .venv/bin/activate
- Windows:
-
Install the dependencies:
pip install -r requirements.txt
-
Run the Application:
python main.py
(Note: You will be prompted to enter your MySQL credentials. The application will automatically create the
EmployeeDBdatabase and necessary tables for you!)