A modern MERN stack hotel booking application that combines robust functionality with a sleek, user-friendly interface.
- Secure sign-up and sign-in functionality
- Powered by Clerk authentication
- Protected routes and user sessions
- Comprehensive hotel listings
- Advanced search and filtering
- Detailed hotel information pages
- Real-time availability checking
- Seamless reservation process
- Booking history and management
- Secure payment processing via Stripe
- Automated email confirmations through Brevo
- Booking status notifications
- Framework: React.js
- Build Tool: Vite
- Styling: Tailwind CSS
- HTTP Client: Axios
- Auth: @clerk/clerk-react
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB with Mongoose
- File Storage: Cloudinary
- Webhook Handler: Svix
- Authentication: Clerk
- Payments: Stripe
- Storage: Cloudinary
- Email: Brevo
- Deployment: Vercel
- Install Node.js from official website
- Set up accounts with:
- Navigate to server directory and install dependencies:
cd server npm install - 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
- Start the server:
npm run server
- Navigate to client directory and install dependencies:
cd client npm install - Create
.env.localwith required variables:VITE_BACKEND_URL=your_backend_url VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key VITE_CURRENCY=$
- Run development server:
npm run dev
Need help? Open an issue in this repository or reach out through:
This project is licensed under the MIT License - see the LICENSE file for details.