Technologies
Our goal is to keep the dependencies to a minimum. We group them to our Modules. The following Open Source Projects are great and are worth the extra dependency:
camundala-domain
Tapir
With tapir, you can describe HTTP API endpoints as immutable Scala values.
We are using this to describe our domain models. Tapir allows us to generate the Open API specification from the models.
Circe
circe (pronounced SUR-see, or KEER-kee in classical Greek, or CHEER-chay in Ecclesiastical Latin) is a JSON library for Scala (and Scala.js).
We use Circe to encode our domain models to JSON and decode them back. This is used by Tapir to generate the specifications and the Simulations to run the REST calls.
camundala-bpmn
Depends on: camundala-domain
OS-Lib
OS-Lib is a simple Scala interface to common OS filesystem and subprocess APIs. OS-Lib aims to make working with files and processes in Scala as simple as any scripting language, while still providing the safety, flexibility and performance you would expect from Scala.
camundala-api
Depends on: camundala-bpmn
scala-xml
The standard Scala XML library.
We use it for the reference resolutions in the BPMNs.
Typesafe Config
Configuration library for JVM languages.
For all configurations, that are not directly in Scala, we use this library. At the moment this is PROJECT.conf (Project Documentation) and RELEASE.conf (Company Documentation).
camundala-simulation
Depends on: camundala-bpmn
sttp Client
sttp client is an open-source library which provides a clean, programmer-friendly API to describe HTTP requests and how to handle responses.
We use it to call the REST API from Camunda
camundala-dmn
Depends on: camundala-bpmn
Camunda DMN Tester
A little DMN Table tester with the following Goals:
- As a developer I want to test the DMNs that I get from the Business, even not knowing the concrete rules.
- Business people can create their own tests.
- They can easily adjust the tests to the dynamic nature of DMN Tables.
We generate Dmn Table Tester configurations from a DSL.
sttp Client
see camundala-simulation
To use the DmnTester's REST API.