Skip to content

Short-term rental platform website that lets user search and book rooms around the world using React Typescript & Java Spring

Notifications You must be signed in to change notification settings

thanhkowibu/DB-Lab-20232

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Airbnb - Hotel Rental Website

View Screenshots · Report Bug · Request Feature

Overview

This is a fully functional website built with React TypeScript for the frontend and Java Spring for the backend.

This platform allows users to browse, book, and manage hotel reservations around the world, enhancing user experience through efficient property and booking management.

Team Members

  • Backend developer: Trần Quang Huy
  • Frontend developer: Phạm Lê Thành
  • Development time: March 2024 - June 2024

(back to top)

Installation

Backend

Follow the instructions here to set up the backend server.

Admin Dashboard

For setting up the admin dashboard, please refer to this guide.

Frontend

  1. Clone the repository:
    git clone https://github.com/thanhkowibu/DB-Lab-20232
  2. Navigate to the project directory:
    cd airbnb-client
  3. Install dependencies:
    npm install
  4. Start the localhost:
    npm run dev

(back to top)

Features

User Management

  • Account Creation: Users can create accounts with a secure transaction procedure and email verification using a token.

Login

  • CRUD Operations: Users can perform basic CRUD operations on their accounts.

UserUpdate

  • View other profiles: Users can browse for other users' profile in the platform

UserProfile

  • User Reporting: Users can report other users for violations.

UserReport

  • Host Requests: Users can request to become a host by submitting a request to the admin.

RequestHost

  • Admin Controls: Admins can ban users, set user permissions, and view growth reports of new users by month/year.

BanUser

Property Management

  • Browse Properties: Users can view a list of properties and see detailed information about each one.

PropertyList

PropertyDetail

  • Map View: Users can view properties on a map for easy location-based searching.

MapView

  • Property Filters: Users can filter properties by different criteria to find exactly what they're looking for.

Filter1

Filter2

  • Favorites: Users can favorite/unfavorite properties and view their list of favorite properties.

Favourite

  • Property CRUD: Hosts can create new properties and perform basic CRUD operations on them.

PropertyCreate

PropertyUpdate

Booking Management

User Side

  • Booking: Users can make reservations for properties.

BookingCreate

  • Booking History: Users can view all their bookings, see detailed statuses, and check logs.

BookingHistory

BookingDetail

  • Cancellation: Users can cancel bookings.

BookingDelete

  • Reviews: After checking out, users can leave reviews for properties they've stayed in.

ReviewCreate

Host Side

  • View Bookings: Hosts can view all bookings and check logs for their properties.
  • Manage Bookings: Hosts can confirm or decline bookings, and mark them as checked out or no-show.

ReserveUpdate

Admin Side

  • Booking Oversight: Admins can view all bookings.
  • Revenue Reports: Admins can view overall revenue growth reports based on bookings.

(back to top)

Technical Highlights

  • Frontend: Built with React, TypeScript, and Vite, featuring a component-based architecture for reusability and maintainability.
  • Backend: Built with Java Spring, ensuring robust server-side performance and scalability.
  • API Integration: Utilizes RESTful APIs for efficient communication between frontend and backend.
  • Friendly and Interactive UI/UX: Using Framer Motion and Shadcn UI library to create visually stunning components with dynamic animations that enhance user interaction.
  • Responsive Design: Optimized for mobile and desktop, providing a seamless experience across all devices.

(back to top)

Contributing

Contributions are welcome! Please fork the repository and create a pull request with your changes.

If you have any questions, feel free to contact me at my email thanhphamleuruha@gmail.com.

(back to top)

Like this project?

If you find this project interesting, please leave a star on the repo!

(back to top)

About

Short-term rental platform website that lets user search and book rooms around the world using React Typescript & Java Spring

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published