Giter Club home page Giter Club logo

kitchen-counter-2.0's Introduction

#Kitchen Counter

Never waste food again! Save money by making every last bit of your ingredients "Count!". Not sure what to do with the cayenne pepper in your pantry? Did you forget about the avocadoes in your fruit bowl? Are you overstocked with freezer burnt meat? We'll help you find recipes that make use of ingredients already in your kitchen that have long been forgotten or you just don't know what to do with.

##Wireframes

  • The user's dashboard displays a list of recipes that match 100%, 80% and 50% of the user's ingredients. Here the user can search for recipes, select a recipe, add a recipe and +/- units of existing ingredients or add entirely new ingredients.

kitchen-counter

kitchen-counter

kitchen-counter

##Technologies

  • Database: MongoDB
  • Web Application Framework: Express.js
  • Software Platform: Node.js
  • Frontend UI Framework: Bootstrap

##User Stories

  • As a user, I want to add ingredients and quantities to my ingredients list so that I can determine what recipes I can cook.
  • As a user, I want to add recipes so that I can share with other users.
  • As a user, I want to browse recipes so that I can see recipes and highlighted ingredients that match ingredients from my list.
  • As a user, I want to view a recipe and it's ingredients with an add button so that I can add this item to my grocery list.
  • As a user, I want to check off an instance of a recipe as 'Cooked' so that my ingredients will decrement accordingly.
  • As a user, I want to see a list of recipes that match my ingredients 100%, 80% and 50% so that I can determine what to cook.
  • As a user, I want to see a list of my ingredients and quantities so that I can know what's in my kitchen if I am grocery shopping.
// user schema
var UserSchema	= new Schema({
		fname    		: String
	,	lname    		: String
	,	email    		: { type: String, required: true, unique: true }
	,	password		: { type: String, required: true, select: false }
	,	ingredient	: [{
				name		: String
				, amount	: Number
				, unit		: String //grams or liters
				, expiry	: { type: Date, default: null }
				}]
	, grocery-list		: [ { type: String } ]
});
// recipe schema
var RecipeSchema	= new Schema({
		title 			: String
	, imageUrl			: String
	,	ingredient  	: [{
					name	: String
				, amount	: Number
				, unit		: String //grams or liters
				}]
	, prep-time			: String
	, cook-time			: String
	, directions		: String
});
Measurements
- grams
- liters

###Extras

  • Use a barcode scanner to scan products into a user's list of ingredients.
  • Track a user's ingredient usage and display visually to user.
  • Users can upload their recipe photos to other users' recipes.
  • Users can 'favorite' recipes.
  • Users can rate other users' recipes.
  • Users can comment on other users' recipes.
  • Users can receive reminders of items that are soon to expire.
  • Users can use the app as a reminder of what is in their stock of ingredients if away from home.
  • Users can see previously added ingredients to quickly add to their current list
  • As a user, I want to receive email notifications if my ingredient will expire soon so that I am reminded.
  • As a user, I want to receive email notifications if my ingredient is running low so that I am reminded.

kitchen-counter-2.0's People

Watchers

James Cloos avatar Jonathan Lee avatar

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.