Flight Booking & Management System powered by Supabase (Backend as a Service) and PostgreSQL, including an iOS Mobile Application for Customers and a Web-based Dashboard for Admins.
https://admin-dashboard-demo.onrender.com/
flexair_demo.mp4
- Course: CMPE344 - Database Management Systems and Programming II
- Institution: Cyprus International University
- Instructor: Prof Dr Melike Şah Direkoğlu
- Due Date: December 21, 2025
- Mahan Mizani
- Nikolai Piatnov
- Maksim Kalmykov
- Marcel Tshidibi Ngoyi
- Flight search by route and date
- Passenger management
- Booking creation and cancellation
- Booking history
- Management analytics queries
- auth.users - User authentication
- profiles - User profiles with roles
- airlines - Airline information
- airports - Airport details
- flights - Flight schedules and pricing
- passengers - Passenger information
- bookings - Booking records
- Database: PostgreSQL, SQL and PL/pgSQL
- Backend as a Service (BaaS): Supabase (Auth, Realtime, PostgREST, Functions, Storage)
- Authentication: Supabase Auth
- Mobile Application: iOS App (Swift, SwiftUI, MVVM)
- Admin Interface: Web-based Dashboard (Python, Flask, Render Cloud)
- Version Control: Git
search_flights()- Search flightsadd_passenger()- Add passengerget_passengers()- Get user passengersupdate_passenger()- Update passengercreate_booking()- Create bookingget_user_bookings()- Get bookingscancel_booking()- Cancel booking
- Auto-update timestamps
- Prevent overbooking
- Restore seats on cancellation
- Available flights
- User bookings
- Flight statistics
- Revenue by airline
- Popular routes
- Customer spending
- Flight occupancy
- Monthly revenue trends
- Available seats (subquery)
- Passenger demographics
- Create Supabase project at https://supabase.com
- Run scripts in SQL Editor:
schema.sqlseed-data.sqlfunctions.sqltriggers.sqlviews.sql
- Clone the repository
- Open
flexairproject in XCode 16 or later - Add Supabase-Swift dependencies in the Project - Packages
- Copy
Secrets.template.xcconfigtoSecrets.xcconfig - Add your API keys to
Secrets.xcconfig - Build and run!
- Supabase URL: Open your Supabase project/Project Settings/Data API - Project URL
- Supabase Key: Open your Supabase project/Project Settings/API Keys - Publishable key
- ✅ 6+ tables with proper Relationships
- ✅ User Authentication and Role-based Access
- ✅ Foreign keys and Constraints
- ✅ 7 PL/SQL Functions
- ✅ 3 Database Triggers
- ✅ 3 Database Views
- ✅ 7 Management queries (JOIN, subquery, GROUP BY, etc.)
- ✅ Mobile Application for Customers
- ✅ Web-based Dashboard for Admins
- ✅ Backend as a Service (Supabase)
- ✅ Cloud deployment (Render)
- ✅ GitHub Repository
Academic Project - CMPE344 Database Management Systems, Cyprus International University (Fall 2025)

