Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/madeffort/booking-airline-platform

An all-in-one airline ticket booking app for streamlined ticket purchasing, user management, and flight tracking.
https://github.com/madeffort/booking-airline-platform

django react rest

Last synced: about 1 month ago
JSON representation

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

Awesome Lists containing this project

README

        





BookingAir




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








Key FeaturesDatabase ERDHow To UseDownloadCreditsRelatedSupportLicense

![booking-air](https://github.com/madEffort/booking-airline-platform/assets/158125247/2d34cf43-9bf0-4e7e-bc89-4af8d5d55de9)

## 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](https://www.erdcloud.com/p/rxBGYRpi8yz5r5LEm).

## How To Use

To clone and run this application, you'll need [Git](https://git-scm.com), [Python](https://www.python.org/downloads/) and [Node.js](https://nodejs.org/) installed on your computer. From your command line:

```bash
# 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.

```bash
# Run the app
$ python manage.py runserver
```

> ### Frontend

```bash
# Go into the repository
$ cd frontend

# Install dependencies
$ npm install

# Run the app
$ npm run dev
```

## Download

You can [download](https://github.com/madEffort/booking-airline-platform/releases) the latest release version of the BookingAir.

## Credits

This software uses the following open source packages:

- [Python](https://www.python.org/)
- [DRF : Django REST Framework](https://www.django-rest-framework.org/)
- [React](https://react.dev/)

## Related

- [Axios](https://axios-http.com/kr/docs/intro)
- [Swagger](https://swagger.io/)

## Support


Donate with PayPal

## License

This project adheres to the Apache-2.0 license, and you can find more detailed information in the [LICENSE](https://github.com/madEffort/booking-airline-platform/blob/main/LICENSE)

---

> GitHub [@madEffort](https://github.com/madEffort)  · 
> Naver [@madEffort](https://search.naver.com/search.naver?where=nexearch&sm=tab_etc&mra=bjky&x_csa=%7B%22fromUi%22%3A%22kb%22%7D&pkid=1&os=32229226&qvt=0&query=%EA%B9%80%ED%98%84%EC%9A%B0)