
HRMS: Enterprise Human Resource Management
A full-featured HRMS (Human Resource Management System) built with Next.js and Supabase, deployed on Vercel. Implements granular RBAC with six roles: Super Admin, Admin, HR, Manager, Employee, and User—each with distinct permissions and dashboards. Access is enforced via Supabase Row Level Security (RLS) and application-level checks for defense in depth. The codebase follows clean-code practices with Zod for schema validation on both UI and server, and uses Next.js server-side rendering for secure, fast pages. The app runs across three environments (dev, staging, production). Managers can manage their team with per-member analytics, learning courses driven by daily work updates, salary distribution, job posting, and assess-test/ERP onboarding. Features include attendance automation, resume searcher, team management, Slack bot integration for notifications, and salary transfer workflows.
The Story
The Problem
Organizations needed a single, secure HR platform for roles ranging from employees to super admins, with reliable attendance tracking, hiring tools, team coordination, and payroll—without spreading data and logic across multiple tools.
The Solution
Delivered a unified HRMS on Next.js and Supabase with role-based access (Super Admin, Admin, HR, Manager, Employee, User), enforced by RLS and server-side logic. Used Zod for end-to-end validation, SSR for performance and security, and multi-environment deployment (dev, staging, production). Managers get team management, per-team-member analytics, learning courses based on daily work updates, salary distribution, job posting, and assess-test/ERP onboarding. Integrated attendance automation, resume search, team management, Slack bot notifications, and salary transfer capabilities.
My Approach
Designed a multi-role HRMS with RLS and code-level RBAC, Zod validation on UI and server, SSR, and three-tier environments. Manager role includes team management, per-member analytics, learning courses from daily work updates, salary distribution, job posting, and assess-test/ERP onboarding; plus attendance, resume search, Slack, and salary transfer.
Technologies Used
Core Platform Modules
A. Role-based access (RBAC)
Six roles—Super Admin, Admin, HR, Manager, Employee, User—with distinct dashboards and actions. Enforced by Supabase RLS and application code.
- •Super Admin
- •Admin
- •HR
- •Manager
- •Employee
- •User
- •RLS policies
- •Server-side checks
B. Validation & architecture
Zod schemas for form and API validation; clean code structure; Next.js server-side rendering with Supabase.
- •Zod (UI + server)
- •Clean code
- •SSR
- •TypeScript
C. Environments
Dev, staging, and production environments for secure, staged releases.
- •Dev
- •Staging
- •Production
D. Manager dashboard
Managers manage their team with per-team-member analytics, learning courses driven by daily work updates, salary distribution, job posting, and assess-test/ERP onboarding.
- •Team management
- •Per-member analytics
- •Learning courses (daily work updates)
- •Salary distribution
- •Job posting
- •Assess test / ERP onboarding
E. HR operations
Attendance automation, resume searcher, team management, Slack bot for notifications, and salary transfer workflows.
- •Attendance automation
- •Resume searcher
- •Team management
- •Slack bot
- •Salary transfer
System Architecture Principles
- •RBAC (Super Admin, Admin, HR, Manager, Employee, User) with RLS + code enforcement
- •Next.js SSR + Supabase; Zod validation on UI and server; Vercel deployment
- •Three environments (dev, staging, production)
- •Manager: team management, per-member analytics, learning courses from daily work updates, salary distribution, job posting, assess-test/ERP onboarding
- •Attendance automation, resume search, team management, Slack integration, salary transfer