The frontend repository of the Ingrito-food project is responsible for providing the user interface for the web-based virtual recipe book. This documentation will guide you through the front-end application's setup, usage, and features. The backend part is available here https://github.com/louremipsum/ingritofood-backend
https://www.youtube.com/watch?v=mDNPhIIc8yM
To run the frontend project locally, follow these steps:
- Clone the frontend repository from GitHub.
- Install the necessary dependencies using npm or yarn.
- Start the development server.
- Access the application in your web browser.
The frontend application offers the following features:
- Ingredient Input: Users can input and append the ingredients they have on hand.
- Fuzzy Search: A fuzzy search functionality helps users select ingredients from a long list more easily.
- Recipe Filtering: The application parses through thousands of recipes and filters out the ones that can be cooked with the available ingredients.
- Recipe Display: Filtered recipes are displayed in a grid format, showing basic information about each recipe.
- Recipe Details: Users can select a recipe from the grid to view the full recipe details, including ingredients and concise cooking instructions.
- Launch the Ingrito-food application in your web browser.
- Enter the ingredients you have on hand, either by typing them or using the drop-down menu.
- Click the "Get Recipes" button to retrieve the recipes that can be made with the entered ingredients.
- View the filtered recipes displayed in the grid format.
- Click on a recipe to access its full details, including ingredients and cooking instructions.
The front end communicates with the backend to retrieve recipe data. It makes API requests to the backend server, which interacts with the Spoonacular API to fetch recipe information based on the entered ingredients. The front end uses Axios, a promise-based HTTP client, to handle the API requests.
There are several potential improvements for the front:
- Enhance User Interface: Improve the overall design and user experience of the application.
- Additional API Integration: Integrate more APIs to provide additional recipe information, such as health scores and beverage pairings. Error Handling: Implement better error handling mechanisms to provide helpful feedback to users in case of errors.