High Performance Flight Booking Management System
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
QAirline is an online flight booking platform that helps users easily search, compare, and book airline tickets. With a user-friendly interface and smart features, the website offers a fast, convenient, and secure booking experience. Demo link: https://www.youtube.com/watch?v=EIDpxah3Ugw&t=53s
Visit the official website here
-
Flight Search: Search for flights by departure, destination, travel date, and number of passengers.
-
Quick Booking: Simple booking process.
-
Booking Management: Review your booking details and statuses.
-
Online Payment: Integrated with the Stripe payment platform.
Clone the repo
git clone https://github.com/spaghetti-lover/Qairlines.git- Go to backend folder
cd backend
- Add environment variable in app.env
APP_EVN=production //can use development for debugging with logs
MAIL_SENDER_NAME="Qairlines Support"
MAIL_SENDER_ADDRESS = "your email"
MAIL_SENDER_PASSWORD = "your email password"
REDIS_ADDRESS=0.0.0.0:6379
DB_DRIVER = "postgres"
DB_SOURCE = "postgresql://root:secret@localhost:5432/qairline?sslmode=disable"
SERVER_ADDRESS_PORT = :8080
TOKEN_SYMMETRIC_KEY=12345678901234567890123456789012
ACCESS_TOKEN_DURATION=7h
RATE_LIMITER_REQUEST_SEC=5
RATE_LIMITER_REQUEST_BURST=10
STRIPE_SECRET_KEY=<Stripe secret key>
STRIPE_WEBHOOK_SECRET=<Stripe webhook secret>
- Start PostgreSQL service
make postgres
- Start Redis service
make redis
- Setup database
make createdb
make migrateup
- Test (optional)
make test
- Run server
make server
npm install
npm run dev
For more examples, you can the read Documentation
- Add MINIO for image management
- Change booking feature to work with concurrent requests
- Add BookingHistory
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the project_license. See LICENSE for more information.
Phung Duc Anh - @facebook - [email protected]
Project Link: https://github.com/spaghetti-lover/Qairlines











