Skip to content

QuickStay: A complete hotel booking application featuring user authentication, payments, and reservation management.

Notifications You must be signed in to change notification settings

shubhamkumar9199/QuickStay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

QuickStay 🏨

React Vite Express.js MongoDB License

A modern MERN stack hotel booking application that combines robust functionality with a sleek, user-friendly interface.

✨ Features

🔐 User Authentication

  • Secure sign-up and sign-in functionality
  • Powered by Clerk authentication
  • Protected routes and user sessions

🏨 Hotel Management

  • Comprehensive hotel listings
  • Advanced search and filtering
  • Detailed hotel information pages

📅 Booking System

  • Real-time availability checking
  • Seamless reservation process
  • Booking history and management

💳 Payments & Notifications

  • Secure payment processing via Stripe
  • Automated email confirmations through Brevo
  • Booking status notifications

🛠️ Tech Stack

Frontend

  • Framework: React.js
  • Build Tool: Vite
  • Styling: Tailwind CSS
  • HTTP Client: Axios
  • Auth: @clerk/clerk-react

Backend

  • Runtime: Node.js
  • Framework: Express.js
  • Database: MongoDB with Mongoose
  • File Storage: Cloudinary
  • Webhook Handler: Svix

Services

🚀 Getting Started

Prerequisites

  1. Install Node.js from official website
  2. Set up accounts with:

Installation

1️⃣ Server Setup

  1. Navigate to server directory and install dependencies:
    cd server
    npm install
  2. Configure environment variables in .env:
    MONGODB_URI=your_mongodb_uri
    CLOUDINARY_CLOUD_NAME=your_cloud_name
    CLOUDINARY_API_KEY=your_api_key
    CLOUDINARY_API_SECRET=your_api_secret
    CLERK_SECRET_KEY=your_clerk_key
    CLERK_WEBHOOK_SECRET=your_webhook_secret
    STRIPE_SECRET_KEY=your_stripe_key
    STRIPE_WEBHOOK_SECRET=your_webhook_secret
    SMTP_USER=your_brevo_user
    SMTP_PASS=your_brevo_pass
  3. Start the server:
    npm run server

2️⃣ Client Setup

  1. Navigate to client directory and install dependencies:
    cd client
    npm install
  2. Create .env.local with required variables:
    VITE_BACKEND_URL=your_backend_url
    VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
    VITE_CURRENCY=$
  3. Run development server:
    npm run dev

💬 Support

Need help? Open an issue in this repository or reach out through:

📄 License

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

About

QuickStay: A complete hotel booking application featuring user authentication, payments, and reservation management.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages