https://github.com/rubaid07/pack2go
Pack2Go is a complete tour package booking platform where users can explore, book, and manage travel packages. Built with the MERN stack and Firebase Authentication, this project focuses on modern UX, secure bookings, and dynamic content management.
https://github.com/rubaid07/pack2go
expressjs firebase jwt nodejs react react-router tailwindcss
Last synced: 3 months ago
JSON representation
Pack2Go is a complete tour package booking platform where users can explore, book, and manage travel packages. Built with the MERN stack and Firebase Authentication, this project focuses on modern UX, secure bookings, and dynamic content management.
- Host: GitHub
- URL: https://github.com/rubaid07/pack2go
- Owner: Rubaid07
- Created: 2025-06-25T08:58:23.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-25T09:35:27.000Z (about 1 year ago)
- Last Synced: 2025-06-25T10:43:45.057Z (about 1 year ago)
- Topics: expressjs, firebase, jwt, nodejs, react, react-router, tailwindcss
- Language: JavaScript
- Homepage: https://pack2go07.web.app/
- Size: 1.02 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π Pack2Go β Tour Package Booking Platform
**Pack2Go** is a full-stack tour package booking platform built with the MERN stack and Firebase Authentication. Users can explore curated travel packages, view detailed itineraries, and confirm bookings in real-time. Guides (users) can also add, update, or delete their own tour packages. All functionalities are secured and responsive across devices.
---
## π Live Links
- π [Live Client](https://pack2go07.web.app)
## π Server Repo
- π (https://github.com/Rubaid07/Pack2go-server)
---
## π§ Project Overview
- π¦ Users can browse all available packages and see their full details.
- π Authentication and authorization handled via Firebase & JWT.
- π§ββοΈ Guides (logged-in users) can add/manage their own packages.
- π Bookings are stored with status and linked user info.
- π― Focused on recruiter-friendly design and smooth deployment.
---
## π Main Features
- π§³ Add, update, and delete personal tour packages (CRUD)
- π
Book packages with live booking count update using MongoDBβs `$inc`
- π Protected routes with JWT for My Bookings, Add Package, Manage Packages, etc.
- π Server-side search for packages by name or destination
- π Light/Dark Theme toggle
- π± Fully responsive UI (mobile, tablet, desktop)
---
## π οΈ Tech Stack
### π» Frontend
- React
- React Router DOM
- Tailwind CSS
- DaisyUI
- Axios
### π₯οΈ Backend
- Node.js
- Express.js
- MongoDB
- JWT Authentication
### π Auth & Storage
- Firebase Authentication
- Firebase Hosting
- MongoDB Atlas
---
## π¦ Dependencies
```bash
# Frontend
"axios"
"firebase"
"react-router-dom"
"react-toastify"
"sweetalert2"
"daisyui"
"react-icons"
"react-slick"
"slick-carousel"
"framer-motion"
"date-fns"
"lottie-react"
"react-countup"
"tailwindcss"
# Backend
"cors"
"dotenv"
"express"
"mongoose"
"jsonwebtoken"
```
---
# How to Run This Project Locally
π§ Prerequisites:
- Node.js and npm must be installed
- MongoDB Atlas URI or local instance
- Firebase project set up with Email/Password and Google Auth enabled
π₯οΈ Backend Setup:
1. Clone the server repo:
git clone https://github.com/Rubaid07/Pack2go-server.git
cd Pack2go-server
npm install
2. Create a `.env` file in the root of `server/` and add:
PORT=3000
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
3. Run the server:
npm run dev
π» Client Setup:
1. Clone the client repo:
git clone https://github.com/Rubaid07/pack2go.git
cd Pack2go-client
npm install
2. Create a `.env` file in the root of `client/` and add:
VITE_apiKey=http://localhost:5000
VITE_authDomain=your_project.firebaseapp.com
VITE_projectId=your_project_id
VITE_storageBucket=your_storage_bucket
VITE_messagingSenderId=your_sender_id
VITE_appId=your_app_id
VITE_API_URL=http://localhost:3000
3. Run the client:
npm run dev
π’ Client will run on: http://localhost:5173
π’ Server will run on: http://localhost:3000