Discover Bharat, Intelligently โ An AI-powered tourism ecosystem for exploring India
Bharat Explorer AI is not just a travel app โ it's a unified AI-native tourism ecosystem that revolutionizes how people discover, plan, and experience India.
- ๐ AI Destination Discovery โ Personalized recommendations based on your interests
- ๐ Smart Itinerary Generator โ AI-crafted daily schedules with detailed activities
- ๐บ๏ธ Interactive Map Explorer โ Google Maps integration with attractions and services
- ๐ฌ AI Chat Assistant โ Conversational agent with persistent memory (Firestore)
- ๐ฃ๏ธ Real-Time Translator โ Speech-to-speech translation for seamless communication
- Node.js 18+ and npm
- Firebase account
- Google Cloud account (for Maps & Gemini APIs)
# Clone repository
git clone https://github.com/yourusername/bharat-explorer-ai.git
cd bharat-explorer-ai
# Install dependencies
npm install
# Set up environment variables
cp .env.local.example .env.local
# Edit .env.local with your API keys
# Run development server
npm run devVisit http://localhost:3000 to see the app.
| Category | Technology |
|---|---|
| Frontend | Next.js 15 (App Router), TypeScript, Tailwind CSS, ShadCN/UI |
| AI | Google Genkit, Gemini 2.0 Flash, Gemini 1.5 Flash |
| Backend | Firebase (Auth, Firestore, Hosting) |
| Maps | Google Maps JavaScript API, Places API |
| Styling | Tailwind CSS, Lucide React icons |
bharat-explorer-ai/
โโโ app/
โ โโโ explore/ # AI destination discovery
โ โโโ plan/ # Smart itinerary generator
โ โโโ map/ # Interactive map (coming soon)
โ โโโ chat/ # AI chat assistant (coming soon)
โ โโโ translate/ # Speech translator (coming soon)
โ โโโ api/
โ โโโ destinations/
โ โโโ itinerary/
โโโ components/
โ โโโ ui/ # ShadCN components
โ โโโ features/ # Feature-specific components
โ โโโ shared/ # Reusable components
โโโ lib/
โ โโโ firebase/ # Firebase configuration
โ โโโ genkit/ # AI flows and configuration
โ โโโ utils/ # Helper functions
โโโ public/
โ โโโ data/
โ โโโ destinations.json # 10+ curated destinations
โโโ .env.local # Environment variables
Create .env.local with these variables:
# Firebase
NEXT_PUBLIC_FIREBASE_API_KEY=your_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
# Google Maps
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your_maps_key
# Gemini AI
GOOGLE_GENAI_API_KEY=your_gemini_key- Firebase: Firebase Console โ Create project โ Web app
- Google Maps: Cloud Console โ APIs & Services โ Enable Maps JavaScript API & Places API
- Gemini: Google AI Studio โ Create API key
- Users describe interests (e.g., "historic forts, beaches")
- AI recommends 5 personalized destinations
- Shows highlights, best time to visit, and reasons
- Input destinations and trip duration
- AI generates creative trip title and daily schedule
- Detailed time-based activities with descriptions
- Google Maps integration
- Markers for destinations, hotels, restaurants
- AI-generated info panels on click
- Conversational interface
- Persistent chat history in Firestore
- Context-aware responses about 160+ destinations
- Speech-to-text transcription
- Language translation (English โ Hindi/Marathi/Tamil)
- Text-to-speech output
- Landing page
- AI destination discovery
- Smart itinerary generator
- Firebase integration
- Anonymous authentication
- Interactive Google Maps
- AI chat with Firestore memory
- Speech translation module
- Performance optimization
- SEO improvements
- PWA capabilities
- Analytics integration
We welcome contributions! Here's how you can help:
- Frontend: Build UI components with ShadCN/Tailwind
- Backend: Optimize Firestore queries, secure APIs
- AI: Enhance Genkit flows, tune prompts
- Design: Create responsive, culturally-aware interfaces
- Content: Curate destination data and cultural insights
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth != null && request.auth.uid == userId;
match /chats/{chatId} {
allow read, write: if request.auth.uid == userId;
}
match /itineraries/{itineraryId} {
allow read, write: if request.auth.uid == userId;
}
}
match /destinations/{destinationId} {
allow read: if true;
allow write: if false;
}
}
}Deploy rules:
firebase deploy --only firestore:rulesIssue: Firebase not connecting
firebase init
firebase deploy --only firestore:rulesIssue: Genkit API errors
- Verify
GOOGLE_GENAI_API_KEYis set - Check API quota in Google AI Studio
Issue: Maps not loading
- Enable Maps JavaScript API in Cloud Console
- Verify API key in
.env.local
- Lighthouse Score: 95+ (Target)
- First Contentful Paint: < 1.5s
- Time to Interactive: < 3.5s
- API Response Time: < 2s (Genkit flows)
This project is licensed under the MIT License โ see LICENSE file for details.
- Google Gemini for powerful AI capabilities
- Firebase for seamless backend infrastructure
- Next.js team for the amazing framework
- ShadCN for beautiful UI components
- All contributors who help celebrate India's diversity
- GitHub Issues: Report bugs or request features
- Documentation: Check
/docsfolder for detailed guides - Community: Join discussions in GitHub Discussions
If you find this project helpful, please consider:
- โญ Starring the repository
- ๐ด Forking and contributing
- ๐ข Sharing with others
Built with โค๏ธ for celebrating India's incredible diversity
Discover Bharat, Intelligently ๐ฎ๐ณ