Jiteshiyu/TasteTide
TasteTide is a React-based recipe search app using the Forkify API, allowing users to find recipes by ingredients and save their favorites for easy access using a responsive design.
TasteTide
TasteTide is a recipe search app that allows users to search for recipes and save their favorite ones.
Table of Contents
- Demo
- Features
- Technologies Used
- Getting Started
- Available Scripts
- How It Works
- Future Improvements
- Challenges and Learnings
Demo
You can view a live demo of the project Tastetide.
Features
- Search for recipes by ingredients.
- Save favorite recipes for easy access.
- View detailed information about each recipe.
- Responsive design for optimal viewing on various devices.
Technologies Used
- React (for building the UI)
- Context API (for state management)
- Tailwind CSS (for styling)
- Forkify API (for fetching recipe data)
Getting Started
Follow these steps to run the project locally:
Prerequisites
Ensure that Node.js and npm are installed on your machine. If not, you can download them from here.
Installation
-
Clone the repository:
git clone https://github.com/Jiteshiyu/TasteTide.git cd TasteTide -
Install the dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:3000to see the app in action.
Available Scripts
npm run dev: Start the development server.npm run build: Build the app for production.npm run preview: Preview the production build locally.
How It Works
The TasteTide app uses an external API to fetch and display recipe data.
- Fetching Recipe Data: The app send a GET request to the Forkify API, retrieving data such as recipe names, ingredients, and images.
- Favorite Functionality: Users can add recipes to their favorites and view them on a separate page.
- Displaying Data: The app shows a list of recipes based on the user's search query and allows for detailed views of each recipe.
- Search Feature: Users can input ingredients to search for corresponding recipes.
Future Improvements
- Add user authentication for personalized experiences.
- Implement a more advanced search functionality (e.g., by dietary restrictions).
- Improve the user interface with additional animations and graphics.
- Add error handling for failed API requests.
Challenges and Learnings
- API Integration: Integrating the Forkify API presented challenges in handling asynchronous requests and state management.
- State Management: Utilizing the Context API for global state management helped streamline data flow throughout the app.
- Responsive Design: Ensuring a responsive layout across devices required careful use of Tailwind CSS utilities.
Support
If you liked the project, give it a ๐ on the repo!
Connect with me: