Skip to content

BPMN research case for zaakgericht werken using camunda process engine on nodejs external workers

License

Notifications You must be signed in to change notification settings

sjefvanleeuwen/camunda-zaken

Repository files navigation

Camunda Zaken

!NOTE, this is a test project for using BPMN (Camunda) with GEMMA Zaakgericht werken processes. The project is under heavy development and is currently unstable.

process

camunda postman vscode nodejs (npm openapi loopback docker kubernetes

GEMMA Client-API's

Gemma client api interface are generated from Common Ground openapi.yaml openAPI3.0 definitions for nodejs applications. The yaml definitions have been downgraded to openAPI 2.0 (a.k.a. swagger 2.0) because more code generation tools are supported for this version.

GEMMA Server API's

Gemma server api's are generated from Common Ground openapi.yaml openAPI3.0 definitions for nodejs applications. The yaml definitions have been downgraded to openAPI 2.0 (a.k.a. swagger 2.0) because more code generation tools are supported for this version.

Loopback is used on these definitions to generate the API implementations to create the models for data storage.

Install

use: npm install
install default docker image from camunda
install postman for using the configuration files under integration-tests folder
install camunda modeler
deploy the zaakbehandelingsproces.bpmn using the modeler

loopback

If you want to roll your own API's based on the openAPI definitions in the project, you will need to install the loopback cli:

npm i -g @loopback/cli

Database support (through Juggler)

By default the project currently comes with in Memory database datasource (IBM strongloop) but other datasources can be injected.

Database type Package name Maintainer Build status / coverage
ArangoDB ArangoDB jugglingdb-arango Andreas Streichardt Build Status
Firebird Firebird jugglingdb-firebird Henri Gourvest
MongoDB MongoDB jugglingdb-mongodb Anatoliy Chakkaev Build Status Coverage Status
MySQL MySQL jugglingdb-mysql dgsan Build Status Coverage Status
CouchDB CouchDB / nano jugglingdb-nano Nicholas Westlake Build Status
PostgreSQL PostgreSQL jugglingdb-postgres Anatoliy Chakkaev Build Status Coverage Status
Redis Redis jugglingdb-redis-hq Anatoliy Chakkaev Build Status Coverage Status
RethinkDB RethinkDB jugglingdb-rethink Tewi Inaba Build Status
SQLite SQLite jugglingdb-sqlite3 Anatoliy Chakkaev Build Status Coverage Status
WebService built-in Anatoliy Chakkaev n/a
Memory (bogus) built-in Anatoliy Chakkaev n/a
DynamoDB jugglingdb-dynamodb tmpaul Build Status
SQL Server jugglingdb-mssql Quadrus n/a
Azure Table Storage jugglingdb-azure-tablestorage Vadim Kazakov n/a

Usage

run node ./zaakbehandelingsproces.js run the postman collection to triger a new process

Screenshots of IDE's

screencap1
screencap2

Contribute

PRs accepted.

License

EUPL-1.2 © Sjef van Leeuwen