Skip to content

SRN-SE-Fall24/CookSmart

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CookSmart: Search by name or ingredients for any recipe.



Watch how our application works:

Click here to watch - Youtube Video



Made With DOI GitHub open issues GitHub closed issues GitHub Repo stars GitHub Workflow Status GitHub language GitHub last commit GitHub license GitHub contributors GitHub code size in bytes

What is CookSmart?

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!

Feature additions: Enhancements, Upgrades and BugFixes:

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!

Documentation and Project Flow:

  1. User Registration: Establish a unique username and password; no duplicate usernames allowed, ensuring password confidentiality.
  2. User Authentication: Log in using the correct username and password for secure access.
  3. Search Recipes by Ingredients: Input your available ingredients to discover relevant recipes based on ingredient names.
  4. Search Recipes by Dish Name: Locate recipes by specifying the dish name in the search.
  5. Bookmark Favorite Recipes: Save preferred recipes for easy access.
  6. View Bookmarked Recipes in User Profile: Access and review all saved recipes conveniently stored under your user profile.
  7. Logout: Securely log out to protect your profile information and activities.

Source documentation can be found at: CookSmart Docs

API Documentation

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

Technology Stack

NodeJS React Express.js NPM JEST MongoDB HTML CSS

Key Software Requirements

Project Setup Steps:

Installation:

  • 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
    

    Execution Steps

  1. start frontend server using:
    npm start
    
  2. Automatically a browser window is opened which shows frontend.
  3. run npm test for running the tests [Dependencies: Jest, Chai, Supertest]

Release Made in this cycle

  1. Major release 3.1 - Major release to search recipes using NLP AI instead of database stored recipes.
  2. Major Release 3.2 - Major release to replace login database with firebase auth

IDE and Code Formatter

📄 License

This project is licensed under the terms of the MIT license. Please check License for more details.

✏️ Contributions

Please see our CONTRIBUTING.md for instructions on how to contribute to the project by completing some of the issues.

FUTURE SCOPE

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.

Team Members

Sharmeen Momin
Rutvik Kulkarni
Nishad Tardalkar

Troubleshooting and Support

Common issues observed and solutions:

  1. 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.
  2. 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.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 74.6%
  • HCL 7.3%
  • Python 5.7%
  • TypeScript 5.4%
  • CSS 5.1%
  • HTML 1.3%
  • Dockerfile 0.6%