← Back to home
PT POS INDONESIA

Room Management System

Meeting room booking for PT Pos Indonesia staff, built during my internship as a Laravel web app and a Flutter mobile app that share one Supabase backend.

  • Laravel
  • Flutter
  • Supabase
  • PostgreSQL
  • Tailwind
  • Firebase
Room Management System — screenshot

OVERVIEW

Staff check room availability by time slot and submit a booking with date, time, purpose and headcount. An admin approves or rejects it with a reason, the user checks in with a photo on the day, and every booking feeds a usage dashboard by period and division. The web and mobile apps talk to the same Supabase database directly, and Deno edge functions send check-in reminders, clean up photos and trigger push notifications.

WHAT I DID

  • One schema, two front-ends: Laravel 12 with Blade and Tailwind, Flutter across Android, iOS and desktop, both talking to Supabase directly rather than through an API layer.
  • Booking lifecycle end to end: availability per time slot, approval or rejection with a reason, cancellation, and a photo check-in on the day of use.
  • Deno Edge Functions for the work that cannot live in a client: check-in reminders, storage cleanup, and notification triggers into Firebase Cloud Messaging and OneSignal.
  • Usage analytics for admins — room occupancy by period and by division, drawn from the same booking records.