A full-stack Employee Management System built with React, Spring Boot, and PostgreSQL. EMS simplifies employee and admin operations with tools for managing employee records, leave requests, attendance, and analytics.
- React
- TailwindCSS
- ReCharts
- Spring Boot (RESTful API)
- Swagger UI (OpenAPI Documentation)
- JWT Authentication
- PostgreSQL
- Secure login/logout with JWT and cookies
- View and update employee profile
- Daily check-in / check-out attendance tracking
- View today's attendance, hours worked, and full history
- Apply for leave and track leave status
- Dashboard analytics (personal attendance summary)
- View, add, edit, and delete employees
- Search and filter employees by name, email, or department
- Attendance logs of all employees with searchable table
- Leave requests management (approve/reject)
- Employee analytics:
- Total employees
- Average salary
- Average working hours
- Average check-in & check-out time
- Employee distribution by department and role
- Recent joins (last 30 days)
- Joining trends over time (line chart)
- RESTful APIs with Swagger UI for testing
git clone https://github.com/Atharva759/Employee-Management-System.gitcd employee-management-system
- Head to Frontend , Install packages & Run the development server
cd frontend
npm install
npm run dev
- Server is running on http://localhost/5173
➤ Prerequisites
- Java 17+
- Maven
- PostgreSQL running locally
➤ Configure PostgreSQL
Update src/main/resources/application.properties:
spring.datasource.url=jdbc:postgresql://localhost:5432/employees_db
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update
➤ Run Backend
cd backend
./mvnw spring-boot:run
- Server is running on http://localhost:8080
Visit: http://localhost:8080/swagger-ui.html
This provides a full interactive UI to test and explore the API.



