Case Study

Staff Mate — Attendance Management

Backend Developer · Crystal Technology BD

  • REST API
  • PostgreSQL
  • Liquibase
  • TOR & SRS Documentation
  • Java 17
  • Spring Boot

Overview

A comprehensive human capital and workforce management platform designed to automate attendance tracking, complex shift scheduling, and roster operations. The system synchronizes real-time clock-in/out records from biometric and RFID hardware, calculates dynamic shift allowances, tracks leave quotas, and exports audit-ready timesheets directly into payroll processing pipelines.

Problem

Attendance was assembled by hand from device exports and spreadsheets, and payroll depended on the result. Every month produced the same arguments about hours nobody could settle from the records.

My role

Backend APIs and PostgreSQL schema design, plus the requirement analysis written up as TOR and SRS.

Architecture

Spring Boot REST services over PostgreSQL, with Liquibase managing schema migrations across environments.

Staff Mate attendance capture and payroll export flow Biometric and RFID readers push clock-in records to a Spring Boot REST service, which the HR web client also calls. The service resolves shifts, allowances and leave against PostgreSQL, whose schema is versioned by Liquibase, and exports audit-ready timesheets to payroll. Biometric & RFID readers HR Web Client Spring Boot REST API Shift & Leave Rules allowances, quotas Timesheet Export payroll-ready PostgreSQL Liquibase punches migrates
Solid lines carry a request and wait for a reply. Dashed lines hand work off and do not.

Key challenge

Turning raw hardware punches into hours somebody will be paid for. Biometric and RFID readers produce duplicates, misses and out-of-order records; shifts cross midnight, allowances depend on which shift was worked, and leave has to be drawn down against a quota. The rules are the product, and they have to be written down before they can be coded — which is what the TOR and SRS were for.

Result

Shift rosters, clock-ins, allowances and leave balances are held in one place, and timesheets export into payroll in a form that can be audited back to the original punch.