Back to Projects
Full Stack Web Application

Traveler - Tour Management System

A full-stack tour booking platform for travelers, guides & admins

Traveler - Tour Management System project preview

Project Overview

Traveler is a full-stack tour management platform built with React + TypeScript on the frontend and Node.js + Express + MongoDB on the backend. It supports three distinct user roles — Traveler, Tour Guide, and Admin — each with a dedicated dashboard. The system features JWT-based authentication (email/password and Google OAuth via Passport.js), tour browsing with filters, a booking workflow, payment tracking with PDF invoice generation, a review and rating system, and email notifications. The backend uses Redis for caching, Cloudinary for image storage, and is deployed on Vercel.

Key Features

18 total

JWT-based authentication with access & refresh tokens stored in cookies,

Google OAuth 2.0 login via Passport.js,

Role-based access control: Traveler, Guide, and Admin,

OTP verification for sensitive operations and password reset flow,

Tour browsing with category, type, and division-based filters,

Slug-based SEO-friendly tour URLs,

Wishlist/favorites system for saving tours,

Secure booking creation with status tracking (Pending, Confirmed, Cancelled),

Payment processing with PDF invoice generation via PDFKit,

Review and star rating system per tour,

Email notifications for booking confirmations and guide application status,

Guide dashboard: manage tours, track earnings, view bookings,

Admin dashboard: user management, tour approval, platform analytics,

Interactive maps with Leaflet and data charts with Recharts,

Fully responsive UI with dark mode support,

Redis caching for performance optimization,

Cloudinary integration for image uploads,

Route-based code splitting and lazy loading on the frontend,