Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: sam16222
  • License: mit
  • Language: TypeScript
  • Default Branch: main
  • Size: 24.3 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 6
  • Open Issues: 2
  • Releases: 4
Created over 3 years ago · Last pushed over 3 years ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ![Build](https://github.com/sam16222/CSC510_43_Project1/actions/workflows/python-app.yml/badge.svg) [![DOI](https://zenodo.org/badge/541238337.svg)](https://zenodo.org/badge/latestdoi/541238337) ![Github Issues](https://img.shields.io/github/issues-closed/sam16222/CookBook) ![Github Issues](https://img.shields.io/github/issues/sam16222/CookBook) ![Github Pull Requests](https://img.shields.io/github/issues-pr/sam16222/CookBook) ![Github Pull Requests](https://img.shields.io/github/issues-pr-closed/sam16222/CookBook) ![Commit Status](https://img.shields.io/github/commit-status/sam16222/CookBook/main/65d1725521ee8cb701d47e4ad19fc8d586a4691f) [![codecov](https://codecov.io/gh/sam16222/CSC510_43_Project1/branch/main/graph/badge.svg?token=LT9NFPUR7R)](https://codecov.io/gh/sam16222/CSC510_43_Project1)
![MongoDB](https://img.shields.io/badge/MongoDB-%234ea94b.svg?style=for-the-badge&logo=mongodb&logoColor=white) ![FastAPI](https://img.shields.io/badge/FastAPI-005571?style=for-the-badge&logo=fastapi) ![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB) ![Visual Studio](https://img.shields.io/badge/Visual%20Studio-5C2D91.svg?style=for-the-badge&logo=visual-studio&logoColor=white) ![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white) ![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54)



What is C o o k B o o k ?

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 !

Content

| Backend Installation | Frontend Installation | Swagger | Examples | Why | Roadmap | Meet the Team | Support |



Demo



Installations

Backend Installation

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:

bash cd api pip install -r requirements.txt python -m uvicorn main:app --reload

Refer to the Swagger section for sample API calls.

Trouble Shooting

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.

Frontend Installation

To set up the front end React app, do:

```bash cd frontend npm install

// if npm install fails, try this npm install --legacy-peer-deps ```


For style and syntax checks and for auto code formatting

Following 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):

```bash

{ "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!

To run the front end React app, do:

bash cd frontend npm start


Swagger

Open the swagger page here: Swagger

Examples

  • This is the CookBook HomePage that should automatically open in a browser after executing the command: 'npm start'

HomePage


  • The user can use the search bar to enter the ingredients one by one, and then proceed by clicking the arrow on the right.

HomePage


  • The user would then be redirected to the page showing the recipe suggestions.

HomePage


  • The details of a recipe can be viewed by simple clicking on a recipe from the list of recipes being displayed.

HomePage



Why C o o k B o o k?

  • 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.

Roadmap

Completed tasks

  1. Hosted the dataset on Mongo Database System.
  2. Created a lightweight REST API for communicating with the MongoDB Cloud instance.
  3. Created a dynamic UI with routes dedicated to individual components.
  4. Create autocomplete to suggest ingredients based on partial input.
  5. Added support for recommendations based on multiple Ingredients.
  6. Created card based paginated layout for showing recipes.
  7. Added macros to recipe information.

Future tasks

  1. Add filtering system based on cusine, and other macros.
  2. Create a scraper for updating and maintaining the database.
  3. Add support for user profiles and user specific recommendations.
  4. Create a form for reporting corrections, improving the data set.
  5. Create a form for reporting corrections, improving the data set.

Meet the Team

Team

Support

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

Citation (CITATION.cff)

cff-version: 1.2.0
title: CookBook
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Shreyash
    family-names: Mohatta
    email: somohatt@ncsu.edu
    affiliation: North Carolina State University
  - given-names: Vinit
    family-names: Desai
    email: vdesai5@ncsu.edu
    affiliation: North Carolina State University
  - given-names: Asrita
    family-names: Kuchibhotla
    email: akuchib@ncsu.edu
    affiliation: North Carolina State University
  - given-names: 'Karan '
    family-names: Kajani
    email: kkajani@ncsu.edu
    affiliation: North Carolina State University
  - given-names: Priyanka
    family-names: Ambawane
    email: pambawa@ncsu.edu
    affiliation: North Carolina State University
identifiers:
  - type: url
    value: 'https://doi.org/10.5281/zenodo.7133692'
url: 'https://github.com/sam16222/CSC510_43_Project1'

GitHub Events

Total
Last Year

Dependencies

.github/workflows/node.js.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
.github/workflows/python-app.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
.github/workflows/workflow.yml actions
  • actions/checkout main composite
  • codecov/codecov-action v3 composite
frontend/package-lock.json npm
  • 1286 dependencies
frontend/package.json npm
  • @typescript-eslint/eslint-plugin ^4.15.1 development
  • @typescript-eslint/parser ^4.15.1 development
  • eslint ^7.20.0 development
  • eslint-config-airbnb ^18.2.1 development
  • eslint-config-prettier ^8.5.0 development
  • eslint-import-resolver-typescript ^2.4.0 development
  • eslint-plugin-import ^2.22.1 development
  • eslint-plugin-jsx-a11y ^6.4.1 development
  • eslint-plugin-prettier ^4.2.1 development
  • eslint-plugin-react ^7.22.0 development
  • eslint-plugin-react-hooks ^4.2.0 development
  • prettier 2.2.1 development
  • @emotion/react ^11.10.4
  • @emotion/styled ^11.10.4
  • @material-ui/core ^4.12.4
  • @mui/icons-material ^5.10.6
  • @mui/material ^5.10.7
  • @testing-library/jest-dom ^5.16.5
  • @testing-library/react ^13.4.0
  • @testing-library/user-event ^13.5.0
  • @types/jest ^27.5.2
  • @types/node ^16.11.60
  • @types/react ^18.0.21
  • @types/react-dom ^18.0.6
  • react ^18.2.0
  • react-dom ^18.2.0
  • react-hook-form ^7.36.1
  • react-redux ^8.0.4
  • react-router-dom ^6.4.1
  • react-scripts 5.0.1
  • redux ^4.2.0
  • redux-saga ^1.2.1
  • typescript ^4.8.3
  • web-vitals ^2.1.4
api/requirements.txt pypi
  • Jinja2 ==3.1.2
  • MarkupSafe ==2.1.1
  • PyYAML ==6.0
  • anyio ==3.6.1
  • certifi ==2022.9.24
  • charset-normalizer ==2.1.1
  • click ==8.1.3
  • dnspython ==2.2.1
  • email-validator ==1.3.0
  • fastapi ==0.85.0
  • h11 ==0.14.0
  • httptools ==0.5.0
  • idna ==3.4
  • itsdangerous ==2.1.2
  • orjson ==3.8.0
  • pydantic ==1.10.2
  • pymongo ==4.2.0
  • python-dotenv ==0.21.0
  • python-multipart ==0.0.5
  • requests ==2.28.1
  • six ==1.16.0
  • sniffio ==1.3.0
  • starlette ==0.20.4
  • typing_extensions ==4.3.0
  • ujson ==5.5.0
  • urllib3 ==1.26.12
  • uvicorn ==0.18.3
  • watchfiles ==0.17.0
  • websockets ==10.3