Welcome to Share and Savor, a comprehensive platform dedicated to sharing food among people. Our aim is to create a community where individuals can connect and share their culinary creations with others.
You can visit our live site at Share and Savor.
To run the website locally, follow these steps:
-
Clone the repository:
git clone https://github.com/zahidtdx61/Share-and-Savor-Frontend.git
-
Navigate to the project directory:
cd Share-and-Savor-Frontend
-
Install dependencies:
npm install
-
Make an .env file and add these credentials:
VITE_apiKey=<get_this_from_firebase> VITE_authDomain=<get_this_from_firebase> VITE_projectId=<get_this_from_firebase> VITE_storageBucket=<get_this_from_firebase> VITE_messagingSenderId=<get_this_from_firebase> VITE_appId=<get_this_from_firebase> VITE_API_URL=<add_you_backend_api_address>
-
Start the development server:
npm run dev
- Users can securely sign up using their email address or quickly sign in using their Google or GitHub accounts through
Firebase
integration. - Authentication is managed and verified by our backend services to ensure secure access to user-specific functionalities.
- Signed-in users have the ability to share their food creations with the community.
- Users can upload images, provide descriptions, and specify dietary preferences or restrictions for their shared dishes.
- Other users can browse and explore the shared food items, leave comments, and interact with the community.
- Users can browse and search for available food items shared by other users.
- They can view details such as images, descriptions, and dietary preferences or restrictions.
- This feature helps users find and connect with others who are willing to share their food.
- Signed-in users can update or delete their own shared food items.
- This allows users to make changes to their shared dishes or remove them if necessary.
- Users can request specific food items from other users.
- They can send a request to the owner of the food item, expressing their interest in receiving it.
- This feature facilitates communication and coordination between users for food sharing.
- React: Frontend development framework for building user interfaces.
- React Router: For declarative routing within the React application.
- React DOM: Enables rendering of React components in the DOM.
- @mui/joy: MUI's Joy component library.
- Firebase: Backend-as-a-Service platform for hosting and managing application data and authentication.
- Axios: HTTP client for making API requests.
- Tankstack Query: Library for managing state and data fetching in React applications.
@mui/joy
: MUI's Joy component library.react-router-dom
: Library for declarative routing within the React application.react-hook-form
: Library for building forms in React with easy form validation.@tanstack/react-query
: Library for managing state and data fetching in React applications.axios
: HTTP client for making API requests.swiper
: Modern touch slider library for building interactive carousels and sliders.react-datepicker
: Customizable date picker component for React.useAsyncEffect
: Custom hook for handling asynchronous effects in React components.lottie-react
: Used for rendering Lottie animations in React components.react-icons
: Library for popular icon packs as React components.react-helmet-async
: Library for managing document head contents in React applications.react-hot-toast
: Toast notifications library for React applications.react-tooltip
: Library for creating tooltips in React components.prop-types
: Runtime type checking for React props and similar objects.eslint
: Pluggable JavaScript linter.tailwindcss
: Utility-first CSS framework.postcss
: Tool for transforming CSS with JavaScript.autoprefixer
: PostCSS plugin to parse CSS and add vendor prefixes.vite
: Next generation frontend tooling.
We welcome contributions from the community to enhance and improve Share and Savor.