Term Project

Term Project Description: 

Sample Term Project Demo (from a previous student of this course):

In this project, you will design and implement a simple interactive airline reservation system similar to orbitz (www.orbitz.com). The system is a typical client-server application with a web-based front-end for the user and a database backend. This project will focus only on the backend and NOT on the front end. This document provides a high-level description of the project and outlines the deliverables expected of your team. It is crucial that you have a good solid design before you start coding.

The purpose of the online system is to create convenient and easy-to-use online system for passengers, trying to buy airline tickets. The system is based on a relational database with its flight management and reservation functions. We will have a database supporting dozens of major cities around the world as well as hundreds of flights by various airline companies. Above all, we hope to provide a comfortable user experience along with the best pricing available.

Project is worth 15% of your final grade.


Users of the system should be able to retrieve flight information between two given cities with the given dates/times of travel from the database. A route from city A to city B is a sequence of connecting flights from A to B such that: a) there are at most two connecting stops, excluding the starting city and destination city of the trip, b) the connecting time is between one to two hours. The system will support two types of user privileges, Customer and Employee. Customers will have access to customer functions, and the Admin will have access to both customer and admin functions shown below:

Customer Functions:

  • Search for Flights (Given the source, destination and date of travel):
    • One-way trips
    • Two-way trips
  • Make a new reservation:
    • Customers should be able to register in the system
  • Cancel an existing reservation
  • View itinerary

The Admin should have following management functionalities:

  • Reporting
    • Calculate the total sale price for a given flight (For example: The amount made on flight DL2345)
    • Get all flights from a source airport (For example: List all flights from JFK)
    • Get all customers who have seats reserved on any given flight (For example: List customers reserved on Flight DL2345)
  • Administrative
    • Add/Delete a flight
    • Update fare for flights


Each flight has a limited number of available seats. There are number of flights that go from/to different cities at different dates and time.