Skip to content

Latest commit

Β 

History

History
172 lines (117 loc) Β· 5.66 KB

File metadata and controls

172 lines (117 loc) Β· 5.66 KB

 β–„β–€β–ˆ β–€β–„β–€ β–ˆ β–ˆβ–€
 β–ˆβ–€β–ˆ β–ˆβ–‘β–ˆ β–ˆ β–„β–ˆ

Axis Travel

A production-ready, full-stack luxury travel booking platform.

Next.js 16 Β· MongoDB Β· Razorpay Β· Groq AI Β· NextAuth v5


Next.js MongoDB Razorpay Groq License: MIT


View Demo


Axis is a high-end travel booking application built with Next.js 16 (App Router). It features AI-powered destination search via Groq, a Razorpay checkout with deposit support and loyalty miles, a real-time admin dashboard, and a bespoke glassmorphic UI β€” no component libraries, fully hand-crafted.


✦ Features

πŸ’Ž Premium User Experience
  • Glassmorphic Design System β€” bespoke CSS variables and cinematic animations with no utility-class clutter
  • Domestic / International Mode β€” site-wide toggle that instantly filters destinations, packages, and the lookbook gallery while transitioning hero sliders
  • Pinterest-Style Lookbook β€” masonry gallery with high-resolution photography and frosted-glass category filters
  • Interactive 3D Globe β€” spinning WebGL globe with projection-tracked floating HTML location labels
πŸ€– AI-Powered Exploration
  • Destination Search β€” Groq (Llama-3.3-70b) matches users with 4–6 curated destinations from a natural language query
  • Streaming Budget Planner β€” generates real-time itineraries and cost breakdowns directly in the browser
πŸ—ΊοΈ Interactive Map
  • Luxury Cartography β€” built on react-leaflet with Carto Voyager basemaps
  • Native Scroll Feel β€” custom DOM-level wheel interceptors for Mac trackpad pan and pinch-zoom
  • Smart Camera β€” clicking a destination card collapses the glass sidebar and smoothly flies to the map pin
πŸ’³ Payments & Booking
  • Flexible Checkout β€” pay in full upfront, or secure a booking with a 25% deposit
  • Pay Remaining Balance β€” dedicated portal flow to pay off the outstanding 75%
  • Axis Miles Loyalty β€” apply loyalty miles at checkout for real-time discounts
  • Post-Booking Invoice β€” detailed success page generates a full receipt
  • Automated Cancellations β€” cancel β‰₯48 hours before travel with an automated Razorpay refund
πŸ›‘οΈ Admin & Security
  • Real-Time Admin Portal β€” SWR-powered dashboard with revenue charts, role management, refund processing, and date-range filtering
  • Cryptographic Webhooks β€” Razorpay events verified via HMAC signatures with idempotency constraints to prevent duplicate processing
  • Rate Limiting β€” Upstash Redis guards registration and checkout endpoints against brute-force attacks

βš™οΈ Tech Stack

Category Technology
Framework Next.js 16.2 (App Router, Turbopack)
Database MongoDB Atlas (Mongoose 9)
Authentication NextAuth v5 β€” Google OAuth + Credentials
Payments Razorpay β€” Checkout JS + Webhooks
Styling Vanilla CSS + CSS Variables
AI Groq API (Llama 3.3-70b)
Validation Zod
Email Nodemailer (SMTP)
Rate Limiting Upstash Redis
Monitoring Vercel Analytics, Speed Insights, Sentry

πŸš€ Getting Started

1. Clone

git clone https://github.com/PremSahith/Axis.git
cd Axis

2. Install dependencies

npm install

3. Configure environment variables

Create .env.local in the project root. All required keys are typed in lib/env.ts.

# Database
MONGODB_URI=mongodb+srv://<user>:<password>@cluster...

# Auth
NEXTAUTH_SECRET=your_nextauth_secret
NEXTAUTH_URL=http://localhost:3000
AUTH_GOOGLE_ID=your_google_oauth_id
AUTH_GOOGLE_SECRET=your_google_oauth_secret

# Payments
RAZORPAY_KEY_ID=rzp_test_...
RAZORPAY_KEY_SECRET=your_razorpay_secret
RAZORPAY_WEBHOOK_SECRET=your_webhook_secret
NEXT_PUBLIC_RAZORPAY_KEY_ID=rzp_test_...

# AI
GROQ_API_KEY=gsk_...

4. Run

npm run dev

Open http://localhost:3000.


πŸ—οΈ Architecture Notes

MongoDB Connection Pooling β€” a global Mongoose cache prevents connection exhaustion in Vercel's serverless environment and is passed securely to the NextAuth MongoDBAdapter.

Incremental TypeScript β€” allowJs: true supports a gradual migration; core utilities and DB models (e.g. the IBooking interface) are already fully typed.

ISR at the Edge β€” heavy content pages (destinations, packages, lookbook) are statically generated at the edge with a 3600s revalidation window for fast loads and minimal DB hits.

Dynamic SEO β€” TouristDestination and Product JSON-LD schemas, plus dynamically generated OpenGraph tags for rich social sharing previews.


Designed and engineered to set a new standard in web-based travel booking.