Festipass

AboutJuly 2025

17· Software EngineeringNot recently updated·Academic project, team of 9 · registered copyright

A two-sided Flutter app for concert ticketing: buyers browse, book and pay for seats, organizers manage concerts and scan tickets at the door. Registered as a copyright with Indonesia's DJKI in 2025.

mobileacademic project

Source ↗

Use case diagramUML
Every buyer and organizer action mapped out end to end, from browsing and booking to concert management and feedback.
Buyer flowUI
The buyer-side home screen, seat/category booking, and QR-code check-in, the flow I built.
Class diagramUML
The object model behind it: buyers and organizers as distinct actors, concerts, purchases, tickets, and feedback all wired together.
Booking on-deviceLive
The ticket-order screen running on an actual phone, mid-payment with a live countdown.
Write-up

Festipass is a nine-person final project for the PPPL course at the Information Systems Department, ITS: a Flutter mobile app for concert ticket booking, serving both buyers and organizers from one codebase. Buyers browse and search concerts, book seats by category, pay, and get a QR-coded e-ticket; organizers create and manage concerts, track ticket inventory and scan tickets at the door. It is registered with Indonesia's Directorate General of Intellectual Property as copyright EC002025090557.

It is built on Supabase (PostgreSQL) for auth and data, with Row-Level Security policies so each user's data stays scoped to them. That is the part carrying transferable weight: the rule that a buyer can only ever read and write their own bookings is enforced by the database, not remembered by the app. Authorization that lives in application code fails the moment anyone adds a second client or queries the database directly, and moving it into the database is the fix.

My own part covered the authentication integration and the RLS configuration, plus the buyer's home screen and the end-to-end booking flow, from browsing a concert through category selection to payment. Coordinating that with eight other people on one codebase is the other half of what a project this size teaches.

Things to underline
  • Integrated Supabase authentication and configured Row-Level Security so each user could only read and write their own data
  • Built the buyer-facing home screen and the full booking flow, from concert browsing through category selection to payment
  • Shipped as a 9-person team across frontend, backend, and documentation for a course final project
Built with
FlutterSupabasePostgreSQLFigma
GitHubdarrellathaya/festipass
  • Dart 52.8%
  • JavaScript 46.4%
  • HTML 0.7%
  • Swift <0.1%
  • Other <0.1%
Commits
8
Status
Not recently updated