Hey everyone!
Iβm excited to share my recent project β a Full Stack Employee Management System built using Spring Boot (Backend), React (Frontend), and MySQL (Database).
This project helped me understand how frontend and backend communicate seamlessly through REST APIs and how CRUD operations work end-to-end.
π§© Tech Stack
- Frontend: React, Bootstrap, Axios, React-Router
- Backend: Spring Boot, Java
- Database: MySQL
- Tools: Postman, VS Code, IntelliJ IDEA
π‘ Project Overview
The Employee Management System (EMS) is a simple yet powerful CRUD application that allows users to:
- β Add a new employee
- π View all employees
- βοΈ Update employee details
- β Delete an employee
The frontend is built with React, fetching and updating data via REST APIs created in Spring Boot. All employee records are stored in MySQL.
βοΈ Backend (Spring Boot)
I created REST APIs using Spring Boot:
- GET /api/employees β Fetch all employees
- POST /api/employees β Add a new employee
- GET /api/employees/{id} β Get employee by ID
- PUT /api/employees/{id} β Update employee
- DELETE /api/employees/{id} β Delete employee
I also integrated CORS to allow communication with the React frontend.
π» Frontend (React)
For the frontend, I used React Hooks (useState, useEffect) and React Router for navigation.
The UI has:
A list page displaying all employees in a table
An βAdd Employeeβ form
An βUpdate Employeeβ form
A header and footer for a clean layout
API calls are made using Axios, and the state updates dynamically without page reloads.
ποΈ Database (MySQL)
I designed a simple table structure:
CREATE TABLE employees (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100)
);
The application connects to MySQL through the application.properties file in Spring Boot.
π Integration Flow
- React sends requests to the backend API (Axios).
- Spring Boot handles requests, performs CRUD operations via JPA.
- MySQL stores and retrieves employee data.
- React updates UI dynamically based on responses.
π― What I Learned
Connecting React frontend with a Spring Boot backend
Managing REST API calls using Axios
Handling form data and routing with React Router
Writing CRUD operations using Spring Data JPA
Understanding full-stack workflow and debugging cross-origin issues (CORS)
This project was a great hands-on experience to strengthen my Java + React full-stack skills.
It gave me a clearer picture of how data flows between frontend, backend, and database layers.
If youβre learning full stack development, I highly recommend building a CRUD app like this β itβs the perfect foundation for larger enterprise applications.
π GitHub Repository
π View the Source Code: https://github.com/tejasviurka/ems-fullstack
Top comments (0)