Click here to watch - Youtube Video
Say goodbye to the dilemma of deciding what to cook with the ingredients on hand. We’ve revolutionized the cooking experience with an application that effortlessly suggests delicious recipes based on your kitchen inventory. Unlock the full potential of your pantry and fridge as our innovative software guides you in selecting perfect dishes tailored to your current ingredients. Cooking is now an exciting adventure rather than a daunting task. Immerse yourself in a realm of limitless culinary possibilities with CookSmart!
We've added numerous entertaining new features and fixes to enhance user-friendliness.
AI-Powered Recipe Suggestions
Recipes are now dynamically fetched using AI via Google’s Gemini APIs, providing unique, high-quality recommendations instead of relying on static database entries. This allows for more accurate, creative suggestions tailored to your preferences and ingredients.
Firebase Authentication User login and profile management are now handled by Firebase Authentication, enhancing security and simplifying the login experience. Say goodbye to database-managed credentials and hello to a smoother, safer login process.
Enhanced Recipe Filtering Enjoy better filtering options to quickly find recipes that match your preferences, dietary requirements, or ingredient availability.
More about our new additions in our next section!
- User Registration: Establish a unique username and password; no duplicate usernames allowed, ensuring password confidentiality.
- User Authentication: Log in using the correct username and password for secure access.
- Search Recipes by Ingredients: Input your available ingredients to discover relevant recipes based on ingredient names.
- Search Recipes by Dish Name: Locate recipes by specifying the dish name in the search.
- Bookmark Favorite Recipes: Save preferred recipes for easy access.
- View Bookmarked Recipes in User Profile: Access and review all saved recipes conveniently stored under your user profile.
- Logout: Securely log out to protect your profile information and activities.
Source documentation can be found at: CookSmart Docs
get_image_by_name
Scrapes an image of the recipe from bing.com.
get_recipes_from_ingredients
Gets recipes based on the provided ingredients from Gemini along with some sense of pagination. Recipes might duplicate over multiple pages as it is not real pagination.
get_recipes_by_name
Gets recipes based on the provided name from Gemini along with some sense of pagination. Recipes might duplicate over multiple pages as it is not real pagination.
get_detailed_recipe
Gets detailed recipe based on name and ingredients with a list of detailed ingredients along with quantities, cooking time and detailed process to cook.
Detailed documentation can be found at: API Docs
-
clone repository using
git clone https://github.com/SRN-SE-Fall24/CookSmart.git
-
setup for frontend open terminal and navigate to the frontend folder and execute the following:
npm install
-
setup for functions open terminal and navigate to the functions folder and deploy the functions to your firebase
firebase login firebase deploy
- start frontend server using:
npm start
- Automatically a browser window is opened which shows frontend.
- run
npm test
for running the tests [Dependencies: Jest, Chai, Supertest]
- Major release 3.1 - Major release to search recipes using NLP AI instead of database stored recipes.
- Major Release 3.2 - Major release to replace login database with firebase auth
This project is licensed under the terms of the MIT license. Please check License for more details.
Please see our CONTRIBUTING.md for instructions on how to contribute to the project by completing some of the issues.
Implement personalized diertary requirements based filtering.
Meal planning- saving data for all meals of the day.
Voice to text integration.
Chatbot integration- to answer quick queries about the recipe.
Sharmeen Momin
Rutvik Kulkarni
Nishad Tardalkar
Common issues observed and solutions:
- requirements.txt failing: this issue should no longer be seen, as we have used ~= to ensure your systems pick up versions compatible with the other packages. However, if you happen to see the issue, modify the requirements.txt file to use a more recent version.
- python was not found: we recommend using python3 as some of the modules are available only on Python3. You may either install Python3 or setup a virtual environment(we suggest the latter if you are currently running other applications on python2) Facing other issues with the application? Mail us - [email protected]
Made with ❤️ on GitHub.