Skip to content

Asif-102/hotel-booking

Repository files navigation

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open 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.

Hotel Booking Application

Overview

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.


Features

Authentication

  • User registration and login with Email/Password and Google Social Login.
  • Access Token and Refresh Token for secure and seamless user sessions.

Property Listings

  • 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.

Property Details

  • 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.

Booking and Payment

  • 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.

Property Management

  • 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.