Skip to content

Capstone-Projects-2024-Spring/project-cookbook-pro

 
 

Repository files navigation

CookBook-Pro

Download Source Code

Welcome to CookBook-Pro!

CIS 4398 Section 5

Cookbook-Pro is our group's first soirée into the wide world of Web Applications. It's an AI enhanced Meal Planner / Nutrition Tracker / Shopping List Generator, and made with React, Node, & Firestore.

Project Abstract

Cookbook-Pro is a web-based application that serves as a comprehensive platform for discovering new recipes, planning meals, nutrition tracking, and shopping list generation. It is designed to streamline the user's cooking experience by providing a wide range of features powered by AI and modern web technologies. Simply put, it is a cookbook... for pros.

High Level Overview

Search

Discover new, mouthwatering recipes from our extensive collection of thousands of savory dishes. Explore recipe details, add favorites to your collection, or easily add ingredients to your cart. Simply type in your cravings and let the culinary adventure begin! Not sure where to start? Check out the suggested meal option right under the search bar for inspiration!

Search

Recommendations

Feeling adventurous? Let our AI-powered recommendation system guide you! Whether you're craving a specific type of cuisine or seeking culinary inspiration, our recommendation engine will spark your imagination and delight your taste buds. Powered by GPT-4, ChefGPT will analyze your saved recipes and generate relevant breakfast, lunch, or dinner recipes.

Recommendations

Create Recipe

Can't find that special recipe? Preserve your family favorites or unleash your creativity with our recipe creator. Add your own ingredients, instructions, and personal touches to create your modern-day cookbook. Keep track of and share your culinary masterpieces with ease.

Create Recipe

Calendar

Never forget a meal again! Plan your meals days, weeks, or even months in advance with our intuitive calendar feature. Then, generate nutrition reports or shopping lists for those plans directly from the calendar! From breakfast to dinner, your culinary journey starts here.

Calendar

Nutrition Report

Trying to get more shredded than shredded cheese? Abs are made in the kitchen. Set and manage daily macronutrient goals, then see how your eating habits are measuring up. You can even generate nutrition reports for meals planned in the future to make sure you're aligning with your goals.

Nutrition Report

Ordering

Tired of boring pen & paper shopping lists? Add saved, custom, or generated recipes to your cart, then order them to recieve an extensive ingredient list. Ingredient lists can be emailed to you or found in order history.

Ordering

Conceptual Design

Cookbook-Pro is a primarily web-based application, developed with React and Node.js. The backend of the web app consists of three different sections. The web portion of the application will use Firebase, a cloud platform developed by Google. Firebase provides Cookbook-Pro with free hosting and user authentication, as well as a NoSQL database, and serverless-compute. The Spoonacular API is utilized for the recipes that appear in the search feature, as well as for ingredient and nutritional data. The recommendation system uses OpenAI's GPT-4 and DALL-E3 models to generate recipes and images.

Background

Cookbook-Pro is designed to simplify a user's cooking endeavors by offering a comprehensive platform for managing, organizing, and discovering recipes. The digitization of the concept of a "cookbook" allows users to effortlessly search for recipes and perform a range of actions based on them that are not possible within a traditional cookbook. Upon visiting the website, users are presented with a home screen offering options to log in or sign up using their Google account. Once authenticated, users gain access to the full functionality of the app, with various tabs for easy navigation.

Users can manage recipes by saving pre-existing ones, creating custom recipes, or saving recipes generated by ChatGPT. The application also allows users to create meal plans on the calendar, track them, order ingredient lists, and generate nutrition reports of their meals. The nutrition report section allows users to enter their daily macronutrient goals, creating a health baseline that can be later edited if needed. It also visualizes the nutritional data of their meals. Cookbook-Pro combines all these aspects to offer a modern take on the traditional cookbook, providing users with enhanced control and management over their recipes.

Required Resources

To run this project, the user needs an active network connection, a device with an internet browser (preferably a desktop or laptop device), and a Google account. Then, the user simply needs to navigate to the site link and sign in.

Building from Source

To build this project from source, one needs to either clone or zip/ownload the main branch from GitHub.

Ensure that Node.js is installed, then open the terminal and install all dependencies with npm install.

Next, create a .env file. You will need to configure Firebase, acquire a Spoonacular API token, and an OpenAI API token.

This is the layout of the .env file:

REACT_APP_COOKBOOK_PRO_EMAIL=
REACT_APP_SPOONACULAR_API_KEY=
REACT_APP_FIREBASE_API_KEY=
REACT_APP_FIREBASE_AUTH_DOMAIN=
REACT_APP_FIREBASE_PROJECT_ID=
REACT_APP_FIREBASE_STORAGE_BUCKET=
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=
REACT_APP_FIREBASE_APP_ID=
REACT_APP_FIREBASE_MEASUREMENT_ID=
REACT_APP_OPENAI_API_KEY=

Simply enter your tokens and Firebase configurations after the = signs.

Now, run npm start in order to launch the project.

Feature List

Demo 1:

  • Search for Recipes
  • Save Searched Recipes to the user's account
  • Create Custom Recipes
  • Save Custom Recipes to the user's account
  • Manage Orders in Cart
  • Add meals to a planner
  • Generate Recipes from ChatGPT
  • Generate shopping list of ingredients for meals from Cart
  • Email shopping list to the user's email

Demo 2:

  • Save Generated Recipes to the user's account
  • Generating Nutrition Reports
  • Adding meals to the cart from the planner
  • "Discover" meals in search page
  • Adding orders to the cart from almost every instance of the RecipeDetails component
  • Getting DALL-E Images
  • Tracking inspiration for GPT recommendations
  • Reviewing Order History

Known bugs at time of final release:

  • Adding meals to a day at 11:00pm will put them into the next day as if at 12:00am
  • Submit button for Custom Recipes falls out of Recipe form container on certain aspect ratios

Collaborators

MikeDantuono
Mike Dantuono
evandorsey1
Evan Dorsey
sdutill
Shawn Dutill
aeskandary
Ali Eskandary
rltruth
Ryan Lind
valvardanyan
Val Vardanyan

About

team-git-repository-creation-tu-cis-4398-docs-template created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 71.5%
  • CSS 16.1%
  • Kotlin 11.3%
  • HTML 1.1%