This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.js. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Inter, a custom Google Font.
The Hotel Booking Application is a full-stack web application for managing property reservations, user authentication, and property reviews. Users can register, log in (including via Google), book properties, leave reviews, and manage their bookings. Property owners can create, edit, and manage listings with ease.
This project is built using modern web technologies, including Next.js, MongoDB, TailwindCSS, and Stripe for payments, ensuring a seamless and responsive user experience.
- User registration and login with Email/Password and Google Social Login.
- Access Token and Refresh Token for secure and seamless user sessions.
- Home page displays dynamic property cards with pagination.
- Each card shows:
- Property Name
- Address
- Cost per night
- Number of available rooms
- Property Image
- Average Rating
- Clicking a card navigates to the property details page.
- Full details include:
- Name, Address, 5 Images
- Hosted by Owner Info
- Ratings and Reviews
- Integrated calendar-based Check-In and Check-Out Date Picker.
- Reviews:
- Leave a review only if eligible (e.g., after booking).
- Delete your own reviews.
- Reserve properties with a dynamic form for dates and guest count.
- Payment Page:
- Displays selected booking details.
- Allows editing of dates and guest count with real-time price updates.
- Payment Success Page includes:
- Summary of reservation and payment.
- Downloadable PDF receipt.
- Automated email with the receipt.
- Create Hotel: Add new property listings.
- Manage Hotels: Edit or delete existing listings.
- Bookings: View and manage user bookings.
This application provides a seamless platform for both users and property owners, ensuring efficient booking and property management processes.