This project is an Airbnb clone built with React, Redux, and Supabase, designed to mimic core features of the Airbnb platform. Users can search for listings, log in/log out, save favourite listings, book trips, and view listings with infinite scroll. The app also supports Google Sign-In for authentication and is highly responsive, providing a seamless experience across devices.
- User Authentication: Google Sign-In via Supabase.
- Search Functionality: Filter listings by city.
- Listings: View available listings with infinite scroll.
- Favorite Listings: Save and view favorite properties.
- Bookings: Book trips directly within the app.
- Responsive Design: Fully responsive for mobile and desktop.
- Data Management: Efficient state management using Redux.
- Real-Time Sync: State synchronization across tabs using
redux-state-sync
.
-
Frontend:
- React
- React Router DOM
- Redux & Redux Toolkit
- TanStack Query (React Query)
- CSS/Styled Components (Tailwind)
- React Hot Toast (for notifications)
-
Backend:
- Supabase (PostgreSQL database and authentication)
- Google Sign-In (OAuth)
-
Others:
- Stripe (for handling payments)
- Jest (for testing)
- ESlint & Prettier (for code quality)
- Node.js (>= 14.x.x)
- npm
-
Clone the repository:
git clone https://github.com/Rajat1120/airbnb-clone.git
-
Navigate to the project directory:
cd airbnb-clone
-
Install the dependencies:
npm install
-
Start the development server:
npm start
The app will be available at
http://localhost:3000
.
- The search functionality may not always return accurate results.
Feel free to open issues and submit pull requests to improve the project!
- Fork the repository.
- Create a new feature branch.
- Make your changes.
- Submit a pull request.
If you find this project helpful, please give it a ⭐️ on GitHub! Your support is appreciated.