Project Setup
Camundala is written in Scala and provides Scala DSLs. So far we only use it as a sbt projects. Here is a video to get you started with a Scala dev environment: Setting up a dev environment with Coursier.
To get started please take the example project. The example includes a Camunda Spring Boot setup.
For a Camunda 8 example (no Simulations yet) check this project under examples. Be aware that the Camunda 8 examples need either a Camunda Cloud subscription or a standalone installation - I use Camunda's docker images.
As these example are in a complexer multi-module project, we show here and explain each part.
File structure
src // uses maven src setup
/ main / scala
/ yourproject.package
/ MyProcess.scala // put your domain here, needed for this process - provide BPMN examples
/ ApiCreater.scala // Compose here your API Documentation
/ otherStuff // e.g. services etc.
/ it / scala
/ yourproject.package
/ MyProcessSimulation.scala // put your simulations here
project
/ build.properties // version of sbt - see below
build.sbt // dependencies etc. - see below
build.sbt
Here you define the dependencies.
val camundalaVersion = "${projectVersion}."
lazy val camundalaDependencies = Seq(
"io.github.pme123" %% "camundala-api" % camundalaVersion,
"io.github.pme123" %% "camundala-simulation" % camundalaVersion % IntegrationTest
)
Here we want to do API Documentation and Simulations.