Langsung ke konten

Versi Indonesia

Web

SIPPER-TI

Leave-permit and attendance system for the Informatics Engineering international class at UMKT: permits, document verification, and attendance summaries lecturers open without logging in.

Problem

The Informatics Engineering international class at UMKT needs to manage absence permits (illness, personal matters, competition duty): evidence such as a doctor's note or an assignment letter has to be verified, and attendance then summarized for each lecturer.

Approach

I mapped out who does what, then built the system around those roles:

  • Students submit a permit with evidence attached (PDF or photo) and track its status.
  • The education officer validates the evidence, approves or rejects with a reason, and can submit a permit on behalf of another student.
  • The class leader oversees attendance for the whole class and manages the links given to lecturers. Their verification decision is final.
  • Lecturers simply open a guest-token link to see the attendance summary, without creating an account.

Solution

  • Next.js 16, React 19, TypeScript, with Supabase (PostgreSQL, Auth, Storage) and a built-in demo mode for when Supabase is not configured.
  • Row Level Security in the database, tested with its own SQL scripts, so access rules still hold even if the application has a bug.
  • Separate navigation for desktop and mobile.
  • Testing: Vitest unit tests, Playwright end-to-end tests, and CI on GitHub Actions.

Have a similar project in mind?

Tell me what you need and I'll come back with scope, timeline and a quote. I work remotely from Samarinda, Indonesia (UTC+8).