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.