Welcome to VistaStay! 🌍✨ Your one-stop destination for seamless hotel booking with AI-powered search, secure payments, and advanced filters. 🏡💳
🌐 Live Demo: VistaStay Web App
VistaStay is a MERN stack hotel booking platform designed for smooth and secure reservations. It offers AI-enhanced search, flexible filtering options, date-based booking, and Stripe-powered payments.
✅ AI-Powered Search - Smart search powered by OpenAI
✅ Advanced Filters - Filter hotels by location, price (ascending/descending), amenities
✅ Hotel Details - View hotel cards with detailed descriptions and images
✅ Date-Based Booking - Select check-in & check-out dates, auto-calculating total nights
✅ Secure Payment Gateway - Powered by Stripe for safe online transactions
✅ User Authentication & Authorization - Powered by Clerk
✅ State Management - Redux Toolkit for smooth global state handling
✅ Account Page - View and manage personal booking history and account details
- React.js - UI development
- Redux Toolkit - State management
- Clerk Authentication - Secure login system
- Tailwind CSS - Modern UI styling
- Node.js & Express.js - Backend API
- MongoDB Atlas - Cloud database
- JWT & Clerk - Authentication & authorization
- Stripe API - Secure online payments
- OpenAI API - AI-powered search
- Stripe Payment Gateway - Secure checkout process
git clone https://github.com/your-username/VistaStay.git
cd VistaStaycd Backend
npm install
npm startcd Frontend
npm install
npm run dev- Secure user authentication via Clerk API
- JWT-based authorization for protected routes
- User roles - Admin, Hotel Owner, Customer
Used for global state handling across the app.
- User Authentication State
- Hotel List & Filters State
- Booking State
- Payment Process State
- User selects a hotel
- Chooses check-in & check-out dates
- Stripe handles secure payment processing
- User receives a confirmation email
POST /api/paymentGET /api/hotels- Get all hotelsGET /api/hotels/:id- Get a single hotelPOST /api/hotels- Add a new hotelPUT /api/hotels/:id- Update hotel detailsDELETE /api/hotels/:id- Remove a hotel
POST /api/bookings- Create a new bookingGET /api/bookings/:userId- Get all bookings for a user
POST /api/auth/register- Register a new userPOST /api/auth/login- Login userGET /api/auth/me- Get user details
POST /api/payment- Process payment via Stripe
📧 Email: [email protected]