JourneyMate

JourneyMate is a premium, full-stack MERN web application designed to redefine how modern travelers discover destinations, plan custom trips, track vacation budgets, and collaborate with local guides or travel agencies. It features a stunning, glassmorphic Light Theme UI with professional transitions, secure role-based routes, and responsive mobile-first views.

Travel Planner Img 3
Travel Planner Img 1
Travel Planner Img 2
Travel Planner Img 4
Travel Planner Img 5
Travel Planner Img 6
  • AI Smart Itinerary Planner: Instantly designs customized, day-wise itineraries based on user destinations, budget, and durations.
  • Interactive Expense Tracker: Provides visual Recharts expense breakdowns to monitor lodging, food, and transport costs.
  • Agency Package Drawer: Offers a visual listing dashboard for travel guides to publish and configure custom vacation packages.
  • Real-Time Group Chat: Connects guides and travelers instantly via Socket.IO bi-directional communication channels.
  • Manifest & Booking Checkout: A seamless checkout interface to register passenger details and download automated invoices.
  • Executive Admin Directory: A command center for platform administrators to approve guide invites and moderate accounts
  • Dynamic Inventory Seat Controls: Automatically decrements available seats upon checkout and restores them if a booking is rejected.
  • Case-Insensitive Auth Interceptors: Standardizes lowercase emails on signup/login to prevent unique database conflict errors.
  • Role-Based Authorization Filters: Restricts and secures API router endpoints based on admin, traveler, or standard explorer credentials.
  • State-Driven Tab Synchronization: Re-renders dashboard components and fetches fresh API payloads dynamically upon URL parameter updates.
  • Resilient Fault-Tolerant Loaders: Executes backend database queries in parallel using independent error-handling pipelines.
  • Automatic Notification Broadcasts: Generates real-time Mongo documents to notify travelers about booking status updates.
  • Frontend
    • React
    • React Router
    • Recharts
    • Tailwind CSS
  • Backend
    • Node.js
    • Express.js
  • Database
    • MongoDB
    • Mongoose
  • Authentication & Security
    • JWT Authentication
    • bcrypt.js
  • Real-time Engine
    • Socket.IO
  • Eliminates App Fragmentation: Historically, travelers must use separate apps to discover packages, plan itineraries using ChatGPT, track budgets in Excel, and chat with guides on WhatsApp. JourneyMate unites these features into a single, cohesive dashboard.
  • Empowers Small Businesses & Local Guides: JourneyMate provides boutique local travel agencies and individual guides with enterprise-grade business tools—allowing them to easily list tour packages, handle passenger manifests, and monitor real-time revenue without high commission fees.
  • Stress-Free Travel Planning: The custom AI planner removes the friction of travel research, producing a comprehensive day-by-day itinerary with budget breakdowns in seconds.
  • Automatic Inventory and Safeguards: Built-in mechanisms prevent overbooking by dynamically locking seats when checkout starts and returning seats to inventory upon booking cancellation or rejection.
  • You can view the full details and copy the markdown content directly from project_overview.md to use in your project presentations, reports, or portfolio! Let me know if you would like me to help write any specific sections of your project report.
  1. Environment Variables Setup:
    • backend/.env
      • PORT: 3000
      • MONGO_URI: mongodb_url_string
      • JWT_SECRET: your_jwt_secret_key_here (if needed)
    • frontend/.env
      • VITE_API_URL: backend_url
  2. Deployment Overview:
    • Render or Railway for backend hosting
    • Vercel or Netlify for frontend hosting
    • MongoDB Atlas for the database
  3. Backend Deployment:
    • Push your code to GitHub.
    • Go to Render.com or Railway.app.
    • Create a new Web Service and connect your GitHub repository.
    • Choose “backend/” as the root directory.
    • Add the following environment variables on Render:
    • PORT=10000
    • MONGO_URI=your MongoDB Atlas URI
    • JWT_SECRET=your JWT secret
    • Start command: npm start (Ensure your backend/package.json includes “start”: “node server.js”)
    • After deployment, note your backend URL, e.g. https://your-backend-name.onrender.com
  4. Frontend Deployment:
    • Go to Vercel.com or Netlify.com.
    • Create a new project and connect the GitHub repo.
    • Select the “frontend/” folder as root.
    • In environment variables, set:
    • VITE_API_URL=https://your-backend-domain.com/api (or REACT_APP_API_URL if using CRA)
    • Deploy.
  5. MongoDB Atlas Setup:
    • Go to https://cloud.mongodb.com
    • Create a free cluster.
    • Add your current IP address in Network Access.
    • Create a database user and password.
    • Copy the connection string and replace username, password, and database name in MONGO_URI in backend/.env

Note: This project is for educational purposes only. Not for commercial sale.