https://github.com/rubab211/travel-booking-system
Travel Booking System
https://github.com/rubab211/travel-booking-system
backend docker docker-compose front-end-development
Last synced: about 2 months ago
JSON representation
Travel Booking System
- Host: GitHub
- URL: https://github.com/rubab211/travel-booking-system
- Owner: Rubab211
- Created: 2025-04-22T09:03:22.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-22T14:42:48.000Z (about 1 year ago)
- Last Synced: 2025-04-22T17:16:18.674Z (about 1 year ago)
- Topics: backend, docker, docker-compose, front-end-development
- Language: Python
- Homepage:
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
π Travel Booking System
A full-stack travel booking platform where users can search, book, and manage trips, with separate backend and frontend services. Each component is containerized using Docker for smooth development and deployment.
π― Objective
To develop a scalable, modular travel booking system that:
Allows users to browse, search, and book travel packages.
Provides admins with the ability to manage bookings, destinations, and user data.
Uses REST APIs to communicate between frontend and backend.
Is fully containerized using Docker for easy deployment.
π οΈ Technology Stack
Frontend
Framework: React.js
Styling: Tailwind CSS / Bootstrap
HTTP Client: Axios
Routing: React Router DOM
Backend
Language: Python
Framework: FastAPI
Database: PostgreSQL / SQLite (for dev)
ORM: SQLAlchemy
Authentication: JWT
Documentation: Swagger UI (auto from FastAPI)
DevOps
Containerization: Docker
Orchestration: Docker Compose
Environment Config: .env files
π Project Structure
pgsql
Copy
Edit
travel-booking-system/
β
βββ backend/
β βββ app/
β β βββ main.py
β β βββ models.py
β β βββ database.py
β β βββ crud.py
β β βββ schemas.py
β β βββ routers/
β β βββ bookings.py
β β βββ users.py
β β βββ packages.py
β βββ Dockerfile
β βββ requirements.txt
β
βββ frontend/
β βββ public/
β βββ src/
β β βββ App.js
β β βββ components/
β β βββ pages/
β β βββ services/
β βββ Dockerfile
β βββ package.json
β
βββ docker-compose.yml
βββ README.md
π How to Run the Project
Step 1: Backend Setup
bash
Copy
Edit
cd backend
docker build -t travel-backend .
Step 2: Frontend Setup
bash
Copy
Edit
cd frontend
docker build -t travel-frontend .
Step 3: Combined Docker Compose
Create docker-compose.yml at the root:
yaml
Copy
Edit
version: '3'
services:
backend:
build: ./backend
ports:
- "8000:8000"
volumes:
- ./backend:/app
env_file:
- ./backend/.env
frontend:
build: ./frontend
ports:
- "3000:3000"
volumes:
- ./frontend:/app
stdin_open: true
tty: true
Run:
bash
Copy
Edit
docker-compose up --build
π API Endpoints
Auth
POST /auth/login β Login user
POST /auth/register β Register new user
Users
GET /users/me β Get logged-in user info
Packages
GET /packages β List all travel packages
POST /packages β Add a package (admin)
Bookings
POST /bookings β Book a travel package
GET /bookings β Userβs bookings
β¨ Features
JWT-based login and registration
Travel package browsing and booking
Role-based access control (admin/user)
Fully dockerized microservices
Auto-generated API docs via Swagger
π§ͺ Future Enhancements
Payment gateway integration
Review and rating system
Email notifications
Admin dashboard with analytics
Submitted By: Rubab Arshad
Submitted To: Mr Faisal Shehzad