Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

✈️ Online Aeroplane Booking System

A premium, full-stack flight booking and fleet management platform. Built with a robust Django REST Framework (DRF) backend and a dynamic, responsive React + Tailwind CSS frontend powered by Vite.

This system supports dual roles: Regular Passengers (who can search flights, book seats or entire charter planes, make payments, download e-tickets, and leave feedback) and Administrators (who manage flights, aircraft fleets, airlines, cancellation requests, and view feedback).


📸 Screenshots & Demo Images

Want to showcase the beauty of your application? Follow these steps to add screenshots directly to this README:

  1. Create a folder named images in the root directory.
  2. Save your screenshots there (e.g., dashboard.png, booking.png).
  3. Add them to this README using the markdown syntax:
    ![Dashboard Preview](images/dashboard.png)

(Placeholders below - replace with your actual images once uploaded)

Search & Book Flights Admin Dashboard
Search Page Admin Panel

🛠️ Technology Stack

Backend

  • Framework: Django 6.0 & Django REST Framework (DRF)
  • Database: SQLite (Development) / Easily configurable for PostgreSQL/MySQL
  • Authentication: JWT & Token-based Authentication
  • Core Packages: django-cors-headers, django-filter, pillow, djangorestframework-simplejwt

Frontend

  • Framework: React 19 (Vite)
  • Styling: Tailwind CSS v4 & PostCSS
  • Icons: Lucide React
  • Routing: Client-side state-driven dynamic views

✨ Features

👤 Regular Passenger Experience

  • Flight Search & Filters: Search for flights based on origin/destination cities, flight type (domestic/international), and date.
  • Dual Booking Types:
    • Seat Booking: Select cabin class (Economy/Business) and specify passenger details.
    • Charter Booking: Hire an entire private aircraft by specifying flight hours and purpose.
  • Automatic Ticket Generation: Generates a unique booking reference (SR-XXXXXX) and a structured E-ticket (TK-YYYYMMDD-XXXX) complete with unique numbers and placeholders for QR codes/PDFs.
  • Multiple Payment Gateways: Simulates card payments, bank transfers, and mobile wallets like JazzCash and EasyPaisa.
  • Cancellation Panel: Request ticket cancellations with passenger-submitted reasons.
  • Feedback & Rating System: Rate flights from 1 to 5 stars with written comments.

👑 Admin Control Panel

  • Airlines & Fleet Management: Register airlines, upload brand logos, set signature theme colors, and manage the aircraft fleet (registration, capacity, charter/seat pricing).
  • Flight Scheduling: Create and schedule flights, auto-calculate durations, and track seat availability states (available, limited, full).
  • Booking & Cancellation Control: View all booking requests, and process cancellation requests (Approve/Reject) with admin notes.
  • Feedback Insights: Read all passenger feedback and star ratings in a dedicated tab.

📂 Project Structure

AeroplaneBookingSystem/
├── AirBackend/              # Django REST Framework Backend
│   ├── env/                 # Python Virtual Environment (ignored in Git)
│   └── myproject/           # Django Project Root
│       ├── bookings/        # Booking App (Bookings, Tickets, Payments, Cancellations)
│       ├── flights/         # Flight App (Airlines, Aircrafts, Flights, Feedbacks)
│       ├── users/           # Custom User Auth App
│       ├── myproject/       # Django Settings & Routing
│       ├── db.sqlite3       # Database file (ignored in Git)
│       └── requirements.txt # Backend dependencies
├── UI/                      # React Frontend
│   └── vite-project/        # Vite + React app
│       ├── src/
│       │   ├── components/  # Reusable UI elements (Navbar, Toast, PrivateRoute)
│       │   ├── context/     # Auth Context for State management
│       │   ├── pages/       # Page components (AdminPage, AuthPage, FlightsPage, etc.)
│       │   └── App.jsx      # Application entrypoint & view switcher
│       └── package.json     # Frontend dependencies
└── README.md                # This documentation file

🚀 Local Installation & Setup

Follow these instructions to get the application running on your local machine.

📋 Prerequisites

  • Python (version 3.10 or higher recommended)
  • Node.js (version 18 or higher recommended) & npm

1. Clone the Repository

git clone https://github.com/MananAli05/OnlineAeroplaneBookingSystem.git
cd OnlineAeroplaneBookingSystem

2. Backend Setup (Django)

  1. Navigate to the backend directory:
    cd AirBackend
  2. Create and Activate a Virtual Environment:
    • Windows (CMD/PowerShell):
      python -m venv env
      .\env\Scripts\activate
    • macOS / Linux:
      python3 -m venv env
      source env/bin/activate
  3. Navigate to the Django project home:
    cd myproject
  4. Install Python dependencies:
    pip install -r requirements.txt
  5. Run database migrations:
    python manage.py migrate
  6. Create an Admin Superuser (to access the backend panel and admin role in UI):
    python manage.py createsuperuser
  7. Start the development server:
    python manage.py runserver
    The backend API will run on http://127.0.0.1:8000/

3. Frontend Setup (React + Vite)

Open a new terminal window/tab:

  1. Navigate to the React project directory:
    cd UI/vite-project
  2. Install node packages:
    npm install
  3. Start the development server:
    npm run dev
    The client application will run on http://localhost:5173/

🛡️ License

Distributed under the MIT License. See LICENSE for more information.

About

A full-stack Aeroplane Booking & Fleet Management System featuring a Django REST Framework (DRF) backend and a React + Tailwind CSS (Vite) frontend.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages