The web-based application is built by three microservices and the gateway service communicates both user service and admin service. To access the web application, employees require accounts that are only created by administrators. Once an employee account is created, an employee will receive an email that contains the password generated by random numbers. Also, the website will automatically mark with real date time for in-time and out-time and evaluate the status of attendance each day. Furthermore, the website has a leave system that allows employees to submit leave applications that will be only approved by their administrators. To associate with the leave system, auto-checking will track leave applications by date and send notifications by email if the admin has unresponsive applications over 5 days. Another main feature is the resignation in which employees can submit resignation forms and their managers approve these applications with the last working dates. The system will automatically deactivate those accounts once the last working dates passed. Additionally, other minor features are like displaying upcoming events from the company and upcoming birthdays of other employees.
Hibernate, Spring Boot, Bootstrap, JavaScript, jQuery, JSP, Postman, Tomcat, MySQL, Git / GitHub.
- Used Rest Template to send requests and receive responses between microservices.
- Use Spring Security to validate authentication from and limit accessibility by authorization of roles.
- Configure properties with Spring Data Source to connect to MySQL Database.
- Implemented JPA to access and persist data between Java object/class and relational database.
- Used Java Mail Sender to send emails for notifications of account confirmations and alerts of awaiting approvals.
- Create REST Controllers to handle requests using the JsonNode object and responses using the Response Entity object.
- Implemented all the CRUD operations using JPA query language.
- Used JSP as views to contain static contents and designs.
- Embed Javascript with jQuery to perform AJAX, handle events, and modify DOM elements
- Used AJAX to handle requests and responses of rest APIs from the back-end
- Used Bootstrap to improve responsive styling designs on different sizes of screens.