Liking cljdoc? Tell your friends :D

brew-bot - The algorithmic beer recipe generator

Github Runner Clojars Project Dependencies Status cljdoc badge

We’re making beer. I’m the brewery!

  • Bender Bending Rodriguez from Futurama

brew-bot

A library that spits out brew recipes for n-gallon beer batches. Originally made for wallbrew.com

The beta release of our SPA is now available! If you're interested in contributing to the site, let us know. That project can be found here.

Recipe Generators

  • Purely Random - brew-bot will randomly select ingredients and quantities up to the set weight limit.
  • Constrained Random - brew-bot will randomly select ingredients and quantities up to the set weight limit, selecting no more ingredients than the set limit.
  • Weighted Random - brew-bot will allow the user to select ingredients to adjust their relative selection probabilities, and randomly pick ingredients from the full list respecting the user-selected weights.
  • Weighted Guided - brew-bot will allow the user to select ingredients to adjust their relative selection probabilities, and randomly pick ingredients from the that list respecting the user-selected weights.
  • COMING SOON: Weighted Observed - brew-bot will utilize weights learned from scraping real world beer recipes by style.

BJCP Conformance

brew-bot also maintains the data included in the Beer Judge Certification Program (BJCP) to determine recipe styles and characteristics. This data can be utilized to determine what characteristics the generated recipes may have, and which traditional styles they may represent. The 2015 style guidelines are currently the only represented of the program's judging history.

Installation

A deployed copy of the most recent version of brew-bot can be found on clojars. To use it, add the following as a dependency in your project.clj file:

Clojars Project

The next time you build your application, Leiningen should pull it automatically. Alternatively, you may clone or fork the repository to work with it directly.

Testing

doo, a Leiningen plugin used to run ClojureScript tests in many JS environments, is already in project.clj. Karma is used as the test runner, and is included in package.json.

To install Karma, simply install the Node package:

npm install

Then build the application and run the tests:

lein test-build

The tests will also execute on the JVM, to ensure the library is compatible for apps thick and thin.

License

Copyright © 2019-2020 Nick Nichols

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

Wooden Beer Keg Icon by Icons8

Can you improve this documentation? These fine people already did:
Nick Nichols, Nick A Nichols, Nick A. Nichols & Dareknotderek
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close