GithubHelp home page GithubHelp logo

whats-cookin's Introduction

What's Cookin'?

By:

Abstract:

Whats Cookin' is a recipe tracking / meal planning application that allows users to view their favorite recipes and plan shopping trips around them, similar to websites like All Recipes or New York Times Cooking. Inspiration for design and functionality was drawn from New York Times Cooking and similar designs found on Dribble.

Screen Shot 2021-02-17 at 8 56 49 AM

Users are able to view a list of recipes on the app and filter those recipes by a combination of one or more names, ingredients and tags using a single streamlined search bar. Users can also add recipes to their list of favorites and filter that list using the same search bar on the My Recipes tab.

Screen Shot 2021-02-17 at 3 43 52 PM

Clicking on any recipe will take the user to a more detailed recipe card with a list of ingredients, instructions and additional suggested dishes. From there, the Lets Cook button will indicate whether or not the user has enough ingredients for the selecte recipe, and what ingredients in what quantities are missing. From this menu, a variety of pathways and outcomes are possible as illustrated by the flow chart below:

Screen Shot 2021-02-17 at 3 04 43 PM

Screen Shot 2021-02-17 at 3 04 54 PM

Screen Shot 2021-02-15 at 5 06 28 PM

The Grocery List shows the user what items they need to purchase to cook recipes on their Recipes To Cook List. Once these are purchased, the user can add them to their pantry, giving them sufficient ingredients to cook previously locked recipes.

Screen Shot 2021-02-17 at 4 16 02 PM

Shrinking of the screen will trigger the mobile friendly design with an all new navigation bar.

Installation Instructions:

  • Clone this repository [email protected]:cbmackintosh/whats-cookin.git
  • Install the following dependencies: npm install and npm install @glidejs/glide
  • From the root directory, open the application on web browser using open ./src/index.html

Technologies used:


whats-cookin's People

Contributors

cbmackintosh avatar hannahhch avatar itsnameissteven avatar khalidwilliams avatar

whats-cookin's Issues

Create responsive design

  • Web design should respond to the size of screen on the computer.

  • Design for cellphones should be considered as well

  • hamburger icon with smaller screen.

  • search icon on nave bar to drop down search

DTR

Create a DTR with the following:

  • Learning goals
  • Schedules
  • Expectations

Recipe class

  • Should bring in all information from a recipe object.

    • Unique id
    • image of food 'http string'
    • ingredients
      • id
      • quantity
        • amount
        • unit
    • instructions
      • instruction string
      • step number
    • name
    • tag [array of strings]
  • should have methods:

    • determine the name of ingredients needed
    • get the cost of its ingredients
      • return the cost of ingredient * units needed???
      • how to know what the cost is per unit?(how much ingredient are you getting for the cost?)
    • return its directions/ instructions

My favorite recipes

  • user should be able to save recipes
  • a page should display to show favorite recipes
  • a user should be able to remove recipes

Build out html and css

Basic structure should provide you with the ability to test class methods. Use script.js to manipulate the DOM

  • Should have an area to view the recipes.
  • Should have an area to view recipe details.
  • Should have an input box.

Design Inspirations

  • NYT
    A few things that I like about this design:

    • carousel recipes/images
    • box shadow on hover
    • increased picture size (slow transition )
  • Design from Dribble

    • Carousel of recipe images, titles (DOM objects)
    • Includes time, portion size
    • Seems to fit generally well for the project, easy to make additions to design.
  • [recipe cards] (https://dribbble.com/shots/13869707-Perfectly-Grilled-Steak/attachments/5477225?mode=media)

    • Good design for individual recipe cards, or even a list of saved recipe cards
    • Includes sections for ingredients and instructions, which fits in with our intended data model
    • Provides suggestions for other dishes to pair with it? Might be a feature to add...

Create helper test file

This file will contain the data that we will need to pull into the test suites

  • Should have multiple recipes
  • Should have multiple users
  • Should have multiple ingredients

User Class test

  • Properties

    • Should a Unique ID (number)
    • Should have a name (String)
    • Should have pantry (array or objects with ingredient id and amount)
  • Methods

    • Should be able to add recipesToCook (save recipes to cook later)
    • filter Favorite recipes by one or more tags
    • filter Favorite recipes by its name or ingredients

Recipe Card Instructions

Card is too small to fit data

  • expand card size
  • header, directions and ingredients should have dedicated space
  • button shouldn't move
  • instruction card should be taller
  • text should be consisted
  • ingredients need to be spaced out more
  • button shouldn't move

Write script to manipulate DOM

All DOM manipulation will happen in this file.

  • Should be able to view a list of all recipes (carousel??? or list???)
    • iterate through the recipe repository
    • Each recipe will have name
    • Each recipe will have image
  • Should be able to click on the recipe for more information
    • View directions
    • View ingredients needed
    • View Total Cost
  • Should have a search bar
    • Search by tags
    • Search by name
    • Search by ingredients

Recipe card bug

Alignment issues between different text

  • text align right
  • button needs to be changed
  • button and cost to be fixed to the bottom of the box

RecipeRepository class

  • Should have a parameter to take in recipe data (array)
  • Methods
    • Filtered list of recipes based on one or more tags
    • Filter list of recipes based on its name or ingredients

Recipe repository tests

  • Should have a property that takes in recipe data and stores in an array (may be instances of Recipe
  • Methods.
    • Filter based on one or more tags
    • Filter based on its name or ingredients

Recipe class test

  • Test all properties

    • Unique ID
    • Corresponding image link
    • Array of ingredients{}
      • id
      • quantity {}
        • amount
        • unit
    • array of instructions{}
      • instruction
      • corresponding step number
    • name
    • tags
  • Should test methods

    • Determine the names of ingredients needed
    • get the cost or ingredients
    • return the directions
  • Test any changing properties

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.