GlobeTrotter is a personalized, intelligent, and collaborative travel planning platform designed to simplify the complexities of organizing multi-city trips. The platform enables users to explore destinations, create customized itineraries, estimate budgets, and visualize their travel plans in an intuitive and interactive way.
The aim is to make travel planning as engaging as the journey itself, allowing users to discover new places, manage costs effectively, and share their plans with friends or the public.
- Features
- Tech Stack
- System Architecture
- User Flow
- Installation & Setup
- Usage Guide
- Screenshots
- Demo Video
- Database Schema
- Future Enhancements
- Contributing
- License
- Secure login/signup system with email and password
- Google OAuth integration
- Forgot password functionality
- User profile management and preferences
- Create multi-city itineraries with start and end dates
- Add detailed descriptions and cover photos
- Edit, view, or delete trips
- AI-generated day-wise and time-wise itineraries based on trip description
- Modify, accept, or manually add activities
- Interactive city/activity ordering
- City search with country, cost index, and popularity details
- Activity search with filters for type, cost, and duration
- Automatic budget estimation
- Cost breakdown by transport, stay, meals, and activities
- Visual budget charts and overbudget alerts
- Timeline and calendar-based trip visualization
- Public itinerary sharing with a unique link
- “Copy Trip” functionality for quick reuse
- Manage users and platform data
- View analytics, top cities, and most popular activities
- Add cities and activities to assist users
| Category | Technologies Used |
|---|---|
| Frontend | React.js, Vite, Tailwind CSS, Material UI, Recharts |
| Backend | Node.js, Express.js |
| Database | MongoDB (Mongoose ODM) |
| Authentication | JWT (JSON Web Tokens), Google OAuth 2.0 |
| Security | Bcrypt password hashing, Environment variables with dotenv |
| File Storage | Cloudinary |
| Email Service | Gmail SMTP |
| Deployment | Vercel (Frontend), Render (Backend) |
| AI Integration | Custom AI itinerary generation pipeline |
- Client Layer: Responsive web interface for trip planning and viewing itineraries
- API Layer: RESTful endpoints handling CRUD operations, AI itinerary generation, and authentication
- Database Layer: MongoDB storing users, trips, cities, activities, and budget data
flowchart LR
%% ===== USER FLOW =====
subgraph UserFlow["User Journey with AI"]
UA["User visits GlobeTrotter"] --> UB["Registers or Logs in"]
UB -->|"Custom Login/Signup or Google Auth"| UC["Dashboard"]
UC --> UD["Create New Trip"]
UD --> UE["Enter trip details: Name, Dates, Description"]
UE --> UF["AI generates regional & custom itinerary based on description and previous trips"]
UF --> UG{"User Action"}
UG -->|"Modify"| UH["User edits itinerary manually with AI suggestions"]
UG -->|"Accept"| UI["Save itinerary directly"]
UH --> UI
UI --> UJ["View Saved Itinerary with AI recommendations for nearby attractions"]
UJ --> UK["Access other features: Ongoing, Upcoming, Past Trips (AI highlights key experiences)"]
UK --> UC
UC --> UL["Book Now button – AI syncs best travel dates & deals with user preferences"]
end
%% ===== ADMIN FLOW =====
subgraph AdminFlow["Admin Journey with AI"]
AA["Admin logs into Admin Panel"]
AA --> AB["Manage Users with AI-driven engagement insights"]
AA --> AC["View Analytics: AI summarizes usage trends"]
AA --> AD["Add Cities and Activities"]
AD --> AE["AI suggests cities & activities based on recommendations, popularity & cost index"]
AE --> AF["Publish to user dashboards"]
end
%% Aligning side-by-side
UserFlow --- AdminFlow
# Clone the repository
git clone https://github.com/DebdipWritesCode/GlobeTrotter-CodeFusion.git
# Navigate to project folder
cd GlobeTrotter-CodeFusion
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm install
# Setup environment variables
# FRONTEND (.env)
VITE_BACKEND_URL=http://localhost:5000
VITE_GOOGLE_CLIENT_ID=your_google_client_id
# BACKEND (.env)
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
REFRESH_SECRET=your_refresh_secret
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
GMAIL_USER=your_gmail_username
GMAIL_APP_PASSWORD=your_gmail_app_password
FRONTEND_URL=http://localhost:5173
# Run backend
cd backend
npm run dev
# Run frontend
cd ../frontend
npm run dev- Register or log in using email/password or Google Auth
- Create a trip by adding name, dates, and description
- AI generates an itinerary which you can accept or modify
- Save your itinerary and view it in timeline or calendar format
- Check budget breakdown and adjust activities as needed
- Share trip publicly or keep private
|
|
|
|
|
|
|
|
|
(Add link here)
Collections:
- Users – Authentication & profile data
- Trips – Trip details (name, dates, description)
- Stops – Cities included in the trip
- Activities – Activities linked to stops
- Budgets – Estimated expenses
- Real-time currency conversion
- Collaborative trip planning with multiple users
- Integration with Google Maps & Booking APIs
- Offline trip access
- AI-powered recommendations for best travel seasons
We welcome contributions.
- Fork this repository
- Create a feature branch
- Commit your changes
- Push to your fork
- Create a pull request
This project is licensed under the MIT License.








