Giter VIP home page Giter VIP logo

bpmn-studio's Introduction

BPMN Studio

BPMN Studio ist eine Web- und Desktop-Applikation zur Erstellung, Verwaltung, Ausführung und Auswertung von BPMN-Prozessen. Es setzt auf dem BPMN.io auf und den BPMN-Standard 2.x um.

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 kann BPMN Studio mit einer Workflow Engine verbunden werden, 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 bauen:

npm run build

Dieses Skript baut 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 bauen:

Mac:

npm run electron-build-macos

Nach dem Bauen kann man in dem dist/electron/mac Ordner die fertige Applikation finden und ausführen.

Windows:

Vor dem erstmaligen Builden müssen die windows-build-tools installiert werden:

npm install --global --production windows-build-tools

Danach kann gebuildet werden:

npm run electron-build-windows

Nach dem Bauen, kann man in dem dist/electron/ Ordner die Datei bpmn-studio-setup- <VERSION>.exe ausführen, um die Applikation zu installieren; <VERSION> wird durch die entsprechende Version ersetzt.

Beispiel:

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

Docker Image

Container bauen

Das Image lässt sich wie folgt bauen:

docker build --tag bpmn-studio:latest .

Container bauen 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.

  • electron-rebuild

    Baut alle nativen Abhängigkeiten.

  • 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

bpmn-studio's People

Contributors

alexanderkasten avatar cmg-dev avatar dependabot[bot] avatar devbastis avatar elraptorus avatar heikomat avatar mafa961 avatar miguelacarballo avatar paulomart avatar pinguin45 avatar process-engine-ci avatar roblen45 avatar robpal94 avatar rrrene avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.