A full-stack Employee Management System built with Spring Boot (Backend) and React (Frontend). This project allows users to manage employees, add addresses, assign managers, and filter employees by country & department.

✅ Manage Employees – Add, Edit, Delete Employees
✅ Filter Employees – Search by Country & Department
✅ Assign Managers – Set up reporting hierarchy
✅ Manage Departments – Assign employees to multiple departments
✅ Address Management – Add multiple addresses per employee
✅ Modern UI – Dark-themed, professional design
- Java 17
- Spring Boot
- Spring Data JPA
- MySQL Database
- Hibernate ORM
- Lombok
- Swagger (for API Docs)
- React 18 + Vite
- TailwindCSS (Dark Mode)
- React Router
- Axios (API Calls)
- Context API (State Management)
git clone https://github.com/Aditya02jha/Employee-Management.git
cd Employee-ManagementUpdate application.properties in backend/src/main/resources/:
spring.datasource.url=jdbc:mysql://localhost:3306/employeedb
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=truecd backend
mvn clean install
mvn spring-boot:runBackend will start at: http://localhost:8080 🎡
cd frontend
npm installCreate a .env file in the frontend/ directory:
VITE_API_URL=http://localhost:8080npm run devFrontend will start at: http://localhost:5173 🎡
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/employee/employees |
Get all employees |
| GET | /api/employee/{id} |
Get employee details by ID |
| POST | /api/admin/addEmployee |
Create a new employee |
| PUT | /api/employee/{id} |
Update an employee |
| DELETE | /api/employee/{id} |
Delete an employee |
| GET | /api/countries |
Get list of countries |
| GET | /api/departments |
Get list of departments |
- Fork the repo
- Create a new branch (
feature-xyz) - Commit changes
- Push & Create Pull Request ✅
MIT License - Free to use & modify 🚀
📧 Email: aditya0000jha@gmail.com
🔗 GitHub: YourGitHub
