项目作者: molok

项目描述 :
Brewing Water Chemistry Calculator
高级语言: Java
项目地址: git://github.com/molok/rabdomante.git
创建时间: 2018-04-21T17:41:08Z
项目社区:https://github.com/molok/rabdomante

开源协议:GNU Affero General Public License v3.0

下载


Rabdomante

Rabdomante (Rhabdomancer in Italian) is an application that helps you finding the optimal mix of waters and salts to match a target water profile:
given a list of waters and salts rabdomante finds the combination closest to the target.

The distance from the target profile is derived from this components:

  • Calcium (Ca)
  • Magnesium (Mg)
  • Sodium (Na)
  • Sulfate (SO4)
  • Chloride (Cl)
  • Bicarbonates (HCO3)

Demo

You can see it in action here: molok.github.io

In this version the computing time is capped to 30 seconds, so it might not give the optimal
result if given a lot of variables.

Code

It started as a CLI application, then I added a desktop application (JavaFX).
Then I realized it would be most useful on the web so, so I created a REST API
with Spark Framework and wrote a React+Redux application in Typescript for it.

You’ll find the React code under the frontend/ directory and the rest under the backend/.
The single jar generated in the backend/ directory contains the CLI, the JavaFX GUI and the REST API.

The React+Redux application can be deployed on a static server, I’m hosting it on a S3 bucket.
I provided a script to deploy the REST API on AWS Lambda.

These are the screenshot of the desktop application:

screenshot

The input and output is a XLSX file. It can be run both with a graphical interface and with a command line interface.

screenshot

Mostyl useful for homebrewing, maybe more. It supports the English and Italian locales

Rabdomante is released under the AGPL3, if you need a less restrictive license feel free to contact me at rabdo@gmail.com"">alessio.bolognino+rabdo@gmail.com

Under the hood rabdomante uses the excellent Choco Solver