Skip to content

prathaam19/EMS_Springboot_RESTAPI_MYSQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Employee Management System (EMS) 📌 Project Overview

The Employee Management System (EMS) is a backend web application designed to manage employee records securely and efficiently. It provides RESTful APIs for employee operations with JWT-based authentication and role-based access control.

This project demonstrates backend development skills using Java, Spring Boot, Spring Security, and MySQL, following industry-standard layered architecture.

🚀 Features

Secure authentication using JWT (JSON Web Tokens)

Role-based access control (Admin, Manager, Employee)

Create, Read, Update, Delete (CRUD) operations for employees

RESTful API design

API documentation using Swagger/OpenAPI

Database integration using Spring Data JPA & MySQL

Exception handling and validation

Modular and scalable project structure

🛠️ Technologies Used

Language: Java

Framework: Spring Boot

Security: Spring Security, JWT

ORM: Hibernate, Spring Data JPA

Database: MySQL

Build Tool: Maven

API Documentation: Swagger / OpenAPI

Testing Tool: Postman

Version Control: Git & GitHub

🧱 Project Architecture

The application follows a layered architecture:

Controller Layer: Handles HTTP requests and responses

Service Layer: Contains business logic

Repository Layer: Handles database operations

Entity Layer: Defines database models

DTO Layer: Manages request and response objects

Security Layer: JWT authentication and authorization

🔐 Authentication & Authorization

User authentication is handled using JWT tokens

Token is generated on successful login

Secured endpoints require a valid JWT token

Role-based authorization ensures restricted access:

ADMIN: Full access

MANAGER: Limited management operations

EMPLOYEE: Read-only access

About

EMS REST API with MySQL & Swagger

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages