Payroll Service System
Full-stack payroll management system with a Spring Boot backend and Angular frontend. Handles employee records, salary calculation, and payslip generation.
ull-stack payroll management system built as a university capstone project. Spring Boot backend, Angular frontend, PostgreSQL database.
Handles the core payroll workflow: employee records, salary components, monthly payroll runs, and payslip generation as PDF. Role-based access: admins manage employees and run payroll, employees view their own payslips.
Built in a team of four. I handled the backend API design and the payroll calculation engine, which had to account for variable components like allowances, deductions, and tax calculations.
highlights
- +Spring Boot REST API with JWT authentication and role-based access control
- +Angular frontend with separate admin and employee views
- +Monthly payroll run engine handles variable components, deductions, and tax
- +PDF payslip generation per employee per period
- +PostgreSQL with proper normalized schema for employees, periods, and salary components
what was hard
Tax calculation logic was the most complex part. Indonesian income tax (PPh 21) has progressive brackets and depends on marital status and dependent count. Getting it right required reading the actual regulation, not just guessing at the formula. Also: this was my first time writing a proper REST API. A lot of the early decisions (endpoint naming, error shapes) did not survive contact with the frontend.