An intelligent full-stack web application that leverages AI to create personalized travel itineraries. Simply input your destination, travel dates, and interests to receive AI-powered recommendations for attractions, restaurants, activities, and more through the Groq API.
- Live Demo: TripPlanner Website
-
Smart Trip Planning
- Multi-step intuitive form with progress tracking
- AI-powered personalized recommendations (via Groq with gemma2-9b-it)
- Interactive destination selection with map integration
-
Modern Tech Architecture
- Type-safe frontend with React + TypeScript
- High-performance Go backend
- AI integration via Groq (gemma2-9b-it)
- Responsive UI with Hero UI components
-
Production-Ready
- Comprehensive error handling
- Client-side routing with fallback support
- Optimized deployment configuration
- Environment-based configuration
- Core: React 18 + TypeScript
- Build Tool: Vite
- UI Framework: Hero UI
- Routing: React Router
- Styling: TailwindCSS
- Maps: Leaflet
- Icons: Iconify
- Language: Go 1.18+
- Web Framework: Standard
net/http - Environment: godotenv
- AI Service: Groq API (gemma2-9b-it)
- Hosting: Render.com
- Frontend: Static Site Hosting
- Backend: Private Service
- CI/CD: Automated deployments via Render
- Node.js 16 or higher with npm
- Go 1.18 or higher
- Groq API key with inference permissions
- Git
-
Clone the Repository
git clone https://github.com/shusingh/TripPlanner.git cd TripPlanner -
Backend Setup
cd backend cp .env.example .env # Configure your .env file: # GROQ_API_KEY=your_groq_api_key # PORT=8080 go mod download go run cmd/tripplanner/main.go
-
Frontend Setup
cd ../frontend npm install # Create and configure .env echo "VITE_API_BASE_URL=http://localhost:8080" > .env npm run dev
-
Access the Application
- Open http://localhost:5173 in your browser
- Backend API will be available at http://localhost:8080
-
Backend Service
- Repository: Select your GitHub repository
- Root Directory:
/backend - Build Command:
go build -o app cmd/tripplanner/main.go - Start Command:
./app - Environment Variables:
GROQ_API_KEY: Your Groq API key
-
Frontend Static Site
- Repository: Same GitHub repository
- Root Directory:
/frontend - Build Command:
npm run build - Publish Directory:
dist - Environment Variables:
VITE_API_BASE_URL: Your backend service URL
- Add Rewrite Rule:
/* /index.html 200
TripPlanner/
├─ backend/ # Go API Service
│ ├─ cmd/
│ │ └─ tripplanner/ # Application entry point
│ ├─ internal/ # Internal packages
│ │ ├─ groq/ # Groq client
│ │ ├─ recommendations/ # Recommendation logic
│ │ └─ models/ # Data models
│ ├─ go.mod # Go dependencies
│ └─ .env.example # Environment template
│
├─ frontend/ # React Application
│ ├─ src/
│ │ ├─ pages/ # Route components
│ │ ├─ components/ # Reusable UI components
│ │ ├─ config/ # App configuration
│ │ └─ App.tsx # Root component
│ ├─ public/ # Static assets
│ ├─ vite.config.ts # Vite configuration
│ └─ package.json # NPM dependencies
│
└─ README.md # Project documentation
We welcome contributions! Here's how you can help:
- 🐛 Report bugs by opening an issue
- 💡 Propose new features or improvements
- 🔧 Submit pull requests
- 🎨 Improve UI/UX design
- 🤖 Enhance AI prompt engineering
Please read our Contributing Guidelines before making a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Groq for their fast AI inference
- Render.com for hosting services
- All our contributors