The Employee Management System (EMS) is a web application that allows organizations to manage their employee data efficiently. It provides functionalities to create, read, update, and delete employee records. The application is built using Angular for the frontend and Spring Boot for the backend, with MySQL as the database.
ems.mp4
- Employee List: View a list of all employees.
- Add Employee: Add new employee records.
- Edit Employee: Update existing employee records.
- Delete Employee: Remove employee records.
- View Employee Details: View details of a specific employee.
- Angular
- HTML
- CSS
- TypeScript
- Angular Material
- Spring Boot
- Spring Data JPA
- MySQL
- Visual Studio Code
- Postman
- MySQL Workbench
Before you begin, ensure you have met the following requirements:
- Java 11 or later installed
- Node.js and npm installed
- Angular CLI installed
- MySQL installed and running
-
Clone the repository:
git clone https://github.com/your-username/ems-backend.git cd backend
-
Update the MySQL configuration in
application.properties
:server.port=8080 spring.datasource.url=jdbc:mysql://<YOUR_MYSQL_HOST>:<YOUR_MYSQL_PORT>/defaultdb?useSSL=false spring.datasource.username=<USERNAME> spring.datasource.password=<YOUR_PASSWORD> spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.hibernate.ddl-auto=update
-
Run the Spring Boot application:
./mvnw spring-boot:run
-
Clone the repository:
git clone https://github.com/your-username/ems-frontend.git cd frontend
-
Install dependencies:
npm install
-
Start the Angular application:
ng serve
The application will be available at
http://localhost:4200
.
The backend exposes the following API endpoints:
-
GET /api/v1/employees
- Retrieve all employees -
POST /api/v1/employees
- Create a new employee -
GET /api/v1/employees/{id}
- Retrieve an employee by ID -
PUT /api/v1/employees/{id}
- Update an employee by ID -
DELETE /api/v1/employees/{id}
- Delete an employee by ID -
Thanks to the creators of Angular, Spring Boot, and MySQL for their amazing tools and frameworks.