Skip to content

Jackson-Wozniak/Elevation-Airlines

Repository files navigation

Airline Tracker & Reservation System

Explore The Code»

commits license license

Flight Tracking API Docs · Report Bug · Request Feature

📚 Table of Contents

  1. Features
  2. Flight Tracking
  3. Ticket Reservations
  4. Banking Management
  5. Technologies
  6. Local Deployment

📓 Features & Overview

An airline reservation & tracking system that generates flights to popular airports across the world. The airline used in this simulation is called Elevation Airlines, and is a fake airline. Route generation is largely random, and the flights each plane takes does not necessarily match the popular flights real airlines fly.

Airport data is found from ourairports.com and is filtered to only include those that have the large_airports tag

The image used as the preview for this repo can be found here


✈️ Flight Tracking

Elevation airlines runs two categories of flights. Scheduled flights are those scheduled from the same airports each day, and run at the same time-of-day no matter what. These are round trip flights, meaning the plane will travel to and from each airport once a day. The second type of flight is random routes, which are scheduled once daily and all planes in the airlines fleet that do not have a scheduled route will fly to a random airport once a day. Departures are set based on the location of the plane at the time, meaning planes will follow a path and can only depart from their current location.

Full API docs can be found here


🎟️ Ticket Reservations

After selecting a flight, users can attempt to buy tickets to the desired flight. There must be available seats on the flight in order to buy tickets, and users can't buy tickets if there is a scheduling conflict, meaning that they already own tickets for a flight scheduled to be in the air at the same time. Flights will be booked at a rate dependent on their demand, meaning higher demand routes will be sold out earlier

Full API docs will be available shortly


💵 Banking Management

In order to buy tickets, users must first create a bank account, and deposit money to their account. Users will have to ensure their bank accounts hold enough value to afford the tickets they are attempting to buy

*The money in this account does not have any real-life value, and can be deposited in the click of a button

Full API docs for the banking service will available soon


🔌 Demo

coming soon...


📱 Technologies Used

Backend

  • Java
  • Spring Boot
  • Maven
  • MySQL

Frontend

General

  • Git
  • Docker

✏️ Local Development

To run locally, follow these commands

- git clone https://github.com/Jackson-Wozniak/Airline-Reservation-System.git
- cd (to the location of cloned repo)
- docker-compose up

to shut down the application, run:
- docker-compose down

to restart the app after making local changes (to rebuild the jar file), run:
-docker-compose up --build

Releases

No releases published

Packages

No packages published

Languages