Skip to content

Soumit-Das/Airbnb_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Homestead Horizon Accommodation Booking System

Introduction

This project is a web application similar to Airbnb, where users can book affordable accommodations when traveling to different places.

Project Type

Fullstack

Deployed App

Not yet deployed.

Directory Structure

perl Copy code my-app/ ├─ backend/ ├─ frontend/ │ ├─ ... markdown Copy code

Video Walkthrough of the project

To be added.

Video Walkthrough of the codebase

To be added.

Features

  • Login as guest or host
  • Filter properties by location and number of guests
  • Pagination
  • CRUD operations on properties by admin and hosts
  • Displaying booking history

Design Decisions or Assumptions

The design is inspired by the real Airbnb website;.

Installation & Getting Started

This is a Spring Boot project with a MySQL database. Follow the instructions below to set it up:

  1. Clone the repository.
  2. Navigate to the backend directory and run mvn spring-boot:run.
  3. Open MySQL and import the provided schema.
  4. Navigate to the frontend directory and open index.html in your web browser.

Usage

To be added.

Credentials

To be added.

APIs Used

None.

API Endpoints

  1. GET /host/createHost - Create a host.
  2. GET /host/getHostById/1 - Get host by ID.
  3. GET /host/getHostByName/Lewis Hamilton - Get host by name.
  4. GET /host/getAllHost - Retrieves all hosts.
  5. GET /host/getPropertyByHostId/{id} : Retrieves properties belonging to a host by host ID.
  6. POST /host/updateHostById/{id} : Updates a host by ID.
  7. POST /property/createProperty?hostId={hostId} : Creates a new property associated with a host.
  8. GET /property/getPropertById/{id} : Retrieves a property by ID.
  9. GET /property/getAllProperties : Retrieves all properties.
  10. POST /property/updatePropertyById/{id} : Updates a property by ID.
  11. DELETE /property/deletePropertyById/{id} : Deletes a property by ID.
  12. GET /property/getPropertyByName/{name} : Retrieves a property by name.
  13. GET /property/getPropertiesByLocationAndNumberofGuest/{location}/{numberOfGuest}/{pageNumber}?NumberofRecords={records} : Retrieves properties by location, number of guests, and page number.
  14. GET /property/searchByPriceRangeAndType/{type}/{minPrice}/{maxPrice} : Searches for properties by price range and type.
  15. GET /property/getSortedPropertyTypeListPageWise/{type}/{order}/{orderBy}/{pageNumber}?NumberofRecords={records} : Retrieves sorted properties by type, order, and page number.
  16. POST /guest/createGuest : Creates a new guest.
  17. GET /guest/getGuestById/{id} : Retrieves a guest by ID.
  18. GET /guest/getAllGuest : Retrieves all guests.
  19. POST /guest/updateGuestById/{id} : Updates a guest by ID.
  20. DELETE /guest/deleteGuestById/{id} : Deletes a guest by ID.
  21. POST /booking/addBooking?guestId={guestId}&propertyId={propertyId} : Adds a booking for a guest for a specific property.
  22. GET /booking/getBookingByLocation/{location} : Retrieves bookings by location.
  23. GET /booking/getAllBookings : Retrieves all bookings.
  24. GET /booking/getBookingsHistoryByGuestId/{guestId} : Retrieves booking history for a guest by ID.
  25. DELETE /booking/deleteBooking/{id} : Deletes a booking by ID.

Technology Stack

  • Spring Boot
  • MySQL
  • HTML
  • CSS
  • JavaScript

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published