https://travel-buddy-mu-eight.vercel.app/
Plan smarter. Explore deeper. Capture memories.
TravelBuddy is an AI-powered web app that helps travelers create personalized itineraries, visualize destinations, upload trip memories, and communicate in real time โ all in one seamless platform.
TravelBuddy combines the intelligence of Gemini AI, the interactivity of Leaflet maps, and the power of real-time communication to simplify trip planning.
Itโs not just an itinerary generator โ itโs a full travel experience.
Whether you're exploring cities, planning adventures, or capturing moments, TravelBuddy makes it effortless to:
โ๏ธ Plan your trip with AI-generated itineraries- ๐บ๏ธ Explore destinations through interactive maps
- โ๏ธ Upload and relive travel memories
- ๐ฌ Stay connected with real-time updates and chat
| Feature | Description |
|---|---|
| ๐ค AI Trip Planner (Gemini) | Generates custom day-by-day itineraries, must-visit spots, and estimated budgets. |
| ๐ Google OAuth | One-click login and registration using Google accounts. |
| โ๏ธ Cloudinary Uploads | Upload and manage photos or trip memories securely in the cloud. |
| ๐ผ๏ธ Unsplash API Integration | Fetches beautiful destination images dynamically. |
| ๐บ๏ธ Interactive Maps (Leaflet) | View landmarks and routes with smooth map interactions. |
| ๐ฌ Real-Time Communication (Socket.io) | Enables instant messaging and travel updates. |
| ๐งญ Modern UI | Built with React + Tailwind CSS for a smooth, mobile-responsive experience. |
| Layer | Technologies |
|---|---|
| Frontend | React, Tailwind CSS, Axios, Leaflet |
| Backend | Node.js, Express.js |
| Database | MongoDB + Mongoose |
| AI Engine | Google Gemini API |
| Authentication | Google OAuth 2.0 |
| Real-Time | Socket.io |
| Cloud Storage | Cloudinary |
| Image Source | Unsplash API |
| Deployment | Vercel (Frontend) โข Render/Railway (Backend) |
TravelBuddy/ โโโ backend/ โ โโโ controllers/ โ โโโ models/ โ โโโ routes/ โ โโโ utils/ โ โโโ middlewares/ โ โโโ socket/ โ โโโ server.js โ โโโ .env โ โโโ frontend/ โ โโโ src/ โ โ โโโ components/ โ โ โโโ pages/ โ โ โโโ hooks/ โ โ โโโ services/ โ โ โโโ utils/ โ โ โโโ App.jsx โ โโโ public/ โ โโโ package.json โ โโโ README.md
git clone https://github.com/anand-144/TravelBuddy.git
cd TravelBuddy
cd backend
npm install
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GEMINI_API_KEY=your_gemini_api_key
CLOUDINARY_CLOUD_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_key
CLOUDINARY_API_SECRET=your_cloudinary_secret
UNSPLASH_ACCESS_KEY=your_unsplash_access_key
npm run dev
cd ../frontend
npm install
npm start
๐งญ How It Works
- Login using Google OAuth.
- Enter trip details like destination, duration, and interests.
- Gemini AI creates a detailed itinerary for you.
- View locations interactively on the Leaflet map.
- Upload memories (images/videos) to Cloudinary.
- Enjoy live updates and chat through Socket.io.
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/auth/google |
Login/Register via Google OAuth |
POST |
/api/ai/plan |
Generate AI-based travel plan |
POST |
/api/memories/upload |
Upload media to Cloudinary |
GET |
/api/trips |
Retrieve saved trips |
WS |
/socket.io |
Real-time event communication |
๐ฎ Future Enhancements ๐งณ Multi-destination route planning ๐ฆ๏ธ Weather-based itinerary suggestions ๐ง Smart packing checklist generator ๐ Travel community section for sharing trips ๐ Notifications for price drops and updates
Contributions are welcome! If youโd like to improve TravelBuddy: Fork this repo Create a feature branch (feature/your-feature) Commit and push your changes Submit a pull request ๐
Licensed under the MIT License โ see the LICENSE file for detail
Anand Singh
