An all-in-one airline ticket booking app for streamlined ticket purchasing, user management, and flight tracking.
Key Features • Database ERD • How To Use • Download • Credits • Related • Support • License
User Management
- Sign Up
- Endpoint:
POST /signup
- Description: Registers a new user.
- Payload: Includes firstName, lastName, email, and password.
- Response: Success message and user details.
- Endpoint:
- 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.
- Endpoint:
- Delete User
- Endpoint:
DELETE /delete/{user_id}
- Description: Deletes a user account.
- Authentication: Requires JWT token.
- Response: Confirmation message.
- Endpoint:
Ticket Management
- 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.
- Endpoint:
- 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.
- Endpoint:
- 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.
- Endpoint:
Flight Management
- 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.
- Endpoint:
Password Management
- Change Password
- Endpoint:
POST /change-password
- Description: Allows users to change their password.
- Authentication: Requires JWT token.
- Payload: oldPassword and newPassword.
- Response: Confirmation message.
- Endpoint:
To view the Database ERD
, please click here.
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
After setting up the database, please use the makemigrations
and migrate
commands.
# Run the app
$ python manage.py runserver
# Go into the repository
$ cd frontend
# Install dependencies
$ npm install
# Run the app
$ npm run dev
You can download the latest release version of the BookingAir.
This software uses the following open source packages:
This project adheres to the Apache-2.0 license, and you can find more detailed information in the LICENSE
GitHub @madEffort · Naver @madEffort