View Screenshots · Report Bug · Request Feature
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.
- Backend developer: Trần Quang Huy
- Frontend developer: Phạm Lê Thành
- Development time: March 2024 - June 2024
Follow the instructions here to set up the backend server.
For setting up the admin dashboard, please refer to this guide.
- Clone the repository:
git clone https://github.com/thanhkowibu/DB-Lab-20232
- Navigate to the project directory:
cd airbnb-client
- Install dependencies:
npm install
- Start the localhost:
npm run dev
- Account Creation: Users can create accounts with a secure transaction procedure and email verification using a token.
- CRUD Operations: Users can perform basic CRUD operations on their accounts.
- View other profiles: Users can browse for other users' profile in the platform
- User Reporting: Users can report other users for violations.
- Host Requests: Users can request to become a host by submitting a request to the admin.
- Admin Controls: Admins can ban users, set user permissions, and view growth reports of new users by month/year.
- Browse Properties: Users can view a list of properties and see detailed information about each one.
- Map View: Users can view properties on a map for easy location-based searching.
- Property Filters: Users can filter properties by different criteria to find exactly what they're looking for.
- Favorites: Users can favorite/unfavorite properties and view their list of favorite properties.
- Property CRUD: Hosts can create new properties and perform basic CRUD operations on them.
- Booking: Users can make reservations for properties.
- Booking History: Users can view all their bookings, see detailed statuses, and check logs.
- Cancellation: Users can cancel bookings.
- Reviews: After checking out, users can leave reviews for properties they've stayed in.
- 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.
- Booking Oversight: Admins can view all bookings.
- Revenue Reports: Admins can view overall revenue growth reports based on bookings.
- 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.
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.
If you find this project interesting, please leave a star on the repo!