This project is a web application similar to Airbnb, where users can book affordable accommodations when traveling to different places.
Fullstack
Not yet deployed.
perl Copy code my-app/ ├─ backend/ ├─ frontend/ │ ├─ ... markdown Copy code
To be added.
To be added.
- 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
The design is inspired by the real Airbnb website;.
This is a Spring Boot project with a MySQL database. Follow the instructions below to set it up:
- Clone the repository.
- Navigate to the
backend
directory and runmvn spring-boot:run
. - Open MySQL and import the provided schema.
- Navigate to the
frontend
directory and openindex.html
in your web browser.
To be added.
To be added.
None.
GET /host/createHost
- Create a host.GET /host/getHostById/1
- Get host by ID.GET /host/getHostByName/Lewis Hamilton
- Get host by name.GET /host/getAllHost
- Retrieves all hosts.GET /host/getPropertyByHostId/{id}
: Retrieves properties belonging to a host by host ID.POST /host/updateHostById/{id}
: Updates a host by ID.POST /property/createProperty?hostId={hostId}
: Creates a new property associated with a host.GET /property/getPropertById/{id}
: Retrieves a property by ID.GET /property/getAllProperties
: Retrieves all properties.POST /property/updatePropertyById/{id}
: Updates a property by ID.DELETE /property/deletePropertyById/{id}
: Deletes a property by ID.GET /property/getPropertyByName/{name}
: Retrieves a property by name.GET /property/getPropertiesByLocationAndNumberofGuest/{location}/{numberOfGuest}/{pageNumber}?NumberofRecords={records}
: Retrieves properties by location, number of guests, and page number.GET /property/searchByPriceRangeAndType/{type}/{minPrice}/{maxPrice}
: Searches for properties by price range and type.GET /property/getSortedPropertyTypeListPageWise/{type}/{order}/{orderBy}/{pageNumber}?NumberofRecords={records}
: Retrieves sorted properties by type, order, and page number.POST /guest/createGuest
: Creates a new guest.GET /guest/getGuestById/{id}
: Retrieves a guest by ID.GET /guest/getAllGuest
: Retrieves all guests.POST /guest/updateGuestById/{id}
: Updates a guest by ID.DELETE /guest/deleteGuestById/{id}
: Deletes a guest by ID.POST /booking/addBooking?guestId={guestId}&propertyId={propertyId}
: Adds a booking for a guest for a specific property.GET /booking/getBookingByLocation/{location}
: Retrieves bookings by location.GET /booking/getAllBookings
: Retrieves all bookings.GET /booking/getBookingsHistoryByGuestId/{guestId}
: Retrieves booking history for a guest by ID.DELETE /booking/deleteBooking/{id}
: Deletes a booking by ID.
- Spring Boot
- MySQL
- HTML
- CSS
- JavaScript