======Qookie design document====== [[:start|Start]] | [[qookie:qookie|Qookie main page]] =====Purpose===== * A place to store many recipes. * Each recipe consists of a list of ingredients, working description, an image, category, plus various basic information. * Searching for recipes: Finding a specific recipe by title; Finding a recipe by category; Finding a recipe or several recipe suggestions by ingredient(s). * Displaying of recipes. * Full view of a single recipe. * Compact view (only showing selected content) of two or more recipes. * Features * Print recipes to pdf. * Export entire cookbook as pdf (with index). * Online Qookie-Light version (only viewer). * Export to XML / Import from XML. =====Difficulty rating===== * Rating of the recipe's difficulty, ie from 1 to 10 * Untried recipes are automatically assigned difficulty 10 until it is tried and adjusted. =====Recipe data===== * Include other recipe in this recipe (ie pizza dough). ====Ingredients==== * Ingredients are created in a separate view before being usable in a recipe. * By double-clicking a new ingredient a new window appears, where the following can be associated to the ingredient: * Ingredient name * Picture of the ingredient * Short description of the ingredient * Standard unit * Minimum amount available in supermarkets and (approximate) unit equivalents of this (ie. Ingredient: "flÄede tomater"; Minimum amount: "1 ds"; Equivalents: "2 1/2 dl", "250 g") * By double-clicking an ingredient which has got these data associated with it, a view-window appears. It is also accessible by Right-click -> View. * By mouse-over of an ingredient which has got these data associated with it, the same view-window appears as a pop-up box with a different background colour after a second or so. * Edit-mode of an ingredient which has already got these data associated with it, is accessed by double-clicking the ingredient, thus bringing forth the view-window, in which an Edit-button is available. It is also accessible by Right-clik -> Edit. * If an ingredient has these data associated with it, and when entered into a new recipe it is connected with a unit not associated with this ingredient, please inform the user of this with a direct link to edit-mode of this ingredient's data and an option to select the pre-associated unit and have the entered amount converted to this unit. ====Amounts==== * Each ingredient must be specified by an amount. This is to be put as integers and fractions - no decimals. If decimals are entered, convert to fraction. Amounts are to be entered as free text. ====Units==== * Units are created in a separate view and correlated to all other relevant units (ie. 1000 g = 1 kg = 35 oz = 4,44 cup) before being usable in a recipe. * Unit-view contains the following options: * Create unit (type in singular and plural forms and their common abbreviation where applicable) * Convert unit (a unit calculator - type in amount, select unit to be converted from and unit to be converted to). * Double-clicking an existing unit brings up a window for editing this unit. * Automatic convertion from typed-in units to chosen set of standard units. Ie. convert from //kg// to //g// or from //fl.oz// to //dl// or //l// above for instance 1 //l//. ====Preparation method=== * Preparation methods are sometimes but not necessarily attached to an ingredient in a recipe. The text in the preparation method-field is written as free text and no suggestions should be made by the program. ====Categories==== * A category can contain another category by symbolic links. ---------------------------------- * Categories are created in a separate view before being usable in a recipe. * Subcategories are to appear at the top of a category (and not for instance under the letter with which they start). * Subcategories can be mapped to appear in multiple categories (ie. the category "Kager" with all its subcategories is also a subcategory of "Desserter" and "Te og kaffe"). * Various recipes should be categorizable in several categories and/or subcategories, also several subcategories of the same category (ie. a pizza with minced beef is due in both the "Minced meat" and "Pizza"-subcategories of "Dinner"). ====Images==== * Containing copyright information. * Containing origin. * Notify if this is my own image or "borrowed". ====The recipe==== ===Content:=== * Ingredients * Ingredient selected from drop-down list by clicking with mouse or typing the first letters. * Amount of the ingredient (Integers and fractions - no decimals. If decimals are entered, convert to fraction). * Unit selected from drop-down list by clicking with mouse or typing the first letters. All units are present in drop-down list but are automatically converted to the equivalent from a chosen set of standard units. * Preparation method in free text. * Basics * Yield with units, ie. number of muffins, persons... * Categories: ===View-mode:=== ===Edit-mode:=== ====Weekly diet==== * Select difficulty level (from, to) for each day (default value automatically selected, ie. 1to5 for sun-thur, plus 2 for fri-sat...) * Disregard some days (if we are eating out).