Skip to content

An airplane ticket booking portal along with flight management for admins

Notifications You must be signed in to change notification settings

anand-2020/airline-booking-management-system

Repository files navigation

logo

Monke Airlines

A flight ticket booking and management application 
designed and built as the course project for Database Systems Laboratory, Spring 2022 at IIT Bhubaneswar 

Presentation

📔 Table of Contents

🌟 About the Project

📷 Screenshots

👾 Tech Stack

Client
Server
Database

🎯 Features

Customer
  • View flights between a source and destination for a given date and a window around it
  • Reserve seat(s) each with a unique id and corresponding passenger details using a seat map for the chosen flight
  • A ticket will be generated after payment of the fare which is calculated dynamically based on the travel distance, seat preference, profession of the customer and time gap between booking date and departure date
  • Customers can view tickets categorized into two categories namely, Upcoming Journeys and Archive
  • Download tickets as dynamically generated PDFs Cancel a ticket and receive appropriate refund based on the time gap between cancellation and departure date
  • View and edit their personal details from their profiles
Admin
  • Admins have additional permissions to view the enterprise data which includes details about flight routes, their weekly schedules
Super-Admin
  • Super-Admins have extra privileges that allow them to edit (and read) the enterprise data
  • Can delay or cancel a flight for a certain date
  • Can add new flight routes and schedules along with extending the lease date for a certain flight
Additional
  • As the airline is multinational, the issues that arise due to difference in time zones are taken care of using various built-in and custom functions
  • Every change in the database goes through a rigorous check in frontend, backend and the database itself to ensure that the records are error free
  • Ticket fares are calculated dynamically based on travel distance, seat preference, profession of the customer and time gap between booking date and departure date
  • A record of all flights scheduled in the upcoming 56 days is stored and updated regularly
  • A seat can be booked again after cancellation by the current holder

🧱 Schema

logo

🧱 Stored Objects

logo

🔑 Environment Variables

To run this project, you will need to add the following environment variables to your .env file

PORT

NODE_ENV

MYSQL_USER

MYSQL_HOST

MYSQL_PASSWORD

MYSQL_DATABASE

JWT_COOKIE_EXPIRES_IN

JWT_SECRET

JWT_EXPIRES_IN

🧰 Getting Started

‼️ Prerequisites

This project uses npm as package manager

⚙️ Setup

Clone the project

  git clone https://github.com/anand-2020/airline-booking-management-system

Go to the project directory

  cd airline-booking-management-system

Install server dependencies

  npm install

Install client dependencies

  npm run install-client

Start the server

  npm run dev

Start the client

  cd client && npm start

🤝 Collaborators

About

An airplane ticket booking portal along with flight management for admins

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published