Mozart - An Elixir BPM Platform

What is a Business Process Management

See Introduction to BPM in hexdocs to get a basic understanding of Business Process Management (BPM).

Documentation

View documentation for Mozart in hexdocs at https://hexdocs.pm/mozart/api-reference.html

Introduction

Mozart is an open source BPM platform written using Elixir. Process models are defined using a set of Elixir structs providing a modelling language which is somewhat inspired by AWS Step Functions. See AWS Step Functions.

The most distinguishing feature of Mozart is that each business process model is executed in a GenServer instance, made possible by the well known character of Elixir (and Erlang) multi-processing.

Another important feature is that process models are not graphically constructed using BPMN2. Instead, they are textually represented by struct based Elxir data structures. This makes BPM, hopefully, just another tool in the software developers toolkit.

Current Use Cases (and Non Use Cases)

Installation

The package can be installed by adding mozart to your list of dependencies in mix.exs:

def deps do
  [
    {:mozart, "~> 0.2"}
  ]
end

Major Todo Items

Providing Feedback

If you have questions, comments, suggestions, etc. feel free to open issues in GitHub.

Collaboration

Yes, it would be great having other developers join the effort (and discussion).