HLS HRMS Live System Portal
Open Admin Console β†—
🏒 HLS HRMS Kiosk ONLINE
--:--:--
Tap any employee card to simulate camera face capture & attendance punch
Loading staff roster from database...

Employee Name

Designation β€’ Department
Captured Face
3
πŸ“Έ Face camera and hold steady
πŸ“Š
Dashboard Overview
Live metrics of today's attendance, on-time arrivals, late arrivals, half-days, and pending leaves.
πŸ“‹
Daily Attendance Ledger
Master facial photo comparison against check-in live snaps, punch logs timeline, break durations.
πŸ‘₯
Employee Directory
CRUD management of staff profiles, registration photos for facial recognition, department codes.
βš™οΈ
Shift & Policy Engine
Configure office opening hours, 15-minute grace period, half-day min thresholds, and overtime rules.
🌿
Holidays & Leaves
Manage public calendar holidays and approved employee leaves (Casual, Sick, Paid, Unpaid).
πŸ“ˆ
Monthly Payroll & Reports
Audit monthly payable days formula (3 late = 0.5 day deduction) with instant PDF and CSV exports.
https://hrms.hailploanservices.com/admin/dashboard.html
New Tab β†—

Live Endpoint & Integration Diagnostics

Runs real HTTP requests against backend PHP APIs, MySQL database, and mPDF rendering engine.

πŸ“‚ Project File Architecture

Complete directory mapping explaining which file and folder performs which role:

hrms-hailp/ β”œβ”€β”€ database/ β”‚ └── schema.sql # 8 MySQL tables (admins, employees, attendance, punch_logs, shift_settings, holidays, leaves, authorized_devices) β”‚ β”œβ”€β”€ backend/ β”‚ β”œβ”€β”€ .htaccess # Security headers, deny direct directory listings, block config/helpers β”‚ β”œβ”€β”€ composer.json # mPDF dependency for high-resolution A4 PDF payroll audits β”‚ β”œβ”€β”€ config/ β”‚ β”‚ β”œβ”€β”€ database.php # PDO MySQL singleton connection with utf8mb4 & error mode β”‚ β”‚ └── constants.php # JWT secrets, directory paths (uploads, exports), punch types β”‚ β”œβ”€β”€ helpers/ β”‚ β”‚ β”œβ”€β”€ jwt.php # HMAC-SHA256 JWT encoder, decoder & verification β”‚ β”‚ └── response.php # JSON responses, CORS headers, device token & admin auth guards β”‚ β”œβ”€β”€ api/ β”‚ β”‚ β”œβ”€β”€ kiosk/ β”‚ β”‚ β”‚ β”œβ”€β”€ bootstrap.php # GET: Initial sync of active employees, shift rules, holidays β”‚ β”‚ β”‚ β”œβ”€β”€ punch.php # POST: Records attendance punch, auto-computes late/on-time/hours β”‚ β”‚ β”‚ └── sync_offline.php# POST: Batch synchronizes punches stored during network drops β”‚ β”‚ └── admin/ β”‚ β”‚ β”œβ”€β”€ auth/ β”‚ β”‚ β”‚ └── login.php # POST: Admin login, password_verify() -> signed JWT β”‚ β”‚ β”œβ”€β”€ employees.php # GET/POST/PUT/DELETE: Employee profiles & registration photos β”‚ β”‚ β”œβ”€β”€ shift.php # GET/POST: Office timings, grace periods, OT thresholds β”‚ β”‚ β”œβ”€β”€ holidays.php # GET/POST/DELETE: Public and company holidays β”‚ β”‚ β”œβ”€β”€ leaves.php # GET/POST/DELETE: Employee leave applications & approvals β”‚ β”‚ β”œβ”€β”€ attendance/ β”‚ β”‚ β”‚ └── daily.php # GET: Daily ledger with master vs live face photo comparison β”‚ β”‚ └── reports/ β”‚ β”‚ β”œβ”€β”€ monthly.php # GET: Aggregates monthly payable days, lates, hours β”‚ β”‚ β”œβ”€β”€ export_pdf.php # GET: Streams mPDF generated executive PDF attendance sheet β”‚ β”‚ └── export_csv.php # GET: Generates payroll CSV spreadsheet export β”‚ β”œβ”€β”€ uploads/ # Local storage for photos (registered/ and punches/YYYY/MM/DD/) β”‚ └── exports/ # Local storage for generated PDF & CSV payroll reports β”‚ β”œβ”€β”€ admin/ # Vanilla HTML5/CSS3/ES6 Administration UI β”‚ β”œβ”€β”€ login.html # JWT sign-in page β”‚ β”œβ”€β”€ dashboard.html # Today's attendance counters & staff status summary β”‚ β”œβ”€β”€ attendance.html # Daily audit table with modal punch timeline & face comparison β”‚ β”œβ”€β”€ employees.html # Employee CRUD table with photo upload dialog β”‚ β”œβ”€β”€ shift.html # Shift policy editor form β”‚ β”œβ”€β”€ leaves.html # Holiday calendar & leave tracker β”‚ β”œβ”€β”€ reports.html # Monthly payroll summary table with 1-click PDF/CSV export β”‚ └── assets/ β”‚ β”œβ”€β”€ css/admin.css # Modern CSS styles for sidebar, tables, cards & badges β”‚ β”œβ”€β”€ js/admin.js # Auth guards, apiFetch wrapper, clocks, modals, toast β”‚ └── img/placeholder.png # Default avatar for staff without profile pictures β”‚ └── kiosk/ # React Native / Expo Tablet Kiosk App β”œβ”€β”€ App.js # Navigation container (Stack navigation: Home -> Camera) β”œβ”€β”€ app.json # Expo configuration (landscape tablet orientation, permissions) └── src/ β”œβ”€β”€ constants.js # API URLs, device tokens, color palette β”œβ”€β”€ services/ β”‚ β”œβ”€β”€ db.js # Expo-SQLite local storage for offline punch queuing β”‚ └── api.js # API calls: bootstrap, punch upload, offline batch sync └── screens/ β”œβ”€β”€ HomeScreen.js # Staff roster grid, search filter, online/offline status └── CameraScreen.js # Face capture, countdown, liveness, punch submission

⚑ Business Rules & Mathematical Engine

1. Punch State Machine
CHECK_IN βž” BREAK_OUT βž” BREAK_IN βž” CHECK_OUT

The system automatically identifies the required punch step based on prior punches logged for the day.

2. Punctuality & Grace Period

Office Open: 09:30 AM | Grace Period: 15 Minutes (until 09:45 AM). Arrival after 09:45 AM marks the employee as LATE.

3. Monthly Payable Days Calculation
Payable = Present + Holidays + PaidLeaves - ⌊Late / 3βŒ‹ Γ— 0.5 - 0.5 Γ— HalfDays
  • Every 3 late arrivals penalize 0.5 day of salary.
  • Working under 4.5 hours qualifies as Half-Day (0.5 day deduction).
  • Approved paid leaves and recognized holidays count towards payable days.
4. Anti-Proxy Facial Audit

Every single punch takes a live snapshot. In the Admin Daily Ledger, HR managers can instantly compare the registered profile photo side-by-side with the check-in and check-out photos to prevent buddy-punching.

ℹ️ Notification message