Skip to content

sahilsultane/TourEase

Β 
Β 

🌍 TourEase

Your Smart, Safe & Personalized Travel Assistant β€” Powered by AI

License: MIT PRs Welcome GSSoC'26 Node.js React


Part of GirlScript Summer of Code 2026 β€” open to contributors of all skill levels.


⚑ Quick Navigation

πŸ“– About ✨ Features πŸ› οΈ Tech Stack πŸ—‚οΈ Structure πŸ›οΈ Architecture πŸ—ΊοΈ Routes πŸš€ Quick Start 🀝 Contributing

πŸ“– About TourEase

TourEase is an open-source, AI-powered travel assistant that helps tourists plan trips, explore destinations, and travel safely β€” all in one place. It combines intelligent itinerary generation, real-time weather & event monitoring, and community-driven insights into a seamless full-stack web app.


✨ Features

Dynamic Itinerary Adjustment
  • Real-Time Event Detection β€” Discovers festivals, concerts, and cultural events during your trip.
  • Weather Monitoring β€” 5-day forecasts with suggestions for bad-weather days.
  • Disruption Alerts β€” Proactive notifications for closures, strikes, or travel disruptions.
  • AI-Powered Suggestions β€” Intelligent recommendations to enhance your itinerary on the fly.
  • Full User Control β€” Accept, reject, or modify any suggestion with clear reasoning shown.
AI & Smart Planning
  • AI Trip Planner β€” Custom itineraries based on budget, duration, and interests.
  • AI Voice Assistant β€” Real-time translation and voice-activated destination queries.
  • Seasonal Mapping β€” Best-time-to-visit recommendations powered by AI.
  • Event-Aware Planning β€” Integration with global event APIs for festivals and sports.
Safety & Emergency Support
  • Local Safety Map β€” Nearest hospitals, police stations, and embassies in real time.
  • Emergency System β€” One-tap contact to local authorities with live safety alerts.
  • Issue Reporting β€” Report fraud, lost items, or unsafe areas directly in the app.
Travel Tools & Community
  • Smart Finder β€” Map integration for hotels, hostels, and hidden local gems.
  • Travel Locker β€” Secure digital record of documents and belongings.
  • Split & Expense β€” Group bill management with PDF/CSV export.
  • Community Feed β€” An Instagram-style feed for travel reviews and shared moments.

πŸ“Έ UI Preview

TourEase Home Page

πŸš€ Try the live app β†’ tour-ease-joh5.vercel.app


πŸ› οΈ Tech Stack

Frontend React Vite TailwindCSS React Router

Backend Node.js Express MongoDB JWT Passport OpenAI


πŸ—‚οΈ Project Structure

TourEase/
β”œβ”€β”€ frontend/                        # React + Vite client (port 5173)
β”‚   └── src/
β”‚       β”œβ”€β”€ assets/                  # Images, icons, static media
β”‚       β”œβ”€β”€ components/              # Reusable UI components
β”‚       β”‚   β”œβ”€β”€ chatbot/             # AI chatbot widget
β”‚       β”‚   β”œβ”€β”€ common/              # Loader, ScrollToTop, etc.
β”‚       β”‚   β”œβ”€β”€ features/            # Feature-specific sub-components
β”‚       β”‚   β”œβ”€β”€ layout/              # Page layout wrappers
β”‚       β”‚   β”œβ”€β”€ Navigation.jsx
β”‚       β”‚   β”œβ”€β”€ Footer.jsx
β”‚       β”‚   β”œβ”€β”€ EventCard.jsx
β”‚       β”‚   β”œβ”€β”€ WeatherWidget.jsx
β”‚       β”‚   β”œβ”€β”€ ItineraryDisplay.jsx
β”‚       β”‚   └── SuggestionCard.jsx
β”‚       β”œβ”€β”€ context/                 # Global state (Context API)
β”‚       β”‚   β”œβ”€β”€ FavoritesContext.jsx
β”‚       β”‚   └── ThemeContext.jsx
β”‚       β”œβ”€β”€ hooks/                   # Custom React hooks
β”‚       β”œβ”€β”€ pages/                   # One file per route
β”‚       β”œβ”€β”€ services/                # HTTP service layer (Axios)
β”‚       β”œβ”€β”€ utils/                   # Helper functions
β”‚       β”œβ”€β”€ config/                  # SDK & env config
β”‚       β”œβ”€β”€ App.jsx                  # Router + ProtectedRoute guard
β”‚       └── main.jsx                 # Vite entry point
β”‚
β”œβ”€β”€ backend/                         # Node.js + Express REST API (port 5000)
β”‚   β”œβ”€β”€ config/
β”‚   β”‚   β”œβ”€β”€ db.js                    # MongoDB connection (Mongoose)
β”‚   β”‚   β”œβ”€β”€ passport.js              # Google OAuth 2.0 strategy
β”‚   β”‚   └── mailTransporter.js       # Nodemailer config
β”‚   β”œβ”€β”€ controllers/                 # Business logic per domain
β”‚   β”œβ”€β”€ models/                      # Mongoose schemas
β”‚   β”œβ”€β”€ routes/                      # Express routers
β”‚   β”œβ”€β”€ services/                    # External integrations & heavy logic
β”‚   └── server.js                    # App bootstrap & middleware
β”‚
β”œβ”€β”€ screenshots/                     # UI previews
β”œβ”€β”€ .env.example                     # Environment variable template
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ INSTALLATION.md
└── README.md

πŸ›οΈ Architecture Flow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     Browser  (React + Vite :5173)    β”‚
β”‚                                      β”‚
β”‚  Route β†’ Page β†’ Service β†’ HTTP req   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚  JSON / REST
                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Express Server  (Node.js :5000)    β”‚
β”‚                                      β”‚
β”‚  CORS β†’ Router β†’ Controller          β”‚
β”‚       β†’ Service (AI / Weather / …)   β”‚
β”‚       β†’ Mongoose Model               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”
     β–Ό                β–Ό
 MongoDB Atlas    External APIs
                  (OpenAI Β· OpenWeather
                   Β· Events Β· Google OAuth)

State management at a glance:

Layer Mechanism
Auth token localStorage β†’ ProtectedRoute in App.jsx
Favourites FavoritesContext (React Context API)
Dark / light theme ThemeContext (React Context API)
Server data Local useState + service call

πŸ—ΊοΈ Application Routes

Frontend

Path Component Access
/ Home.jsx 🌐 Public
/about About.jsx 🌐 Public
/features Features.jsx 🌐 Public
/destinations Destinations.jsx 🌐 Public
/destinations/:id DestinationDetails.jsx 🌐 Public
/contact Contact.jsx 🌐 Public
/privacy Privacy.jsx 🌐 Public
/terms Terms.jsx 🌐 Public
/help HelpCenter.jsx 🌐 Public
/demo DemoSection.jsx 🌐 Public
/signup signup.jsx 🌐 Public
/login Login.jsx 🌐 Public
/favorites AddFavorite.jsx 🌐 Public
/plan-trip PlanTrip.jsx 🌐 Public
/trip-planner TripPlanner.jsx 🌐 Public
/home2 Home2.jsx πŸ”’ Protected

πŸ”’ Protected routes redirect to /login if no valid JWT is found in localStorage.

Backend API

Endpoint prefix Responsibility
POST /api/auth Register, login, Google OAuth
POST /api/contact Contact form & email dispatch
* /api/trip Save & retrieve trip data
* /api/itinerary AI itinerary generation & adjustment
* /api/events Fetch & cache local events
* /api/weather Weather forecasts & disruption alerts
GET /api/health Server health check

πŸš€ Quick Start

Prerequisites

  • Node.js v18+
  • npm v9+
  • MongoDB Atlas cluster (free tier works)

Steps

# 1. Clone
git clone https://github.com/Suhani1234-5/TourEase.git

# 2. Configure environment
cp .env.example backend/.env
# Fill in MONGODB_URI, JWT_SECRET, FRONTEND_URL in backend/.env

# 3. Start backend  (Terminal 1)
cd backend && npm install && npm start

# 4. Start frontend  (Terminal 2)
cd frontend && npm install && npm run dev

Open http://localhost:5173 β€” you're in. πŸŽ‰

Note

For Google OAuth, OpenAI, and email keys, see the Full Installation Guide.


🀝 Contributing

TourEase is part of GirlScript Summer of Code 2026. We welcome contributions of all sizes!

  1. Fork the repo and create a branch: git checkout -b feat/your-feature
  2. Commit your changes with a clear, descriptive message.
  3. Push and open a Pull Request against main.

Read the Contributing Guidelines before opening a PR.
Check the Issues tab β€” labels like good first issue and easy are great starting points.


πŸ” Security

Please do not open a public issue for vulnerabilities. See our Security Policy for responsible disclosure guidelines.


πŸ“„ License

Distributed under the MIT License β€” see LICENSE for details.


πŸ‘©β€πŸ’» Maintainer

Suhani β€” @Suhani1234-5 Β Β·Β  LinkedIn Β Β·Β  GitHub Discussions


πŸ‘₯ Contributors

Thanks to everyone who has helped build TourEase! πŸ’œ

TourEase contributors

Made with ❀️ by travelers, for travelers

⬆ Back to top

About

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 96.9%
  • CSS 2.8%
  • HTML 0.3%