oppskrift/doc/Models.md
2019-03-04 23:29:55 +01:00

118 lines
3.2 KiB
Markdown

# Models specifications
## Recipe
### estimatedTime
`Array` of different estimated times : cookTime, prepTime, performTime, totalTime, waitTime
cookTime
- https://schema.org/Duration
- The time it takes to actually cook the dish
prepTime
- https://schema.org/Duration
- The length of time it takes to prepare the items to be used in instructions or a direction
performTime
- https://schema.org/Duration
- The length of time it takes to perform instructions or a direction (not including time to prepare the supplies)
totalTime
- https://schema.org/Duration
- The total time required to perform instructions or a direction (including time to prepare the supplies)
waitTime
- https://schema.org/Duration
- The total time needed to wait between steps, in ISO 8601 duration format
- waitTime is not in the schema : https://github.com/schemaorg/schemaorg/issues/2164
### cookingMethod
→ Maybe just not use it, or analyse the text to excerpt it
The method of cooking, such as Frying, Steaming,...
Maybe have a checklist of methods ?
### recipeCategory
`String (255)`
The category of the recipe—for example, appetizer, entree, etc.
### recipeCuisine
`String (255)`
The cuisine of the recipe (for example, French or Ethiopian).
### recipeIngredient
`String[]`
List of ingredients in text format
A single ingredient used in the recipe, e.g. sugar, flour or garlic.
### recipeInstructions
`String[]`
A step in making the recipe, in the form of a single item (document, video, etc.) or an ordered list with HowToStep and/or HowToSection items.
The number of the step should never be the text.
### recipeYield
`String (50)`
The quantity produced by the recipe (for example, number of people served, number of servings, etc).
### suitableForDiet
`Array` of selected keywords (DiabeticDiet, GlutenFreeDiet, HalalDiet, HinduDiet, KosherDiet, LowCalorieDiet, LowFatDiet, LowLactoseDiet, LowSaltDiet, VeganDiet, VegetarianDiet)
Indicates a dietary restriction or guideline for which this recipe or menu item is suitable, e.g. diabetic, halal etc.
TODO : Decide the best way to store the list... maybe in the model
---
### estimatedCost
The estimated cost of the supply or supplies consumed when performing instructions.
Not sure to use this property or not, I think people can guess the price.
### tool
`String[]`
A sub property of instrument. An object used (but not consumed) when performing instructions or a direction.
### author
The author, a user
TODO : define a user
Person with name, url (profile) and image.
### comment
A list of comments
TODO : define a comment
### commentCount
A property to be shown in microdata/json-ld but in the model
### contributor
If anyone contribute to the recipe they should appear here as a list of users
### dateModified
The most recent modification date
### datePublished
The date the first time the recipe appeared online
### dicussionUrl ?
PROBABLY NOT
### licence
### text ?
### thumbnailUrl ?
### version ?
### description
### identifier ?
### image
### mainEntityOfPage ?
### name
The name of the recipe
### url ?
### likesCount
Calculated from the likes in the database
### difficulty
The degree of difficulty from a list to define