Skip to content
Salvatore Gonda edited this page Mar 13, 2025 · 7 revisions

About

About four years ago, in 2021, I started to deal with BPMN professionally. At some point, I started to build a simple library in order to set up a process myself according to the OMG specification. Over time, this library grew and I used it for other experiments with the Go language.

This library is still incomplete, but I wanted to maintain it further. So I started to divide my test lab into many small repositories. This gaves me a better overview and taught me how different modules behave with each other when they are combined. However, in the log run it didn't went well. Also the codebase changed through my increasing learning curve. Actually as of March 2025, the whole idea is now in one single repository and I'm happy with it.

I use Camunda Modeller v5.2.0 as a template for the modelling and take the elements from Camunda version 7.

What it is?

gobpmn is a project for Business Process Model Notation (BPMN) and written in Go.

gobpmn is a library for elements and attributes from the OMG specification for BPMN and is orientated towards this, as well as the Camunda Modeller in version 7.

gobpmn is an approach or an attempt to map valid business process models with "go code" instead of "low code". And for the inclined user or developer in a readable and applicable format that is intended to open the door to manipulation through extended conditions. The fact that a process model can now be mapped in Go Code means that it is now also possible to remain in the same language area.

gobpmn is also an experimental laboratory for testing new techniques in Go and can be seen as a sandbox. By distributing the codebase to a single repositorie, I now have a completely better environment for testing certain features. This also allows me to deepen my own expertise in Go.

gobpmn can be a solution for different use case in the field of small business application for the back end, especially when it comes to automation, logging or tracing. Hit me up, ff you like to know more about my view.

gobpmn does not claim to be complete, but I am motivated enough to try to achieve this goal anyway.

What it is not?

gobpmn is definitely not (yet) a commercial project and does not claim to be.

Participate

You are very welcome to contribute to this project if you feel called to do so. Of course, I would also be happy if you let me know if you want to take a line code or two from gobpmn for your own project, workflow engine or library. Feel free to take what you need.

Clone this wiki locally