Skip to content

An all-in-one airline ticket booking app for streamlined ticket purchasing, user management, and flight tracking.

License

Notifications You must be signed in to change notification settings

madEffort/booking-airline-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An all-in-one airline ticket booking app for streamlined ticket purchasing, user management, and flight tracking.

Key FeaturesDatabase ERDHow To UseDownloadCreditsRelatedSupportLicense

booking-air

Key Features

User Management

  1. Sign Up
    • Endpoint: POST /signup
    • Description: Registers a new user.
    • Payload: Includes firstName, lastName, email, and password.
    • Response: Success message and user details.
  2. Login
    • Endpoint: POST /login
    • Description: Authenticates a user and returns a JWT token.
    • Payload: User email and password.
    • Response: Success message, JWT token, and user details.
  3. Delete User
    • Endpoint: DELETE /delete/{user_id}
    • Description: Deletes a user account.
    • Authentication: Requires JWT token.
    • Response: Confirmation message.

Ticket Management

  1. Get Tickets
    • Endpoint: GET /tickets
    • Description: Retrieves all tickets for the authenticated user.
    • Authentication: Requires JWT token.
    • Parameters: Pagination options (page, limit).
    • Response: List of tickets and pagination details.
  2. Purchase Ticket
    • Endpoint: POST /purchase/{ticket_id}
    • Description: Allows a user to purchase a ticket.
    • Authentication: Requires JWT token.
    • Payload: flightId of the ticket to purchase.
    • Response: Purchase details.
  3. Refund Ticket
    • Endpoint: DELETE /tickets/{ticket_id}/refund
    • Description: Allows a user to request a refund for a specific ticket.
    • Authentication: Requires JWT token.
    • Response: Confirmation message.

Flight Management

  1. Get Flights
    • Endpoint: GET /flights
    • Description: Fetches a list of available flights.
    • Parameters: Filter options such as departures, arrivals, departure_date, arrival_date, flightClass, airline, and pagination (page, limit).
    • Response: List of flights matching the criteria.

Password Management

  1. Change Password
    • Endpoint: POST /change-password
    • Description: Allows users to change their password.
    • Authentication: Requires JWT token.
    • Payload: oldPassword and newPassword.
    • Response: Confirmation message.

Database ERD

To view the Database ERD, please click here.

How To Use

To clone and run this application, you'll need Git, Python and Node.js installed on your computer. From your command line:

# Clone this repository
$ git clone https://github.com/madEffort/booking-airline-platform.git

# Go into the repository
$ cd backend

# Install dependencies
$ pip install -r requirements.txt

Backend

After setting up the database, please use the makemigrations and migrate commands.

# Run the app
$ python manage.py runserver

Frontend

# Go into the repository
$ cd frontend

# Install dependencies
$ npm install

# Run the app
$ npm run dev

Download

You can download the latest release version of the BookingAir.

Credits

This software uses the following open source packages:

Related

Support

Donate with PayPal

License

This project adheres to the Apache-2.0 license, and you can find more detailed information in the LICENSE


GitHub @madEffort  ·  Naver @madEffort

About

An all-in-one airline ticket booking app for streamlined ticket purchasing, user management, and flight tracking.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published