A modern, AI-powered travel application connecting trekkers worldwide
- Discover breathtaking trekking destinations with rich details
- View high-quality photos from Pexels API integration
- Get real-time weather information for each location
- AI-powered custom route planning with Genkit
- Interactive maps and detailed travel information
- User ratings and reviews for each destination
- Integrated YouTube videos showcasing treks
- Tinder-style swiping interface for finding travel companions
- Match with like-minded travelers based on preferences
- Smooth animations and haptic feedback
- Instant chat access after successful matches
- WebSocket-powered real-time messaging
- Modern chat interface with emoji picker support
- Responsive design optimized for all screen sizes
- Message status indicators and typing notifications
- Media sharing capabilities
- Personalized trek recommendations using Google Gemini 3
- AI-driven destination filtering and search
- Custom route generation for unique adventures
- Smart travel suggestions based on your profile
- Share your travel experiences with the community
- Upload and organize your trek photos
- Write inspiring stories from your journeys
- Interactive feed with likes and comments
- Comprehensive profile customization
- Showcase your trekking experience and skills
- Manage your travel wishlist and history
- Privacy controls and account management
- Framework: Next.js 15.3 with App Router
- Language: TypeScript 5.8
- Styling: Tailwind CSS 3.4 + ShadCN UI
- Animations: Framer Motion 12.18
- Icons: Lucide React
- Authentication: Firebase Auth
- Database: Firebase Realtime Database + MongoDB
- AI/ML: Google Genkit with Gemma 3 4B
- External APIs: Pexels, YouTube Data API v3
- Build Tool: Turbopack
- Linting: ESLint with Next.js config
- Type Checking: TypeScript strict mode
- Package Manager: npm/yarn
- Node.js 18.0.0 or later
- npm 9.0.0 or later (or yarn 1.22.0+)
- Git for version control
-
Clone the repository
git clone https://github.com/XploitMonk0x01/TrekConnect.git cd TrekConnect -
Install dependencies
npm install # or yarn install -
Environment Setup
# Copy the example environment file cp .env.example .env.local # Edit the .env.local file with your API keys
-
Start the development servers
Option A: Automatic (Recommended)
- Open the project in VS Code
- Development and AI servers will start automatically
Option B: Manual
# Terminal 1: Next.js development server npm run dev # Terminal 2: Genkit AI server (new terminal) npm run genkit:dev
-
Access the application
- Main app: http://localhost:9002
- Genkit UI: Check terminal output for Genkit URL
TrekConnect/
├── 📂 src/
│ ├── 📂 app/ # Next.js App Router pages
│ │ ├── 📂 admin/ # Admin dashboard for destinations
│ │ ├── 📂 auth/ # Authentication pages
│ │ ├── 📂 chat/ # Real-time chat interface
│ │ ├── 📂 connect/ # User matching (ConnectSphere)
│ │ ├── 📂 explore/ # Destination discovery
│ │ ├── 📂 feed/ # Social feed
│ │ ├── 📂 profile/ # User profiles
│ │ └── 📂 api/ # API routes
│ ├── 📂 components/ # Reusable React components
│ │ ├── 📂 ui/ # ShadCN UI components
│ │ └── 📂 layout/ # Layout components
│ ├── 📂 contexts/ # React Context providers
│ ├── 📂 ai/ # Genkit AI flows and functions
│ ├── 📂 lib/ # Core utilities and configuration
│ ├── 📂 services/ # External API integrations
│ └── 📂 hooks/ # Custom React hooks
├── 📂 public/ # Static assets
└── 📂 .vscode/ # VS Code configuration
| Command | Description |
|---|---|
npm run dev |
Start development server with Turbopack |
npm run genkit:dev |
Start Genkit AI development server |
npm run genkit:watch |
Start Genkit with file watching |
npm run build |
Build production application |
npm run start |
Start production server |
npm run lint |
Run ESLint |
npm run typecheck |
Run TypeScript type checking |
Create a .env.local file in the root directory:
# Firebase Configuration
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_DATABASE_URL=your_database_url
# MongoDB
MONGODB_URI=your_mongodb_connection_string
# Google AI API (Gemma 3 4B)
GEMINI_API_KEY=your_google_api_key
GOOGLE_API_KEY=your_google_api_key
# Admin Authentication
ADMIN_USERNAME=your_admin_username
ADMIN_PASSWORD=your_admin_password
ADMIN_JWT_SECRET=your_jwt_secret
# External APIs
PEXELS_API_KEY=your_pexels_key
YOUTUBE_API_KEY=your_youtube_keyTrekConnect leverages Google's Genkit framework with Gemma 3 4B for powerful AI capabilities:
- Destination Recommendations: Personalized trek suggestions based on preferences
- Route Planning: Custom trek routes generated using AI
- Content Filtering: AI-powered search and destination filtering
- Travel Suggestions: Smart recommendations based on user history and preferences
- Mobile First: Optimized for mobile devices
- Tablet Support: Enhanced experience on tablets
- Desktop: Full-featured desktop interface
- Large Screens: Specialized layouts for large displays
- Firebase Authentication: Secure user authentication
- Protected Routes: Route-level access control
- Input Validation: Comprehensive form validation
- XSS Protection: Built-in security measures
- Push your code to GitHub
- Connect your repository to Vercel
- Configure environment variables
- Deploy automatically
npm run build
firebase deployWe welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Run tests:
npm run typecheck && npm run lint - Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js Team for the amazing framework
- Firebase for backend services
- Google Genkit for AI capabilities
- ShadCN UI for beautiful components
- Pexels for high-quality images
- 📧 Email: support@trekconnect.com
- 💬 Discord: Join our community
- 🐛 Issues: GitHub Issues
Made with ❤️ by the TrekConnect Team
Happy Trekking! 🏔️