Generate personalized travel itineraries powered by AI using Next.js, Supabase, and Google's Gemini 1.5
- AI-Powered Itineraries: Leverages Google's Gemini-1.5-flash model for intelligent travel planning
- Interactive Maps: Visual representation of activities using Leaflet Maps API
- Credit System: 5 free credits upon registration for itinerary generation
- Export Options: Download itineraries in PDF or TXT format
- User Dashboard: Manage and view recent travel plans
- Authentication: Secure login with GitHub OAuth or email credentials
- Frontend: Next.js, TypeScript, Tailwind CSS, Shadcn
- Backend: Next.js API Routes
- Database: Supabase (PostgreSQL)
- Authentication: Supabase Auth
- AI Model: Google Gemini-1.5-flash
- Queue System: Qstash
- Maps: Leaflet Maps API
-
Register an Account
https://travelplanai.vercel.app/signup
-
Generate Itinerary
- Fill out the travel preferences form
- Click "Generate" button
- Wait for AI to create your personalized itinerary
-
View & Export
- See your itinerary with mapped locations
- Download in PDF or TXT format
- Access past itineraries from dashboard
-
Supabase Integration
- Centralized auth and data storage
- Built on PostgreSQL
- Row Level Security (RLS) policies
-
Multiple Auth Methods
- GitHub OAuth
- Email/Password credentials
- Automatic user creation in database
- User submits preferences
- Backend creates personalized prompt
- Gemini AI generates itinerary
- Response is parsed and stored
- Maps are generated using coordinates
- Credit is deducted from user account
- Handles non-critical tasks asynchronously
- Improves response times
- Manages credit updates and data storage
- Long response time for itinerary generation
- No fallback mechanism for failed generations
- Disabled RLS policies temporarily
-
Performance Optimization
- Implement response caching
- Optimize database queries
- Add request fallback mechanisms
-
Feature Additions
- Credit purchase system
- Enhanced user profile management
- Image upload capability
-
Technical Improvements
- Re-enable RLS policies
- Implement comprehensive error handling
- Add request retry mechanism
Currently deployed on Vercel for demonstration purposes.
Production-Ready Setup:
- Dockerized application
- Ready for AWS Elastic Container Service
- Configured for auto-scaling
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m 'Add some AmazingFeature'
- Push to the branch
git push origin feature/AmazingFeature
- Open a Pull Request
Mohd Jami Khan
- GitHub: @mohdjami
- LinkedIn: Mohd Jami Khan
⭐️ Star this repo if you find it helpful! ⭐️