Skip to content

anup-sys/EmployeeManagementSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Employee Management System

A RESTful Employee Management System built using Spring Boot, Spring Data JPA, and MySQL. This project provides APIs to manage employee records with CRUD operations following a layered architecture.


📌 Features

  • ➕ Add Employee
  • 📋 Get All Employees
  • 🔍 Get Employee By ID
  • ✏️ Update Employee Details
  • ❌ Delete Employee
  • 📦 DTO Pattern
  • 🔄 Entity Mapper
  • ⚠️ Global Exception Handling
  • 🗄️ MySQL Database Integration
  • 🏗️ Layered Architecture

🛠️ Tech Stack

  • Java 17+
  • Spring Boot
  • Spring Data JPA
  • Hibernate
  • MySQL
  • Maven
  • REST API
  • Git & GitHub

📂 Project Structure

src
└── main
    ├── java
    │   └── com.example.EmployeeManagementSystem
    │       ├── controller
    │       ├── dto
    │       ├── exception
    │       ├── mapper
    │       ├── model
    │       ├── repository
    │       ├── service
    │       └── EmployeeManagementSystemApplication
    │
    └── resources
        └── application.properties

⚙️ Installation

Clone Repository

git clone https://github.com/anup-sys/EmployeeManagementSystem.git
cd EmployeeManagementSystem

Create MySQL Database

CREATE DATABASE employee_db;

Configure Database

Update application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/employee_db
spring.datasource.username=root
spring.datasource.password=your_password

spring.jpa.hibernate.ddl-auto=update

Run the Project

mvn spring-boot:run

Application will start on:

http://localhost:8080

📡 API Endpoints

Method Endpoint Description
GET /employees Get All Employees
GET /employees/{id} Get Employee By ID
POST /employees Add New Employee
PUT /employees/{id} Update Employee
DELETE /employees/{id} Delete Employee

🧪 Testing

You can test the APIs using:

  • Postman
  • Thunder Client
  • Insomnia

🌟 Future Improvements

  • JWT Authentication
  • Spring Security
  • Swagger Documentation
  • Pagination & Sorting
  • Docker Support
  • Role-Based Access Control

🤝 Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to GitHub
  5. Create a Pull Request

📄 License

This project is licensed under the MIT License.


👨‍💻 Developer

Anup

GitHub: https://github.com/anup-sys

If you like this project, don't forget to ⭐ star the repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages