Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sjefvanleeuwen/camunda-zaken

BPMN research case for zaakgericht werken using camunda process engine on nodejs external workers
https://github.com/sjefvanleeuwen/camunda-zaken

bpmn camunda common common-ground commonground external gemma ground javascript nodejs openapi postman rest swagger vng vng-realisatie wigo4it workers zaakgericht

Last synced: about 1 month ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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](doc/zaakbehandelingsproces.png)

| | | | | | | | | |
|:--------:|:--------:|:--------:|:--------:|:--------:|--------:|:--------:|:--------:|:--------:|
| [camunda](https://camunda.com) | [postman](https://www.getpostman.com) | [vscode](https://code.visualstudio.com) | [nodejs](https://nodejs.org) | ([npm](https://www.npmjs.com) | [openapi](https://www.openapis.org) | [loopback](https://loopback.io) | [docker](https://www.docker.com) |[kubernetes](https://kubernetes.io)|

## 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.

* [Betrokkenen ](zrc-client/docs/BetrokkenenApi.md "Betrokkenen API documentation")
* [Klantcontacten ](/zrc-client/docs/KlantcontactenApi.md "Klantcontacten API documentation")
* [Rollen ](/zrc-client/docs/RollenApi.md "Rollen API documentation")
* [Statussen ](/zrc-client/docs/StatussenApi.md "Statussen API documentation")
* [Zaakobjecten ](/zrc-client/docs/ZaakobjectenApi.md "Zaakobjecten API documentation")
* [Zaken ](/zrc-client/docs/ZakenApi.md "Zaken API documentation")

## 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](doc/screencap1.png)

![screencap2](doc/screencap2.png)

## Contribute

PRs accepted.

## License

EUPL-1.2 © Sjef van Leeuwen