Skip to content

Software-Engineering-2024-Group/my-cookbook

Mugdha Joshi  SoundHarya Khanapur Jing Huang



🍳 What is CookBook?

CookBook is your ultimate AI-powered kitchen assistant that makes cooking stress-free, fun, and delicious! 🎉
Whether you're working with a stocked pantry or just a few ingredients, CookBook will help you whip up amazing recipes tailored to what you have.

Why CookBook Stands Out:

  • ✨ Easy to Use: A super-friendly platform where you can simply input your ingredients, and CookBook will suggest recipes instantly.
  • 📖 Step-by-Step Guidance: Get detailed, easy-to-follow instructions for every recipe.
  • 🌟 Flexible & Adaptable: Use as few or as many ingredients as you want—CookBook adjusts to you!
  • 🍴 Recipes for Everyone: Explore a variety of recipes across multiple cuisines and cultures.

With CookBook, you'll never run out of cooking inspiration again! 🥗🍜🍰


🤔 Why Choose CookBook?

Most of us have faced these situations:
1️⃣ Craving something delicious, but delivery isn't an option.
2️⃣ Staring at your pantry, unsure of what to make with what's available.
3️⃣ Wanting to try something new and exciting, but need guidance.

How CookBook Solves These Problems:

  • 🍳 Ingredient-Based Recipes: Enter the ingredients you have, and CookBook finds recipes to match.
  • 📜 Step-by-Step Instructions: Follow clear directions, even if you're new to cooking!
  • 🌍 Explore Global Cuisines: Try dishes from different cultures with ease.
  • 🖥️ Familiar & Intuitive Interface: Just like your favorite search engine, simply enter your ingredients and hit "Proceed" to get recipe suggestions.

CookBook isn’t just a tool—it’s your cooking companion, saving time and bringing creativity to your kitchen! 🍲✨


Content

| What's New | Installations | Examples | Style Checker & Code Fomatter | Code Coverage | Why CookBook? | Team | Support |



🚀What's New?

New features:

  • 🎤 Voice-Guided Recipes: Choose from multiple voices to guide you while you cook.
  • 🖼️ Personalized Themes: Customize your CookBook experience with themes like Midnight Chef or Literary Lemon.
  • 📝 Printable Meal Plans: Plan your meals for the week and print them for easy access.
  • 🛒 Smart Shopping Lists: Automatically generate and export shopping lists as PDFs.
  • 🍝 Advanced Filters: Search recipes by cuisine type, cooking time, or dietary preferences.
  • 🤝 Social Sharing: Easily share recipes with friends via Discord, Slack, or social media.

With CookBook, cooking becomes an adventure. What will you create today? 🥘👨‍🍳👩‍🍳

🎥 Demo Video

Watch the Demo

Click the image above to watch the demo video on YouTube! 🚀

🚀 Better Software Design

CookBook is designed with scalability, safety, and reliability in mind. The software architecture includes modern solutions to ensure a seamless experience for users.

Scalability Enhancements

  • Content Delivery Network (CDN): Accelerates content delivery by distributing data globally.
  • Load Balancing: Ensures optimal resource utilization and improves availability.
  • Cache: Reduces latency and increases speed by caching frequently accessed content.

Safety Enhancements

  • Domain: Ensures secure domain configurations.
  • SSL/TLS: Encrypts communication between users and the server for secure data transfer.
  • DDoS Protection: Protects against distributed denial-of-service attacks to ensure site reliability.

🌐 Access the Website

Access CookBook directly via this link: Cook Book.

🛠️ Troubleshooting

If the page fails to load, you can try the following:

  • Switch to a different network environment (e.g., home network or mobile hotspot).
  • Some users may experience DNS resolution failures under NC State's network due to DNS server issues.

If problems persist, follow the installation instructions below to run CookBook locally.


🛠️Installations

Prerequisites

Before setting up the project, ensure you have the following installed:

  • MongoDB: Create a cluster and generate the DB URL, username, and password.
  • GROQ: Create an API key.
  • Create a .env file in the api folder with the following details:
ATLAS_URI = ...
DATABASE = cookbook
GROQ_API_KEY = ...
PORT = 8000

📊 Dataset

You can find the dataset used for this project here

🔧 Backend Installation

Follow these steps to set up and run the backend server:

  1. Navigate to the API folder:
    cd api
    
  2. Install required dependencies:
    pip install -r requirements.txt
    
  3. Run the application server:
    python -m uvicorn main:app --reload
    
    
    

🛠️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:

  1. Navigate to the frontend folder:
    cd frontend
    
    
  2. Install required dependencies:
    npm install
    
  3. If the above command fails, use the following alternative::
    npm install --legacy-peer-deps
    
  4. Start the React app:
    npm start
    
    

Examples

✨ New Functions

CookBook has been upgraded with exciting new features to make your cooking experience smarter, more interactive, and hassle-free! Below are the highlights of the latest functionalities added:

🎤 Multiple Voice-Guided Recipes

A fresh addition! Choose from multiple voice options to guide you through cooking, enhancing convenience and enabling hands-free operation.

Voice-Guided Recipes Screenshot


🖼️ Personalized Themes

Make CookBook your own with beautifully designed themes like Midnight Chef, Literary Lemon, and more. Create the perfect cooking atmosphere tailored to your style.

Personalized Themes Screenshot


📝 Printable Meal Plans

Plan your meals for the week and print them with ease! CookBook helps you stay organized by preparing a clear, printable meal plan to simplify your cooking schedule.

Printable Meal Plans Screenshot


🛒 PDF Shopping List Export

Easily generate shopping lists from selected recipes and export them as PDFs for offline access and convenience. Save time and never forget an ingredient while shopping!

Shopping List Export Screenshot


🍝 Advanced Recipe Filters

Looking for something quick? Or perhaps you want to try a specific cuisine? Use advanced filters to narrow down recipes by:

  • Cuisine type
  • Cooking time
  • Dietary preferences

Recipe Filters Screenshot


🤝 Social Sharing & Quick Access

Share your favorite recipes instantly via Discord, Slack, or other social media platforms. Collaboration in the kitchen has never been easier!

Social Sharing Screenshot

FAQ Screenshot


Old Functions

  • 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



  • Start the App by URL. case

  • Above content mentions that users may manually input keyword, and click on 'search tag' to create some keyword search tags to search recepies. Besides, users may also click on some "food tags" to search receipes without specific input. For example, we may select "milk" tag:

case


  • Then, we may have results shown as below:

case


  • What is more, if users are not sure that tags to be chosen, they are able to use sliders to set some values for [Calorie, Fat, Suger, Protain]. The filtered recepies will be shown after using this kind of search. For example, if we want receipes that fulfill some requirements as:

case


  • As former example cases, filtered results are displayed:

case

Style Checker and Code Fomatter

  • IDE and Style Checker: VSCode

  • Code Style Formatter: Beautify

  • Code Syntax Checker : Eslint for Vscode plugin.

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):
{
  "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
  }
}

Code Coverage

Codecov civ

In case of any queries and for additional help, please email us at: [email protected]

Meet the Team

Version 4

Soundarya Khanapur
Soundarya Khanapur

Mugdha Joshi
Mugdha Joshi

Jing Huang
Jing Huang

Version 3

  • Akshay Ashutosh Dongare
  • Anish Mulay
  • Ashwattha Phatak
  • Team

Version 2.x

  • Pinxiang Wang
  • Yuheng Zhu
  • Mengzhe Wang
  • Jiayuan Huang
  • Yiran Zhu

Version 1.0

Team

Support

You can find the dataset used for this project here

📊 Score Card

Total Grade: 151

Factor Score Notes
Video 3 https://youtu.be/Tk9iwPMeQhA?si=6ZQWc6nXfInSZTet
Workload 3 Distributed
Number of commits 3 50+
Number of commits: by different people 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/graphs/contributors
Issues report: There are many 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/issues
Issues are being closed 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/issues?q=is%3Aissue+is%3Aclosed
DOI badge 3 https://zenodo.org/records/14200974
Docs: format 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/blob/main/.github/workflows/autopep8.yml
Docs: description 3 https://github.com/Software-Engineering-2024-Group/my-cookbook
Docs: short animated video 3
Docs: strong punchlines 3 https://github.com/Software-Engineering-2024-Group/my-cookbook
Docs: mini tutorials 3 https://github.com/Software-Engineering-2024-Group/BurnoutExtreme/blob/master/Tutorials.md#signup-and-sign-in
Use of version control tools 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/blob/main/.github/workflows/autopep8.yml
Use of style checkers 3 https://github.com/Software-Engineering-2024-Group/BurnoutExtreme/blob/master/.github/workflows/autopep8.yml
Use of code formatters. 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/blob/main/.github/workflows/flake8.yml
Use of syntax checkers. 3 https://github.com/Software-Engineering-2024-Group/my-cookbook?tab=readme-ov-file#style-checker-and-code-fomatter
Use of code coverage 3 https://coveralls.io/github/Software-Engineering-2024-Group/my-cookbook?branch=main
Other automated analysis tools 2 https://github.com/Software-Engineering-2024-Group/my-cookbook/blob/main/.github/workflows/build.yml
Test cases exist 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/tree/main/tests
Test cases are routinely executed 2 https://github.com/Software-Engineering-2024-Group/my-cookbook/tree/main/tests
The files http://contributing.md/ lists coding standards and lots of tips 3
Issues are discussed before they are closed 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/issues
Chat channel: exists 3 whatsapp, discord(https://discord.gg/4zmAMZNY)
Test cases: a large proportion of the issues related to handling failing cases. 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/issues
Evidence that the whole team is using the same tools 3
Evidence that the members of the team are working across multiple places in the code base 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/pulse
Short release cycles 3
Does your website and documentation provide a clear, high-level overview of your software? 3 https://github.com/Software-Engineering-2024-Group/my-cookbook
Does your website and documentation clearly describe the type of user who should use your software? 3 https://github.com/Software-Engineering-2024-Group/my-cookbook
Do you publish case studies to show how your software has been used by yourself and others? 3
Is the name of your project/software unique? 3 https://github.com/Software-Engineering-2024-Group/my-cookbook
Is your project/software name free from trademark violations? 3
Is your software available as a package that can be deployed without building it? 3 https://github.com/Software-Engineering-2024-Group/my-cookbook
Is your software available for free? 3 https://github.com/Software-Engineering-2024-Group/my-cookbook
Is your source code publicly available to download, either as a downloadable bundle or via access to a source code repository? 3 https://github.com/Software-Engineering-2024-Group/my-cookbook
Is your software hosted in an established, third-party repository like GitHub? 3
Is your documentation clearly available on your website or within your software? 3
Does your documentation include a "quick start" guide, that provides a short overview of how to use your software with some basic examples of use? 3 https://github.com/Software-Engineering-2024-Group/my-cookbook
If you provide more extensive documentation, does this provide clear, step-by-step instructions on how to deploy and use your software? 3
Do you provide a comprehensive guide to all your software’s commands, functions and options? 3 https://github.com/Software-Engineering-2024-Group/my-cookbook
Do you provide troubleshooting information that describes the symptoms and step-by-step solutions for problems and error messages? 3
If your software can be used as a library, package or service by other software, do you provide comprehensive API documentation? 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/blob/main/INSTALL.md
Do you store your documentation under revision control with your source code? 2
Do you publish your release history e.g. release data, version numbers, key features of each release etc. on your web site or in your documentation? 3
Does your software describe how a user can get help with using your software? 3
Does your website and documentation describe what support, if any, you provide to users and developers? 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/blob/main/INSTALL.md
Does your project have an e-mail address or forum that is solely for supporting users? 3
Are e-mails to your support e-mail address received by more than one person? 3
Does your project have a ticketing system to manage bug reports and feature requests? 2 https://github.com/Software-Engineering-2024-Group/my-cookbook/issues
Is your project's ticketing system publicly visible to your users, so they can view bug reports and feature requests? 3 https://github.com/Software-Engineering-2024-Group/my-cookbook/issues
CookBook
├─ .DS_Store
├─ .git
│  ├─ COMMIT_EDITMSG
│  ├─ FETCH_HEAD
│  ├─ HEAD
│  ├─ ORIG_HEAD
│  ├─ branches
│  ├─ config
│  ├─ description
│  ├─ hooks
│  │  ├─ applypatch-msg.sample
│  │  ├─ commit-msg.sample
│  │  ├─ fsmonitor-watchman.sample
│  │  ├─ post-update.sample
│  │  ├─ pre-applypatch.sample
│  │  ├─ pre-commit.sample
│  │  ├─ pre-merge-commit.sample
│  │  ├─ pre-push.sample
│  │  ├─ pre-rebase.sample
│  │  ├─ pre-receive.sample
│  │  ├─ prepare-commit-msg.sample
│  │  ├─ push-to-checkout.sample
│  │  ├─ sendemail-validate.sample
│  │  └─ update.sample
│  ├─ index
│  ├─ info
│  │  └─ exclude
│  ├─ logs
│  │  ├─ HEAD
│  │  └─ refs
│  │     ├─ heads
│  │     │  ├─ deployment
│  │     │  ├─ feature
│  │     │  │  ├─ sharing
│  │     │  │  └─ voice
│  │     │  ├─ main
│  │     │  └─ testing
│  │     └─ remotes
│  │        └─ origin
│  │           ├─ HEAD
│  │           ├─ deployment
│  │           ├─ feature
│  │           │  ├─ custom-recipe
│  │           │  ├─ sharing
│  │           │  └─ voice
│  │           ├─ main
│  │           └─ testing
│  ├─ objects
│  │  ├─ 05
│  │  │  └─ e0965be70269e9d0e80b4a7abcd19cee5045aa
│  │  ├─ 0b
│  │  │  └─ 3319b88eb440710814e313a0a0ec5af41a83cc
│  │  ├─ 0d
│  │  │  └─ ff004f27b6e45498cbf98849a09a1a6af9874c
│  │  ├─ 0e
│  │  │  └─ 94498776b5f0afd22be43a380e9ecbac725047
│  │  ├─ 12
│  │  │  └─ dfb43a249310457988157ac56bcf7ee1156374
│  │  ├─ 1c
│  │  │  └─ 9c24ec1a7f026f7cef4fb6f8abb431d4079fc5
│  │  ├─ 1d
│  │  │  └─ 0b4eb0ad5ea8fa4f2fa85fbf3b281dbb1b41b7
│  │  ├─ 1f
│  │  │  └─ 885a64eb4ad8eacb492ce1da01b557b23b19b5
│  │  ├─ 21
│  │  │  └─ b395ebc3bc7eaba702fa32badf955b2ea69958
│  │  ├─ 23
│  │  │  └─ a58ac52d9211d707e1ac0ec484736c5809bc2e
│  │  ├─ 27
│  │  │  └─ bc5baa52acca8ad0f3a0321a0957458de1675e
│  │  ├─ 28
│  │  │  └─ e92174ac0219af02b7f9a124f54a4e46a4f3a6
│  │  ├─ 2a
│  │  │  └─ 02c6a9003c06e0eb63232bca3d526a95c93095
│  │  ├─ 2b
│  │  │  └─ 79db553eecee4bea5cacd328834d8705b45aa7
│  │  ├─ 2c
│  │  │  ├─ 20e3def01cf18f20987259a3d859b4aa8f5f9d
│  │  │  └─ ee3a95364a8844f0433e5213c4c7b22e66f80f
│  │  ├─ 2d
│  │  │  └─ 9a284218a2ef36de0897f8bd40d9ba9fd2743a
│  │  ├─ 33
│  │  │  └─ 89e18869d320d3a1b5dc4b4f6aaa2ba3688c90
│  │  ├─ 35
│  │  │  └─ 5047b0ddb8cea63068b0ccd64b9365cfa2df9c
│  │  ├─ 38
│  │  │  └─ 5df5b7d9247910d69f0ecc50c8a5e2be19f8c7
│  │  ├─ 3a
│  │  │  └─ d62964ed81b6697f6c7218a6c9ca5fe8a7a351
│  │  ├─ 3b
│  │  │  └─ 302566fe62c27c8ce825f6d64286cd011e213d
│  │  ├─ 3f
│  │  │  └─ 2367dc9f0bf3a4cc7f2d42b5b485a2932115d2
│  │  ├─ 43
│  │  │  └─ 9ada9155dd5c1da0181bf8e6e071cb5c435e35
│  │  ├─ 45
│  │  │  ├─ 08d6f2117f9bd57e21e482f675817c60e30078
│  │  │  ├─ eecb95e928111642f35a0fda1e9fb35f84dc87
│  │  │  └─ eeeea6f81bf2451b45891eb49852b2d6d79c0f
│  │  ├─ 4e
│  │  │  └─ b258465db79cd4771e33ed907371c5a334f480
│  │  ├─ 4f
│  │  │  └─ 1142f5630b93c095998e437e1a2bd20b607e94
│  │  ├─ 50
│  │  │  └─ 12b8fc470a0bfbce2cec7238e7a351a76ce7fc
│  │  ├─ 55
│  │  │  └─ 17db073566a2a557375d6ddb9ddafb488cc5c9
│  │  ├─ 56
│  │  │  └─ 465aec48cfe99f1102b7fd68f95ea016edebe0
│  │  ├─ 57
│  │  │  ├─ 8c8a608d48133177e145cbf2e59f9acbe1d21e
│  │  │  └─ cef333e32cc136fe715103bf37c9100197ec79
│  │  ├─ 5a
│  │  │  └─ 3eee8dac34dbbc230490e664670d49e9a24490
│  │  ├─ 5b
│  │  │  └─ ebb86cf4099e14503daaad9d8d3ef0446611cf
│  │  ├─ 5e
│  │  │  └─ c9021186b01b24c9adb84708079f58151a3e03
│  │  ├─ 62
│  │  │  └─ 49314f7b1d3a425b459964d54a49a6e1802601
│  │  ├─ 63
│  │  │  └─ 7b7f066d93d871872fab0654a371e02ac415b1
│  │  ├─ 64
│  │  │  └─ 0e0ef369946319891bbf6f37c7c803faafa516
│  │  ├─ 73
│  │  │  └─ fe86be6ada884538f65e3d8e55048cd254a797
│  │  ├─ 7c
│  │  │  └─ 31b0872a6fe49e72423d3ad7017a71eba0570b
│  │  ├─ 82
│  │  │  └─ 2df5e946e036b77730d86d6476b4d8819820e1
│  │  ├─ 84
│  │  │  └─ 03357d66ff432d5d5a3cfb0f0322104d379f83
│  │  ├─ 86
│  │  │  └─ fd607e06ed348d5a51318fddbb937548cc6e4c
│  │  ├─ 88
│  │  │  └─ 7b8d72e8c2d7422b0376bd37b16391176e8b00
│  │  ├─ 89
│  │  │  └─ 708ed1661d80ecc4010ba346df8207d06de455
│  │  ├─ 8a
│  │  │  └─ 71c83e5df64559b56e7af5e25f8d357b4b9e07
│  │  ├─ 8e
│  │  │  └─ 45ca7105f3836da20768d67a35c5c5ffc64bb5
│  │  ├─ 8f
│  │  │  ├─ 8a4a71e58a1e2c164c0b73a1ee623e6ed424a6
│  │  │  └─ baeca88855919dd266975e786a7269e55eba3c
│  │  ├─ 92
│  │  │  └─ c6daa84c49571b9aa61281c88ee210ead16e08
│  │  ├─ 93
│  │  │  └─ d8ccb1f59ef71e7b233dd34e4e2f117e42452a
│  │  ├─ 94
│  │  │  └─ 76207bb81ee44dbafad15cfb50de1a51283bc4
│  │  ├─ 95
│  │  │  └─ 08aac5b04a69782dfbeac1630ea7d57fbe26b3
│  │  ├─ 96
│  │  │  └─ 9129c099b42928c06cd01035067eca7facf56b
│  │  ├─ 97
│  │  │  └─ fc547d726b2ea87da271952e03fa659b4d75a8
│  │  ├─ 98
│  │  │  └─ 05126010b269bf288173db7623eaebc27ca1f1
│  │  ├─ 9c
│  │  │  └─ 997bee6ba58d20dcf3c678eebe1017d0c888e7
│  │  ├─ 9e
│  │  │  └─ 1dc1c0085312c944af86e3777e14eb88430b5c
│  │  ├─ a0
│  │  │  └─ 505556f638908eed62296a05ea19a9016bdd54
│  │  ├─ a5
│  │  │  └─ 9bbd4ded2aff28877e486141ed444419061b1d
│  │  ├─ a6
│  │  │  └─ f9da8d99465ec2b09e9af5adb984cd576bdb8a
│  │  ├─ a8
│  │  │  └─ 7d925906dd12e0e33d9bdb4ad50303a20928af
│  │  ├─ aa
│  │  │  └─ 42eb78e014d5916c16853d7713e591ed878178
│  │  ├─ ac
│  │  │  └─ 2f6c8814a74213fff124db7aabbc88ec3b3846
│  │  ├─ ae
│  │  │  └─ 2e39f23f2834d54a5d18dbc90e3cda3d00d201
│  │  ├─ af
│  │  │  ├─ 5706c29b537769ed01b173e62c12c7a09f255e
│  │  │  └─ f0407fa24f199085fc2ca399cd04698dab9dc1
│  │  ├─ b0
│  │  │  └─ d4d2e31be48d5245abc85a94052adc7111cadb
│  │  ├─ b2
│  │  │  └─ ee1df41a9ef6394b7c4f2832e436eee822ae2a
│  │  ├─ b4
│  │  │  └─ 43203e19ff74b71be21af72474e6033867d62e
│  │  ├─ b6
│  │  │  └─ ca86dacf42818d6f5e199d925db43676e62f85
│  │  ├─ ba
│  │  │  ├─ 0974b2e7a07a77153f9c777cfdd4b5251104b3
│  │  │  └─ 5c9c50582c1141dd237337321105cb9bcf1c30
│  │  ├─ be
│  │  │  └─ 1cdc8366f2b7562308ec152a69a774e0d62589
│  │  ├─ bf
│  │  │  └─ 2266d1193d4b0369743b2074054bf0e446e95f
│  │  ├─ c2
│  │  │  ├─ 6e9936d970b54f8e422c7538735bad3a93ff32
│  │  │  └─ cb2b753ec6664caceee8a6c2079243ee19bd6a
│  │  ├─ c4
│  │  │  └─ c35c40fc479461d898bbf13a3294b588870404
│  │  ├─ c9
│  │  │  └─ e9ef1c2e1fb2337c263cd33095573e91c932c2
│  │  ├─ cd
│  │  │  └─ 735018cba96ad337385e3666ea395f83e889ab
│  │  ├─ cf
│  │  │  └─ f3fc8f9916aa6ea1b4b97237168ca0bca71048
│  │  ├─ d2
│  │  │  └─ 40aa4500e7c05b0a475cf57115abb4c3ee49a1
│  │  ├─ d6
│  │  │  └─ ddd185635923c19a76d0a38bd66de0874399d4
│  │  ├─ db
│  │  │  ├─ 289e152c510a1feaa873bfcfcbc71afb548192
│  │  │  ├─ 2fb59dac5993906dbf0d712d9c28c0a867ee08
│  │  │  └─ 574e4410c6139964f7097e9483f6e18a1e80a7
│  │  ├─ dd
│  │  │  └─ c3e50fa76cf9f43532b6d9170f8b8abf9dd341
│  │  ├─ e1
│  │  │  └─ f5461b9a857e1592e6ead0387e856a9572239f
│  │  ├─ e2
│  │  │  └─ 624a1ef480ff481ea9355ae657e3f59e38386d
│  │  ├─ e4
│  │  │  └─ 6c17f5660215efa2296bc8842abdc3df74e6b8
│  │  ├─ e6
│  │  │  └─ 2c7589183ccaecccd1f603d02abe68ec51fea7
│  │  ├─ e7
│  │  │  ├─ 712e1b3fc982c63bf3900f167db4a128b99fcb
│  │  │  └─ 98ae6feeefec68ff154574fe6ee8b85c6badf9
│  │  ├─ ea
│  │  │  └─ 39a3ed6c9af3449f26a82a265ce23b53273b67
│  │  ├─ ee
│  │  │  └─ 50c4157b92ba1a5ed5b7f84cc0173cdb878626
│  │  ├─ ef
│  │  │  └─ d3b43ad008caac2176b0cc00a809df69c0ae27
│  │  ├─ f6
│  │  │  └─ 0368f89ab89ac1c06cd8a7ecedcc157b3ec588
│  │  ├─ fa
│  │  │  ├─ 81f02fff8948545949813a00a39eabaaadd9e6
│  │  │  └─ d083da3df884b22975a34cf43dad821edb56a5
│  │  ├─ fb
│  │  │  └─ 58b6fcd36eb073621a612501f45ec4d39d162f
│  │  ├─ fc
│  │  │  └─ 3efe393c5ef63c5dd47335eecf0497cbac209a
│  │  ├─ info
│  │  └─ pack
│  │     ├─ pack-120a108bc00379b2f122869f8014cfe85126262e.idx
│  │     ├─ pack-120a108bc00379b2f122869f8014cfe85126262e.pack
│  │     └─ pack-120a108bc00379b2f122869f8014cfe85126262e.rev
│  ├─ packed-refs
│  └─ refs
│     ├─ heads
│     │  ├─ deployment
│     │  ├─ feature
│     │  │  ├─ sharing
│     │  │  └─ voice
│     │  ├─ main
│     │  └─ testing
│     ├─ remotes
│     │  └─ origin
│     │     ├─ HEAD
│     │     ├─ deployment
│     │     ├─ feature
│     │     │  ├─ custom-recipe
│     │     │  ├─ sharing
│     │     │  └─ voice
│     │     ├─ main
│     │     └─ testing
│     └─ tags
├─ .github
│  └─ workflows
│     ├─ node.js.yml
│     ├─ python-app.yml
│     └─ workflow.yml
├─ .gitignore
├─ CITATION.cff
├─ CODE_OF_CONDUCT.md
├─ CONTRIBUTING.md
├─ LICENSE
├─ README.md
├─ api
│  ├─ Dockerfile
│  ├─ __init__.py
│  ├─ main.py
│  ├─ models.py
│  ├─ requirements.txt
│  └─ routes.py
├─ assets
│  ├─ HomePage.PNG
│  ├─ HomePage_new.png
│  ├─ RecipeDetails.PNG
│  ├─ SearchBar.PNG
│  ├─ SearchResults.PNG
│  ├─ codecov.png
│  ├─ demo.gif
│  ├─ filterSearch1.png
│  ├─ filterSearch2.png
│  ├─ logo.png
│  ├─ tagSearch1.jpg
│  ├─ tagSearch2.jpg
│  ├─ team_edit.png
│  ├─ video1.m4v
│  └─ video2.m4v
├─ docker-compose.yml
├─ docs
│  ├─ Home.css
│  ├─ Safety.md
│  ├─ Scalability.md
│  ├─ api
│  │  ├─ main.html
│  │  ├─ models.html
│  │  └─ routes.html
│  ├─ api.html
│  ├─ components.html
│  ├─ images
│  │  ├─ 4a08d1b7-15a5-0eed-0f9f-0c0337f05c03.jpg
│  │  ├─ 8750c800-0485-f790-5fdc-5a8cf409301e.jpg
│  │  ├─ SSL.png
│  │  ├─ cache.png
│  │  ├─ cdn.png
│  │  ├─ e6fab1f1-ae30-31cf-b73f-aa548e18d0f4.jpg
│  │  ├─ fgfgfg4.jpg
│  │  ├─ load.png
│  │  ├─ load_balancing.png
│  │  ├─ screenshot1.png
│  │  └─ screenshot2.png
│  ├─ index.html
│  ├─ jquery.js
│  ├─ nicepage.css
│  ├─ nicepage.js
│  ├─ proj1rubric.md
│  ├─ proj1rubricComments.pdf
│  ├─ proj2rubric.md
│  ├─ search.js
│  └─ style
│     ├─ accordian.pack.js
│     └─ style.css
├─ frontend
│  ├─ .eslintignore
│  ├─ .eslintrc.json
│  ├─ .gitignore
│  ├─ .prettierignore
│  ├─ .prettierrc.json
│  ├─ .vscode
│  │  └─ settings.json
│  ├─ Dockerfile
│  ├─ README.md
│  ├─ package-lock.json
│  ├─ package.json
│  ├─ public
│  │  ├─ favicon.ico
│  │  └─ index.html
│  ├─ src
│  │  ├─ App.css
│  │  ├─ App.test.tsx
│  │  ├─ App.tsx
│  │  ├─ features
│  │  │  ├─ AppContent
│  │  │  │  ├─ AppContent.tsx
│  │  │  │  ├─ HomePage
│  │  │  │  │  ├─ AboutPage.tsx
│  │  │  │  │  ├─ ContactPage.tsx
│  │  │  │  │  ├─ HomePage.css
│  │  │  │  │  ├─ HomePage.test.tsx
│  │  │  │  │  ├─ HomePage.tsx
│  │  │  │  │  └─ photos
│  │  │  │  │     ├─ eighth.jpg
│  │  │  │  │     ├─ fifth.jpg
│  │  │  │  │     ├─ first.jpg
│  │  │  │  │     ├─ fourth.jpg
│  │  │  │  │     ├─ logo.png
│  │  │  │  │     ├─ nineth.jpg
│  │  │  │  │     ├─ second.jpg
│  │  │  │  │     ├─ seventh.jpg
│  │  │  │  │     ├─ sixth.jpg
│  │  │  │  │     ├─ tenth.jpg
│  │  │  │  │     └─ third.jpg
│  │  │  │  ├─ NutritionFilter
│  │  │  │  │  └─ CustomizedAccordions.tsx
│  │  │  │  ├─ RecipeInformation
│  │  │  │  │  ├─ RecipeInformation.css
│  │  │  │  │  ├─ RecipeInformation.test.tsx
│  │  │  │  │  ├─ RecipeInformation.tsx
│  │  │  │  │  ├─ getRecipeInformation.action.ts
│  │  │  │  │  ├─ getRecipeInformation.actionTypes.ts
│  │  │  │  │  ├─ getRecipeInformation.reducer.ts
│  │  │  │  │  ├─ getRecipeInformation.saga.ts
│  │  │  │  │  └─ no-image.png
│  │  │  │  ├─ RecipeList
│  │  │  │  │  ├─ RecipeList.css
│  │  │  │  │  ├─ RecipeList.tsx
│  │  │  │  │  ├─ getRecipeList.action.ts
│  │  │  │  │  ├─ getRecipeList.actionTypes.ts
│  │  │  │  │  ├─ getRecipeList.reducer.ts
│  │  │  │  │  └─ getRecipeList.saga.ts
│  │  │  │  └─ Tag
│  │  │  │     ├─ GetTags.tsx
│  │  │  │     ├─ TagList.css
│  │  │  │     ├─ getTagList.action.ts
│  │  │  │     ├─ getTagList.actionTypes.ts
│  │  │  │     ├─ getTags.reducer.ts
│  │  │  │     └─ getTags.saga.ts
│  │  │  ├─ GetIngredients
│  │  │  │  ├─ GetIngredients.tsx
│  │  │  │  ├─ getIngredients.action.ts
│  │  │  │  ├─ getIngredients.actionTypes.ts
│  │  │  │  ├─ getIngredients.reducer.ts
│  │  │  │  └─ getIngredients.saga.ts
│  │  │  ├─ Header
│  │  │  │  ├─ Header.css
│  │  │  │  ├─ Header.test.tsx
│  │  │  │  └─ Header.tsx
│  │  │  ├─ Navbar
│  │  │  │  ├─ Navbar.css
│  │  │  │  ├─ Navbar.test.tsx
│  │  │  │  └─ Navbar.tsx
│  │  │  ├─ apiMethods.ts
│  │  │  ├─ features.reducer.ts
│  │  │  └─ features.saga.ts
│  │  ├─ fonts
│  │  │  ├─ Roboto-Regular.ttf
│  │  │  └─ Roboto-Thin.ttf
│  │  ├─ index.css
│  │  ├─ index.tsx
│  │  ├─ logo.svg
│  │  ├─ react-app-env.d.ts
│  │  ├─ reportWebVitals.ts
│  │  ├─ setupTests.ts
│  │  └─ store.ts
│  └─ tsconfig.json
└─ tests
   ├─ .env
   ├─ coverage.xml
   ├─ sliderCollections.tsx
   └─ test_routes.py

About

A cookbook project with easy-to-follow recipes.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •