Forkify is a web application built using HTML, CSS, JavaScript, Sass, and Parcel bundler. It allows users to search for recipes, display them with pagination, view recipe details including cooking time, servings, and ingredients, change servings, bookmark recipes, upload their own recipes, and view only their own uploaded recipes.
-
Search Functionality:
- Includes an input field to send requests to the API with searched keywords.
-
Display Results with Pagination:
- Results are displayed with pagination for easier navigation.
-
Display Recipe Details:
- Shows cooking time, servings, and ingredients for each recipe.
-
Change Servings Functionality:
- Updates all ingredients according to the current number of servings.
-
Bookmarking Functionality:
- Allows users to bookmark recipes.
- Displays a list of all bookmarked recipes.
- User-uploaded recipes are automatically bookmarked.
-
User Recipe Upload:
- Users can upload their own recipes.
-
View Only User's Own Recipes:
- Users can only see their own uploaded recipes, not recipes from other users.
-
Local Storage:
- Stores bookmark data in the browser using local storage.
- On page load, reads saved bookmarks from local storage and displays them.
-
Architecture and Patterns:
- Follows the MVC (Model-View-Controller) architecture.
- Implements the publisher-subscriber pattern for better communication between components.
-
Optimizations:
- Implemented DOM update algorithm to optimize UI rendering.
- Clone the repository to your local machine.
- Install dependencies using
npm install
. - Start the development server using
npm start
. - Access the application in your browser at the provided URL.
- This project is built using the Forkify API for recipe data.
- Parcel bundler is used for project bundling and asset management.