Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Employee Management & Analytics System

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.

Features

  • 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.

Prerequisites

  • Python 3.10+
  • MySQL Server (running locally)

Setup and Installation

  1. Clone the repository:

    git clone https://github.com/YOUR-USERNAME/Employee-Management-System.git
    cd Employee-Management-System
  2. Create and activate a virtual environment:

    • Windows:
      python -m venv .venv
      .\.venv\Scripts\activate
    • Mac/Linux:
      python3 -m venv .venv
      source .venv/bin/activate
  3. Install the dependencies:

    pip install -r requirements.txt
  4. Run the Application:

    python main.py

    (Note: You will be prompted to enter your MySQL credentials. The application will automatically create the EmployeeDB database and necessary tables for you!)

About

A Python CLI application for managing employee records, demonstrating core Object-Oriented Programming (OOP) concepts, MySQL database connectivity, and data analytics/visualization using Pandas & Matplotlib.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages