A modern web platform for travel planning, destination discovery, and hospitality services powered by AI.
- Photo Swipe Discovery: Discover destinations by swiping through beautiful photos. AI analyzes your preferences to create personalized recommendations.
- AI Travel Assistant: Chat with an intelligent travel assistant powered by Google Gemini AI for personalized trip planning.
- Trip Planner: Generate custom itineraries based on destination, duration, and budget preferences.
- Destination Explorer: Browse and filter destinations by category and sustainability ratings.
- Safety & Weather Dashboard: Get real-time safety alerts and weather information for your destination.
- React 18
- React Router DOM
- Axios
- CSS3 with modern gradients and animations
- Node.js
- Express.js
- Google Generative AI (Gemini)
- Google Cloud Vision API
- Multer (for file uploads)
- CORS enabled
- Node.js (v14 or higher)
- npm or yarn
- Google Cloud account (for Vision API and Gemini API)
- API keys for:
- Google Gemini API
- Google Cloud Vision API
- OpenWeather API (optional)
git clone <repository-url>
cd Endless-Trialcd backend
npm installCreate a .env file in the backend directory:
PORT=5000
GOOGLE_GEMINI_API_KEY=your_api_key_here
GOOGLE_APPLICATION_CREDENTIALS=path/to/service-account-key.jsonFor Google Cloud Vision API, you need to:
- Create a project in Google Cloud Console
- Enable the Vision API
- Create a service account and download the JSON key
- Set the path in
GOOGLE_APPLICATION_CREDENTIALS
cd frontend
npm installCreate a .env file in the frontend directory (optional):
REACT_APP_API_URL=http://localhost:5000cd backend
npm start
# or for development with auto-reload
npm run devThe backend will run on http://localhost:5000
cd frontend
npm startThe frontend will run on http://localhost:3000
Endless-Trial/
βββ backend/
β βββ server.js # Main Express server
β βββ package.json
β βββ uploads/ # Uploaded files directory
β βββ .env # Environment variables (create this)
βββ frontend/
β βββ public/
β βββ src/
β β βββ components/ # React components
β β β βββ Chatbot.js
β β β βββ PhotoSwipe.js
β β βββ pages/ # Page components
β β β βββ Homepage.js
β β β βββ TripPlanner.js
β β β βββ Destinations.js
β β β βββ Safety.js
β β βββ App.js # Main App component
β β βββ index.js # Entry point
β βββ package.json
βββ .gitignore
βββ .env.example # Example environment variables
βββ README.md
GET /- Health checkPOST /api/trip/plan- Generate trip itinerary{ "destination": "Paris", "days": 5, "budget": "medium" }POST /api/photo/analyze- Analyze uploaded photo (multipart/form-data)POST /api/chat- Chat with AI assistant{ "message": "What are the best places to visit in Paris?" }GET /api/weather/:location- Get weather informationGET /api/safety/:location- Get safety information
Users can swipe through travel photos, and the system learns their preferences to suggest matching destinations.
Powered by Google Gemini AI, the chatbot provides intelligent travel recommendations and answers questions about destinations.
Create personalized itineraries based on:
- Destination
- Number of days
- Budget level (Budget, Medium, Luxury)
Browse destinations with filters for:
- Category (Nature, Beach, Urban, Adventure)
- Sustainability rating (High, Medium, Low)
Check safety information and weather conditions for any destination.
See .env.example for all required environment variables.
- Backend not starting: Check if port 5000 is available and all environment variables are set.
- API errors: Verify your Google Cloud credentials and API keys are correct.
- CORS issues: Ensure the backend CORS is properly configured (already set up in server.js).
See TODO.md for upcoming features and improvements.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is open source and available under the MIT License.
- Google Cloud Vision API
- Google Gemini AI
- Unsplash for sample images
- React community
Made with β€οΈ for travelers and explorers