Case study

TRC-LU HRIS

LaravelVue 3Inertia.jsPHPMySQL

Overview

A human-resources system for TRC-LU (DOH). Built on Laravel 12 and Vue 3 with CSC-compliant leave, the PDS form (CS Form 212), training records, an org chart, announcements, and RA 10173 data-privacy compliance.

Problem

TRC-LU, a DOH treatment and rehabilitation center, was running HR on paper or on generic tools that didn't meet CSC requirements. Leave forms, PDS records, and training logs were manual, error-prone, and hard to audit.

Approach

I built a full-stack Laravel 12 + Vue 3 system with 14 feature modules built around government HR work: CSC-compliant leave (13 types, multi-stage approval, Form 6 PDF), PDS (CS Form 212 with 12 sections, HR review, PDF export), training tracking, and an org chart.

Architecture

Feature-module pattern under app/Features/ (Leave, Pds, Training, Employees, etc.), each with Controllers, Requests, Models, Policies, Services, Enums, Events. Inertia.js 2 for SPA routing with Vue 3. Role-dispatched dashboards (Admin/HR/Employee) with session-based HR/Employee view toggle. 44 MySQL migrations. Laravel Reverb for real-time notifications. 15 middleware classes enforcing CSP, compression, cache, and RBAC.

Challenges

Government compliance meant multi-stage leave approval (Certified → Recommended → Approved) matching CSC Form 6 exactly. The PDS PDF export had to match the official CS Form 212 layout. RA 10173 (Data Privacy Act) called for CSP, PII redaction, activity logging, and role-based access on every endpoint.

Results

A production HR system for a DOH agency covering the whole employee lifecycle, hiring (PDS), attendance (leave), development (training), and records management.

Technology

Laravel 12Vue 3Inertia.js 2PHP 8.2MySQL 8Tailwind CSS v4
Private repo
Email copied