CookBook is a platform to search for recipes that can be made using the available ingredients.
-
Easy: CookBook is a very user friendly website, where you can just enter the ingredients available and the platform will suggest various recipes that can be made using these ingredients.
-
Convenient: Apart from saving you from the dilemma of deciding what to cook, it is meant to make your cooking experience convenient by suggesting detailed step-by-step recipes.
-
Flexible: You can add as little or as many ingredients as you want.
With over recipes, there is something in the store for everyone !
| Backend Installation | Frontend Installation | Swagger | Examples | Why | Roadmap | Meet the Team | Support |
To set up the back end, do:
Make sure you are in the base folder.
In order to run the application server, run the following commands:
cd api
pip install -r requirements.txt
python -m uvicorn main:app --reloadRefer to the Swagger section for sample API calls.
In case you run into any issues running the above commands, some operating systems may require you to use python3 instead of python and pip3 instead of pip.
To set up the front end React app, do:
cd frontend
npm install
// if npm install fails, try this
npm install --legacy-peer-depsFollowing extensions have to be added to you VS Code editor:
- For Eslint: Install - dbaeumer.vscode-eslint
- For Prettier: Install - esbenp.prettier-vscode
- Update the settings.json of your VS Code editor to include these statements (you can add them to your existing ones):
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"eslint.alwaysShowStatus": true,
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}
}
- After you are done, the eslint and prettier code configs in the repo will get synced with your VS Code editor & you are all set with the code's auto code formatters and style & syntax checkers!
cd frontend
npm startOpen the swagger page here: Swagger
- This is the CookBook HomePage that should automatically open in a browser after executing the command: 'npm start'
- The user can use the search bar to enter the ingredients one by one, and then proceed by clicking the arrow on the right.
- The user would then be redirected to the page showing the recipe suggestions.
- The details of a recipe can be viewed by simple clicking on a recipe from the list of recipes being displayed.
- Most of us might have been in a situation where you are craving for something to eat and due to some reason it won't be delivered to your place. And then you decide to cook it yourself you can't find a recipe with the ingredients you have.
- In this fast-paced world, we are often confused about what can be cooked with the ingredients that are available right away.
- CookBook addresses this issue and is designed to suggest recipes to you which would use the key ingredients that are available with you.
- It not only suggests the recipe based on the ingredients entered by you, it also gives the ratings, step-by-step cooking instructions and other granular details about the recipe.
- Apart from giving the user a smooth and a stress-free experience, it also serves as a platform to find recipes across multiple cuisines and cultures.
- The interface of CookBook is somewhat similar to most of the search-engines, giving a sense of familiarity to the user. The user would have to just enter the available ingredients in a search bar and click on the proceed icon to get a list of suggestions for recipes.
- Hosted the dataset on Mongo Database System.
- Created a lightweight REST API for communicating with the MongoDB Cloud instance.
- Created a dynamic UI with routes dedicated to individual components.
- Create autocomplete to suggest ingredients based on partial input.
- Added support for recommendations based on multiple Ingredients.
- Created card based paginated layout for showing recipes.
- Added macros to recipe information.
- Add filtering system based on cusine, and other macros.
- Create a scraper for updating and maintaining the database.
- Add support for user profiles and user specific recommendations.
- Create a form for reporting corrections, improving the data set.
- Create a form for reporting corrections, improving the data set.
You can find the dataset used for this project here
In case of any queries and for additional help, please email us at: help.cookbook@gmail.com


