Overview:
MyChef is an innovative application designed to assist users in deciding what meal to make using ingredients they have at home. By simply inputting the available ingredients, users can access a variety of delicious plant-based recipes sourced from top recipe websites. The application is structured with an API developed using FastAPI for fast and intuitive support, a frontend constructed with Nuxt.js, a scraper utilizing Scrapy for data extraction, and MeiliSearch integration for efficient recipe filtering based on ingredient input.
Features:
- Ingredient-based Recipe Suggestions: Allows users to input ingredients they have on hand and receive recipe suggestions.
- FastAPI Backend: Utilizes FastAPI for efficient asynchronous support and a simple, intuitive interface.
- Nuxt.js Frontend: Frontend developed on Nuxt.js, offering server-side rendering capabilities for enhanced performance.
- Scrapy Scraper: Employs Scrapy framework to extract recipe data from various websites accurately.
Installation:
To install MyChef, ensure you have Docker and docker-compose installed on your system. Follow these steps:
- Clone the repository:
git clone <repository-url>
- Navigate to the project directory:
cd MyChef
- Build the images and start the containers:
docker-compose up --build
Summary:
MyChef is a feature-rich application that simplifies the process of deciding what to cook by providing plant-based recipe suggestions based on the ingredients available at home. With its efficient FastAPI backend, Nuxt.js frontend, and Scrapy scraper, MyChef offers a seamless user experience for discovering and trying out new recipes.