TRC-LU HRIS

LaravelVue 3Inertia.jsPHPMySQL

Overview

Human Resource Information System for TRC-LU (DOH). Laravel 12 + Vue 3 + Inertia.js with CSC-compliant leave management, PDS (CS Form 212), training tracking, org chart, announcements, AI-powered policy chatbot, and RA 10173 compliance.

Problem

TRC-LU, a DOH treatment and rehabilitation center, relied on paper-based HR workflows or generic digital tools that didn't comply with CSC requirements. Leave applications, PDS forms, and training records were manual, error-prone, and hard to audit.

Approach

Built a full-stack Laravel 12 + Vue 3 HRIS with 14 feature modules organized around government HR workflows. CSC-compliant leave management (13 leave types, multi-stage approval, Form 6 PDF), PDS (CS Form 212 with 12 sections, HR review, PDF export), training tracking, org chart, and an AI policy chatbot powered by offline Ollama with RAG.

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 required multi-stage leave approval (Certified → Recommended → Approved) matching CSC Form 6 exactly. PDS PDF export needed to match the official CS Form 212 layout. AI chatbot uses local Ollama (no internet) with hybrid search (BM25 + embeddings + cross-encoder reranking) plus tool execution for live data. RA 10173 (Data Privacy Act) compliance required CSP, PII redaction, activity logging, and role-based access on every endpoint.

Results

A production HRIS for a DOH agency covering the full employee lifecycle — hiring (PDS), attendance (leave), development (training), and records management. AI chatbot answers policy questions from 23 documents and can query live leave balances, PDS info, and training records.

Technology

Laravel 12Vue 3Inertia.js 2PHP 8.2MySQL 8Tailwind CSS v4shadcn-vueLaravel ReverbOllamaDomPDFApexCharts
Private repo
Email copied