Back to portfolio

Case study

Fingerprint Attendance & HR System

Pulls punches automatically from fingerprint devices at 14 sites and turns them into daily attendance for HR.

Diagram Construction · HR department

  • Laravel 12
  • Livewire
  • Jetstream
  • Laravel Excel
  • DomPDF
  • DataTables
  • ZKTeco
Attendance system sign-in page
Attendance system sign-in page

The problem

Diagram Construction's fingerprint devices are spread across 14 sites. HR had to calculate attendance, lateness, overtime, absences and leave balances from those devices, which meant collecting punches site by site and working the numbers out by hand.

The solution

A scheduled SyncZKTeco command connects to the ZKTeco devices at all 14 sites and pulls the punches automatically. A ProcessAttendance step then turns those raw punches into daily attendance, so HR opens the system to ready-made views of who is present, late, absent or missing a punch, with leave balances kept alongside.

Key features

Dashboard & logs

A dashboard and full attendance logs.

Daily views

Today, late, absent and missing-punch views.

Registers

Registers for absences, lateness and off-site work.

Area mismatches

Flags when an employee punched at a different site than the one assigned.

Device status & health

Device status and system health monitoring.

Leave & holidays

Leave balances and leave settings with import, a holidays calendar and who-is-off.

Birthdays & milestones

Employee birthdays and work milestones.

Employee data

Employee data import and export, with gap review.

Analytics & exports

HR analytics with Excel and PDF exports.

Access & audit

Users and roles, an audit log, and an Arabic/English interface.

Technical highlights

  • Scheduled SyncZKTeco command talks to ZKTeco devices across 14 sites, so punches arrive without anyone exporting them.
  • ProcessAttendance separates raw punch collection from the business rules that produce daily attendance, lateness, overtime and absences.
  • Laravel 12 with Livewire for interactive screens and Jetstream for authentication.
  • DataTables for large attendance lists; Laravel Excel and DomPDF for exports and imports.
  • Users, roles and an audit log, in Arabic and English.

My role

I built the system for Diagram Construction's HR department while working in the company's IT team: connecting to the fingerprint devices at every site, writing the sync and attendance processing, and building the HR screens, reports and exports.

Need a system like this?

Tell me about your project and I will get back to you soon.

Other case studies