Skip to content

FakeCoder01/Luaa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Luaa

Flight Tikcet Booking & Management System

Installation & Run Demo & Screenshots
Live Demo (User app) : https://luaafms.pythonanywhere.com
About

This is a web-app made with django consisting of two separate apps. One is for users and the other one is for admin. The admin application can be accessed at /manage.

The users can perform the following operations

- Registration and Login/Logout
- Profile creation & update
- Search flights between two airports
- Filter the search by date, time
- Select between different seat types (economy, business, first)
- Option to find both direct and connecting flights
- Sort the results by price, travel time
- Book a flight ticket by providing passenger info (autofills from profile)
- Handles seat availability for each seat category
- Pay using any card/UPI or other methods
- See all the bookings and issued tickets
- Tickets are issued automaticaly which can be downloaded
- See all the payment History
- Chat with customer support in real-time (Websocket)
- Update Login credentials

The admin can perform the following operations

- Login/Logout (more admin accounts can be created from django admin panel)
- Add/Remove/Modify Airports and its details
- Add/Remove/Modity Flights
- Manage seating configuration for each flight with different seat category
- Manage price for each flight for each seat category
- See/Modify all the users and passengers in the system and see their bookings
- See all the payment details, status of payment
- See all the bookings made and tickets issued
- Search flight for a particular date/time or after/before for any flight number
- Global full-text search for all the users, bookings, tickets, payments, flights, airports
- See all the bookings for a flight
- See Analytics and Stats for each flight such as revenue, seat booking percentage etc.
- Admin dashboard with analytics such as current sale, flights, bookings and users
- Real time chat with all customers (Websocket)
- Send newsletter emails

Technical deatils

- Frameowk : Django, Django Rest Framework, Django channels for web socket
- ASGI server : Daphne
- Worker : Celery
- Broker : Redis
- Database : PostgreSQL (for test : sqlite)
- Front-end : HTML, JavaScript, CSS, TailwindCSS

Database Schema

Database Schema

Run the project:

  1. Install python dependencies
pip install -r requirements.txt
  1. Create a .env file in the root directory and paste the following:
# Payment Gateway Config
export RAZOR_KEY_ID = RAZORPAY_API_KEY
export RAZOR_KEY_SECRET = RAZORPAY_API_SECRET

# Email Config
export EMAIL_HOST = YOUR_EMAIL_HOST
export EMAIL_HOST_USER = YOUR_EMAIL_ADDRESS
export EMAIL_HOST_PASSWORD = YOUR_EMAIL_PASSWORD
export EMAIL_PORT = 587
export EMAIL_USE_TLS = True

# DB Config
export DATABASE_NAME = DB_NAME
export DATABASE_USER = DB_USER
export DATABASE_PASSWORD = DB_PASS
export DATABASE_HOST = DB_HOST

# Redis Sever URL
export REDIS_SERVER_URL = REDIS_SERVER_URL

# Django SECRET_KEY
export SECRET_KEY = GENERATE_A_DJANGO_SECRET_KEY
  1. Run the migrations:
python manage.py makemigrations
  1. Migrate the changes to the DB:
python manage.py migrate
  1. Create a superuser for the project
python manage.py createsuperuser
  1. Start the celery:
celery -A fms worker --pool=solo -l info 
  1. Start the django server [use ngnix/gunicorn for production]
python manage.py runserver

Notes

Make sure to run python manage.py collectstatic for static files generation

Demo and Screenshots

User Demo

A video showing the demo of the user application. Compression made teh video quality a little bad :))

Admin App Demo

Telegram : @hitkolkata

About

A fully fledged Flight Tikcet Booking & Management System

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published