Employee Data Record System
HR Management Tool
01 — Project Overview
An HR management portal for managing employee data, department assignments, and attendance — with role-based admin access.
Solo Developer.
Stack
02 — The Problem
Goal
Centralize employee records for a small organization currently tracking everything in paper files.
User Issue
Paper employee records made it nearly impossible to query data quickly (e.g., "list all employees in department X".)
03 — The Process
Department Relational Model
Designed a departments table with foreign key relations to the employees table for clean hierarchical queries.
Admin vs Employee View
Built separate dashboards — employees see their own data, admins see and edit all.
Key Challenge
Ensuring an employee could not access or modify another employee's record via URL manipulation.
// Prevent IDOR
if ($_GET['id'] !== $_SESSION['emp_id'] && $_SESSION['role'] !== 'admin') {
header('Location: /dashboard'); exit;
} 04 — The Solution
A secure, role-separated HR portal with full CRUD for employee records, department management, and attendance tracking.
05 — Results & Learnings
Impact
Eliminated the paper-filing bottleneck and allowed instant SQL-powered queries across employee data.
Learnings
Learned about IDOR (Insecure Direct Object Reference) vulnerabilities and how to prevent them with server-side role checks.
What I'd do differently
Would add an audit log so admins can track who changed what and when.