Skip to content

XploitMonk0x01/TrekConnect

Repository files navigation

TrekConnect πŸ”οΈ

Next.js TypeScript Firebase Tailwind CSS

A modern, AI-powered travel application connecting trekkers worldwide

Demo β€’ Documentation β€’ API Reference β€’ Contributing

✨ Features

πŸ—ΊοΈ Explore Destinations

  • 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

πŸ’« ConnectSphere

  • 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

πŸ’¬ Real-time Chat

  • 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

πŸ€– AI-Powered Features

  • 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

πŸ“Έ Photo & Story Feed

  • 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

πŸ‘€ User Profiles

  • Comprehensive profile customization
  • Showcase your trekking experience and skills
  • Manage your travel wishlist and history
  • Privacy controls and account management

πŸ› οΈ Tech Stack

Frontend

Backend & Services

Development

  • Build Tool: Turbopack
  • Linting: ESLint with Next.js config
  • Type Checking: TypeScript strict mode
  • Package Manager: npm/yarn

πŸš€ Quick Start

Prerequisites

  • Node.js 18.0.0 or later
  • npm 9.0.0 or later (or yarn 1.22.0+)
  • Git for version control

Installation

  1. Clone the repository

    git clone https://github.com/XploitMonk0x01/TrekConnect.git
    cd TrekConnect
  2. Install dependencies

    npm install
    # or
    yarn install
  3. Environment Setup

    # Copy the example environment file
    cp .env.example .env.local
    
    # Edit the .env.local file with your API keys
  4. 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
  5. Access the application

πŸ“ Project Structure

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

πŸ”§ Available Scripts

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

πŸ”‘ Environment Variables

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_key

πŸ€– AI Features

TrekConnect 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

πŸ“± Responsive Design

  • Mobile First: Optimized for mobile devices
  • Tablet Support: Enhanced experience on tablets
  • Desktop: Full-featured desktop interface
  • Large Screens: Specialized layouts for large displays

πŸ”’ Security Features

  • Firebase Authentication: Secure user authentication
  • Protected Routes: Route-level access control
  • Input Validation: Comprehensive form validation
  • XSS Protection: Built-in security measures

πŸš€ Deployment

Vercel (Recommended)

  1. Push your code to GitHub
  2. Connect your repository to Vercel
  3. Configure environment variables
  4. Deploy automatically

Firebase Hosting

npm run build
firebase deploy

πŸ“ Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Run tests: npm run typecheck && npm run lint
  5. Commit: git commit -m 'Add amazing feature'
  6. Push: git push origin feature/amazing-feature
  7. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“ž Support


Made with ❀️ by the TrekConnect Team

Happy Trekking! πŸ”οΈ

About

A modern, AI-powered travel application connecting trekkers worldwide.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages