sameh-tarek / Employee-Managment-API

Spring Fawry Task

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Employee Management API with Java Spring Boot

Overview

The Employee Management API simplifies employee-related activities. For detailed information, refer to the Features section.

Test API here

Run In Postman

Requirements

  1. Java Development Kit (JDK) 17 or above:

    • Ensure that you have Java Development Kit version 17 or a later version installed on your system.
  2. MySQL Database:

    • Utilize a local MySQL instance or connect to a remote MySQL server.

How to Run

  1. Clone the project repository from Git (if it's not already cloned).
  2. Import the project into your favorite Java IDE (e.g., IntelliJ, Eclipse, etc.).
  3. Build the project to resolve dependencies.

Features

Employee Management

No. Feature Description Endpoint
1. List All Employees Retrieve a list of all employees. GET /employees
2. Paginate Employees Paginate through employees. GET /employees/pages
3. Get Employee Details Get details of a specific employee by ID. GET /employees/{id}
4. Get Employees by Dept Get employees belonging to a specific department GET /employees/department/{id}
5. Add Employee Add a new employee. POST /employees/add
6. Search Employees Search for employees by name. GET /employees/search
7. Update Employee Update details of an existing employee. PUT /employees/update/{id}
8. Delete Employee Delete an employee by ID. DELETE /employees/delete/{id}

Department Management

No. Feature Description Endpoint
1. List All Departments Retrieve a list of all departments. GET /departments
2. Paginate Departments Paginate through departments. GET /departments/pages
3. Get Department Details Get details of a specific department by ID. GET /departments/{id}
4. Add Department Add a new department. POST /departments/add
5. Update Department Update details of an existing department. PUT /departments/update/{id}
6. Delete Department Delete a department by ID. DELETE /departments/delete/{id}
7. Search Departments Search for departments by name. GET /departments/search