Leave requests were easier to lose when the flow depended on manual notes, chat, or spreadsheet updates. The team needed one place to submit, review, track, and archive requests.
How I fixed it
I built a role-based web app with request forms, admin review screens, status tracking, and printable PDF output. The backend keeps the approval data in MySQL while the React UI keeps the flow simple for daily office use.
What it can do
✓Employee leave request form
✓Admin review workflow
✓Request status tracking
✓MySQL-backed records
✓Printable PDF output
The stack that shipped it
React and Tailwind were enough for a fast internal interface. Express and MySQL matched the simple CRUD shape, while PDF export handled the administrative document need.
What changed
The project turned a manual leave workflow into a traceable system and gave me real internship experience shipping software for an office process.
What I learned
This was where I practiced turning a real office workflow into screens, tables, permissions, and small details that non-developers can actually use.