Attendance & Workforce Deployment Management System
Purpose
This document defines the functional and non-functional requirements for a system designed to capture, manage, and report attendance of manpower deployed across multiple organizations and their respective units.
The system serves as a central attendance data platform that feeds external payroll and billing systems — it does not itself calculate salaries, generate slips, or produce invoices.
At a Glance
The platform has three consumer surfaces over a single API-first backend:
- Laravel API (
server/) — source of truth, REST + Sanctum tokens, RBAC, queues, Filament SystemAdmin panel. - React web UI (
ui/) — role-scoped dashboards for HR, ShiftManager, OrgAdmin, SuperAdmin. - Flutter mobile app (
app/) — employee check-in/out, leave requests, regularization, geo-fenced. - Telegram bot (planned) — alternative attendance channel for low-bandwidth regions.
High-Level Data Flow
Employee (mobile/web/telegram)
│
▼
Raw punch ──► PunchIngestService ── ► queue ──► AttendanceProcessor
│ │
└──────────────── flags, rules ◄──────────────┘
│
▼
attendances table ──► Reports / Payroll export
Document Structure
The documentation is organized into ten parts:
- Introduction — purpose, scope, glossary.
- Requirements — functional, non-functional, constraints.
- Architecture — components, deployment, tech stack.
- Data Model — ERD, schema, relationships.
- API — authentication, endpoints, errors, integration.
- Workflows — attendance, roster, leave, regularization, locum.
- RBAC & Security — roles, permissions, scopes.
- Attendance Engine — rules, red flags, geo-fencing, device binding, locking.
- Execution Plan — phases, roadmap, sprints, team, risks.
- Operations — deployment, monitoring, testing.