
Gamma Air
Airline-ops database platform
A four-person team shipped a working three-role airline-ops platform: 14-table MySQL schema, role-scoped Flask REST API, Appsmith UI, demoed end to end on a public video.
Flight GA758 inbound. Send it to Gate B.
- GA490→C
- GA373→D
- GA264→C
Walkthrough video demo (Appsmith UI over a Flask + MySQL API).
Open live app ↗︎Gamma Air models an airline-operations marketplace: airlines list flights they need filled, qualified pilots get assigned, customers book tickets, and customer representatives keep both sides moving. A normalized 14-table MySQL schema (airlines, airports, plane types and seats, flights, tickets, reviews, pilot schedule requests, customer questions, and a self-managing rep hierarchy) auto-loads from a bootstrap script when the two-service Docker Compose stack (Flask + MySQL 8) comes up. A Flask REST API exposes four role-scoped blueprints (login, customers, reps, pilots): customers pull their tickets and submit questions, pilots check schedules and reviews, reps work the question queue. An Appsmith low-code UI sits on top. Built by a four-person team for a database-design course; Karim designed, coded, and tested the customer-representative dashboard. The public video walks the working app end to end.
- Python
- Flask
- MySQL
- SQL
- Docker
- Appsmith
- Schema
- 14 tables
- API
- Flask REST · 4 blueprints
- Roles
- Pilots · customers · reps
- Stack
- Flask · MySQL · Docker
What I'd improve
The code shows its course-project age: queries are built with Python string formatting and new rows mint IDs with max(id)+1, which invites SQL injection and race conditions. Today I'd reach for parameterized queries, AUTO_INCREMENT keys, real session auth instead of a hard-coded secret key, and tests around the blueprints.