This repository contains the code for "Wild Retreats," a full-stack React project. "Wild Retreats" is a web application that offers a comprehensive platform for managing cabins, bookings, and user profiles. This README provides an overview of the project's key features and the libraries used to create them.
"Wild retreats" is a web application that simplifies the management of cabins and bookings. It offers a user-friendly interface for users to browse available cabins, make bookings, and customize their user profiles.
To run this project locally, follow these steps:
- Clone this repository.
- Install the project's dependencies using
npm install
. - Set up your database using Supabase. You can refer to the section on database setup in the course content.
- Configure the project to connect to your Supabase instance.
- Start the development server using
npm start
.
"Wild Retreats" offers a wide range of features, including:
- Styled components
- Dark and Light mode
- Browse available cabins
- Create new cabins
- Edit existing cabins
- Delete cabins
- Apply client-side filtering and sorting
- Make new bookings
- Edit bookings
- Check-in and check-out functionality
- Apply client-side and API-side filtering, sorting, and pagination
- User login and signup
- User logout
- Password and profile updates
- Route protection
- Database security policies (RLS)
- Implement reusability using render props, higher-order components, and compound components.
- Building a reusable table, modal, and pagination component.
- Display statistics and charts
- Use the Recharts library to create line and pie charts
- Error boundaries for a smooth user experience
The project leverages several libraries to achieve its functionality, including:
- React - A JavaScript library for building user interfaces.
- Styled Components - CSS-in-JS library for styling components.
- React Query - A data-fetching library for React.
- React Hook Form - A library for managing form state and validation.
- Supabase - An open-source alternative to Firebase for building backend applications.
- Recharts - A charting library for React.
- Login Page
- Dashboard-Dark
- Dashboard-Light
- Bookings Page
- Cabins Page
- User Profile Page
Happy coding!