2022 - Present
At Mekari, I am part of the Talenta tribe, working on a project that focuses on HRIS and Payroll. This project includes not only a mobile application but also a web application, with API support for enterprise clients. You can visit the website here., or download the application for Android and iOS.
The main feature my team is responsible for is Attendance, which includes clock-in/clock-out, scheduling, time off, and overtime. Additionally, other teams manage various features such as payroll, employee management, tax, and reports.
Besides working on product initiatives, our engineering team also aims to address scalability and performance issues. The existing application is a large monolithic PHP codebase, so part of our engineering initiatives involve breaking it down into smaller services and domains. The ultimate goal is to eventually transform all existing features into microservices.
Below is a list of some of the features that the attendance team is responsible for:
The Clock in/out
The live attendance process receives the highest number of requests, especially during peak hours. This feature was one of the first we migrated into a microservice. Before the migration, the service would often go down during peak hours. It has been almost two years since we completed the migration to a microservice, and since then, we have experienced almost zero downtime.
One of the important features of live attendance is face recognition. We use a third-party API service for the face verification process. There are complex processes behind the scenes for this feature, one of which is managing the rate limit imposed by the API provider.
For clients that are very sensitive about their employees' working locations, this feature is crucial. It allows the client to set a maximum distance from the office within which employees can clock in and out. However, the client can also choose to allow flexible locations for clocking in and out.
Scheduling
The Attendance feature would not be complete without the scheduling process. This feature allows clients to set specific schedules and shifts for their employees. Administrators can define working hours, overtime schedules, and days off. They can also arrange work schedules, such as a 5-day workweek with 2 days off, or any other pattern based on company policies.
Time Off
Time Off is a feature that allows employees to request various types of leave, such as maternity leave, sick leave, or holiday leave. Additionally, the company can manage special types of leave based on its policies.
Overtime
At certain times, the company may require employees to work extra hours. This feature allows employees to view their assigned overtime schedules or even request overtime shifts.