linkz-ifelse / bpmn-studio

IDE for designing, executing and inspecting BPMN-based business processes

Home Page:https://www.process-engine.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Node CI

BPMN Studio

BPMN Studio ist eine Desktop- und Web-Applikation zum Erstellen, Verwalten, Ausführen und Auswerten von BPMN-Prozessen, implementiert in Electron, Aurelia & TypeScript.

Was sind die Ziele dieses Projekts?

BPMN Studio soll es dem Anwender so leicht wie möglich machen BPMN-Diagramme zu erstellen und zu pflegen. Des Weiteren bringt BPMN Studio eine Workflow Engine mit, um diese Diagramme auszuführen.

Relevante URLs

ProcessEngine.io

ProcessEngine Runtime

Changelog und Release

Downloads für Windows, macOS und Docker

Es stehen Releases von BPMN Studio für Windows und macOS zum Download bereit.

Ein Docker-Image des kompletten Bundles (BPMN Studio & ProcessEngine Runtime) wird auf Docker Hub bereitgestellt.

Wie kann ich das Projekt aufsetzen?

Voraussetzungen

Setup/Installation

TL;DR

  1. npm install
  2. npm run build
  3. npm start / npm run start_dev

Notizen:

  1. Für npm run electron-build-<OS> gilt:

    Für den Platzhalter <OS> können folgende Werte eingesetzt werden:

    • macos für MacOS
    • windows für Windows

    Beispiel:

    npm run electron-build-macos

TL;DR Tests

  1. npm start
  2. npm run electron-build-<OS>
  3. npm test

Wie kann ich das Projekt benutzen?

Installation der Abhängigkeiten

Die Abhängigkeiten werden wie folgt installiert:

npm install

Benutzung

Zum builden:

npm run build

Dieses Skript buildet die Anwendung, das Ergebnis ist produktionsreif.

Zum starten:

npm start

Dieses Skript startet die statische Auslieferung der Anwendung auf Port 17290. Zuerst muss die Anwendung gebaut worden sein.

Es ist möglich einen anderen Port zu spezifizieren:

npm start -- --port 9000

Das startet das BPMN Studio auf Port 9000.

Anmerkung

Der Port muss aus technischen Gründen zwischen 1000 und 65535 liegen.

Erreichbarkeit

Es ist möglich eine andere IP-Adresse als 127.0.0.1 zu spezifizieren:

npm start -- --host 0.0.0.0

Damit ist das BPMN Studio auch von außen erreichbar.

Zum starten (Entwicklung)

npm run start_dev

Dieses Skript startet die Auslieferung der Anwendung für die Entwicklung. Bei Änderungen im Quelltext wird die Anwendung neugebaut und der Webbrowser automatisch neu geladen.

Electron Applikation

Zum builden:

Mac:

npm run electron-build-macos

Nach dem Builden befindet sich die fertige Applikation im dist/electron/mac Ordner.

Windows:

Vor dem ersten Build müssen die windows-build-tools installiert werden:

npm --vs2015 install --global windows-build-tools

Danach kann gebuildet werden:

npm run electron-build-windows

Der Buildvorgang generiert im dist/electron/ Ordner die Datei bpmn-studio-setup-<VERSION>.exe. Diese kann zur Installation der Applikation genutzt werden; <VERSION> entspricht dabei der Version, in welcher die Applikation installiert wird.

Beispiel:

dist/electron/bpmn-studio-setup-5.7.0.exe

Docker Image

Container builden

Das Image lässt sich wie folgt builden:

docker build --tag bpmn-studio:latest .

Container builden mit optionalen Parametern

Es ist möglich, das base image, sowie die Paketversionen anzupassen:

  • node_version: Base image version mit NodeJS und Alpine Linux
docker build --build-arg node_version=10-alpine \
             --tag bpmn-studio:latest.

Container starten

Der Container lässt sich mit folgendem Befehl starten:

docker run -p 9000:9000 bpmn-studio:latest

Anschließend lässt sich das BPMN Studio unter URL http://localhost:17290 aufrufen.

Shortcut Skripte

Es sind Skripte in der package.json vordefiniert, welche sich durch npm run <script name> ausführen lassen.

Die folgenden Skripte, werden in unserem Tooling verwendet:

  • build

    Baut alles, was zum Ausführen der Webversion, der Electron-Dev App und der Tests notwendig ist.

  • reinstall

    Entfernt die aktuell installierten Abhängigkeiten, installiert diese neu und baut die komplette Anwendung.

  • reset

    Entfernt alle aktuell installierten Abhängigkeiten.

  • start

    Startet die BPMN Studio Webanwendung.

  • start_dev

    Startet die BPMN Studio Webanwendung und trackt die Quelldatein (geänderte Quelltextdatein werden neu transpiliert und die Webanwendung wird neu geladen).

  • electron-start-dev

    Baut das Aurelia Bundle und startet die Electron Anwendung.

  • lint

    Startet eslint für das gesamte Projekt.

  • electron-build-macos

    Baut die Electron-Anwendung für macOS.

  • electron-build-windows

    Baut die Electron-Anwendung für Windows.

  • test

    Führt die Spectron Tests für das BPMN Studio in Electron aus.

  • test-electron

    Baut die Tests und führt diese mit der gebauten BPMN Studio App aus.

  • test-electron-macos

    Führt die Tests in der Electron Dev Variante auf macOS aus.

    • test-electron-windows

    Führt die Tests in der Electron Dev Variante auf Windows aus.

Was muss ich sonst noch wissen?

Die Konfiguration liegt unter aurelia_project/environments/dev.ts.

Wen kann ich auf das Projekt ansprechen?

Alexander Kasten Christian Werner René Föhring Steffen Knaup

About

IDE for designing, executing and inspecting BPMN-based business processes

https://www.process-engine.io/

License:MIT License


Languages

Language:TypeScript 83.9%Language:HTML 11.4%Language:SCSS 3.9%Language:JavaScript 0.5%Language:PowerShell 0.2%Language:Shell 0.2%Language:Dockerfile 0.1%Language:CSS 0.0%