hand sketched logo of electrons orbiting a nucleus

Cocktail Recipe Builder

Sketch

  • remember that relational databases use a new table for each many-to-many relationship

    • so, a cocktail has many ingredients, and an ingredient can be in many cocktails
    • this means we need a new table to store the relationship between cocktails and ingredients
    • this table will have a cocktail_id and an ingredient_id column
    • this is called a "join table" or "junction table"
    • the cocktail_id and ingredient_id columns are both foreign keys that reference the id column of the cocktails and ingredients tables, respectively
  • when working with supabase/postgres and nextjs, what is a decently ergonomical why to handle CRUD of these tables?

    • supabase sdk VS prismajs VS typeorm
  • supabase features

    • database - think tables/data
    • auth - think users
    • storage - think images, videos, etc

Database Models

Cocktail Recipe

  • name
  • description
  • (has many) ingredients
  • instructions
  • garnish
  • (has one) method: shaken | stirred | built | prepped
  • (has one) glassware: coupe | rocks | highball | martini | nick & nora
  • (has one) ice: large | crushed | shaved | none
  • (has many) categories
  • dilution (note: can be estimated from method)
  • [derived] abv
  • [derived] acidity
  • [derived] brix
  • [derived] volume

Ingredient (includes both liquors and recipes)

  • name
  • description
  • (has many) ingredients
  • instructions
  • abv
  • acidity
  • brix
  • (has many) categories

Category

  • name
  • description

Glassware

  • name
  • description
  • capacity

Method

  • name
  • description

Ice

  • name
  • description

Examples

Daiquiri Recipe

  • name: daiquiri
  • description: rum, lime, sugar
  • ingredients:
    • rum
    • lime
    • simple syrup
  • instructions:
    • combine ingredients in a shaker
    • shake with ice
    • strain into a coupe
    • garnish with a lime wheel
  • method: shaken
  • glassware: coupe
  • ice: none
  • garnish: lime wheel

Simple Syrup Ingredient

  • name: simple syrup
  • description: 1:1 sugar to water
  • ingredients:
    • sugar
    • water
  • instructions:
    • combine sugar and water in a jar
    • shake until sugar is dissolved
    • store in the fridge for up to 1 month
  • abv: 0%
  • acidity: 0%
  • brix: 50%
  • categories:
    • sweetener

Market Research

iOS Apps: Food & Drink

  • 5th ranked iOS app in "Food & Drink" category is "Beachbum Berry's Total Tiki" for $12.99
  • 7th is "Cocktail Party: Drink Recipes" for $3.99
  • 8th is "Santa Fe Margarita Trail" for $2.99
  • 12th is "Imbiblia" for $2.99
  • 18th is "Lush Cocktails" for $1.99

Android Apps: Food & Drink

  • 14th "Mixology" for $??