Skip to content

MPK1/bar-assistant-data

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bar Assistant Public Data

This is data that gets imported when creating a new bar in Bar Assistant.

Still WIP:

  • Add and validate via JSON schema

Data structure

To make it easier to write recipes by hand and at the same time handle merge requests / importing the choice of recipe format is YAML in single files.

  • Every recipe should have a unique filename, usually a slug of the cocktail name.
  • For data integrity, you can use this filename as unqiue _id reference when writing recipes to reference other data (like ingredients, glass types, methods...).
  • Recipe images are stored in images folder located in the same folder as the .yml files.
  • You can add multiple images and reference them by their filename when adding a new recipe.
  • It's recommended that you add images as the following filename format: {recipe_slug}-{image-number}.{extension}, for example: old_fashioned-1.jpg, old_fashioned-2.webp, gin-1.png.
  • All images must have copyright information, preferebly author of the image. For example: Punch | John Doe, Imbibe magazine, Salvador Dali

Contributing

  • To add a new cocktail recipe you can use data/_example_cocktail.yml as a template.
  • To add a new ingredient you can use data/_example_ingredient.yml as a template.
  • Run npm run build (TODO: automate this step)

Cocktail tags

Use tags that make sense to the recipe, try to keep total tags between 1 and 5. Some examples:

  • By taste: Bright, Bitter, Herbacious, Citrusy, Fruity, Floral, Savory, Smokey, Spicy, Sweet, Tart
  • By riff/type: Negroni, Manhattan, Old fashioned, Sour, Flip, Spritz, Fizz, Cooler, Frozen, Julep, Swizzle
  • Other common ones: Summer, Winter, Tiki, Virgin, Wine

Image manipulation

For data to be more consisted we include image optimization script. Any entry that does not have placeholder_hash will be run through this optimization. This step will update the .yml file at the end.

Ingredient optimization includes:

  • Clamp to max height of 600
  • Trim empty space around image
  • Compress the image
  • Downgrade to 80% of image quality
  • Generate placeholder_hash with thumbhash

Cocktail optimization includes:

  • Clamp to max height of 1400
  • Compress image with 80% quality
  • Use mozjpeg defaults
  • Generate placeholder_hash with thumbhash

About

Cocktail and ingredients data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.2%
  • Dockerfile 2.8%