Skip to content

russellcullen/fridgi

Repository files navigation

fridgi : The Smart Fridge

Fridgi is an android app that keeps track of the ingredients in your fridge to make cooking and shopping easier. Frigi can search recipes based on your current ingredients and you can even add ingredients to a grocery list to take with you on the go.

Run fridgi server

$ python app.py

This will start the fridgi server which can then be pointed to by the android component.

There is currently a sample server running on fridgi.herokuapp.com

API

Objects

Base Ingredient

Recipe
Fridge

Requests

All requests are GET requests


/search?tags=<tag1>+<tag2>+....

Returns array of Recipes that contain one or more given tags. Sorted by relevance.


/fridge/<name>

Returns the Fridge with given name.


/fridge/<name>/search?tags=<tag1>+<tag2>

Identical to normal search, except these Recipes includes a 'can_cook' boolean field based on the provided fridge name.


/fridge/<name>/suggest?recipe=<RecipeID>

Returns the closest Recipe to the one given that can be cooked with the ingredients in the fridge provided.


/fridge/<name>/use?recipe=<RecipeID>

Can only be called on recipes that can be cooked with the given fridge. Uses the recipe provided. This subtracts recipe quantities from ingredients in the fridge given.


/fridge/<name>/add?ingredient=<RecipeID>&quantity=<qty>

Adds a Recipe Ingredient with the given base ingredient id and quantity to the grocery list of the provided fridge.


/fridge/<name>/remove?ingredient=<RecipeID>

Removes the Recipe Ingredient with the given id from the grocery list of the provided fridge.

Base Ingredient

{
  'upc' : long  
  'name' : string  
  'quantity' : float  
  'unit' : string   
  'shelf\_life' : long  
  'price' : int  
  'calories' : int 
  'default_tags' : string[]  
}

Fridge Ingredient

{  
  'name' : string,  
  'ingredient' : ObjectID,   
  'quantity' : float,  
  'unit' : string,  
  'insert\_time' : double,  
  'count' : int,  
  'tags' : string[],  
}  

Recipe Ingredient

{  
  'name' : string,  
  'ingredient' : ObjectID,    
  'quantity' : float,  
  'unit' : string,  
}

Recipe

{  
  'name' : string  
  'ingredients' : "Recipe Ingredient"[]  
  'instructions' : string[]  
  'rating' : float  
  'tags' : string[]  
  'last\_used' : long  
  'serving\_size' : float  
}

Fridge

{  
  'name' : string 
  'ingredients' : "Fridge Ingredient"[]   
  'grocery\_list' : "Recipe Ingredient"[]  
  'recent\_recipes' : Recipe[]  
}

Authors

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published