All Projects → lzw5399 → tumbleweed

lzw5399 / tumbleweed

Licence: MIT License
Lightweight workflow engine microservice implement BPMN 2.0

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to tumbleweed

Smartflow Sharp
基于C#语言研发的Smartflow-Sharp工作流组件,该工作流组件的特点是简单易用、方便扩展、支持多种数据库访问、高度可定制化,支持用户按需求做功能的定制开发,节省用户的使用成本
Stars: ✭ 594 (+2482.61%)
Mutual labels:  workflow, workflow-engine, bpmn, bpm
Kogito Examples
Kogito examples - Kogito is a cloud-native business automation technology for building cloud-ready business applications.
Stars: ✭ 96 (+317.39%)
Mutual labels:  workflow, workflow-engine, bpmn, bpm
Kogito Runtimes
Kogito Runtimes - Kogito is a cloud-native business automation technology for building cloud-ready business applications.
Stars: ✭ 188 (+717.39%)
Mutual labels:  workflow, workflow-engine, bpmn, bpm
Workflower
A BPMN 2.0 workflow engine for PHP
Stars: ✭ 540 (+2247.83%)
Mutual labels:  workflow, bpmn, bpm
CaseManagement
CMMN engine implementation in dotnet core
Stars: ✭ 16 (-30.43%)
Mutual labels:  workflow, workflow-engine, bpmn
Pvm
Build workflows, activities, BPMN like processes, or state machines with PVM.
Stars: ✭ 348 (+1413.04%)
Mutual labels:  workflow, workflow-engine, bpmn
Rails workflow
Check Wiki for details
Stars: ✭ 295 (+1182.61%)
Mutual labels:  workflow, workflow-engine, bpm
micronaut-camunda-bpm
Integration between Micronaut and Camunda (Workflow Engine). We configure Camunda with sensible defaults, so that you can get started with minimum configuration: simply add a dependency in your Micronaut project to embed the workflow engine!
Stars: ✭ 73 (+217.39%)
Mutual labels:  workflow-engine, bpmn, bpm
Flor
a workflow engine
Stars: ✭ 190 (+726.09%)
Mutual labels:  workflow, workflow-engine, bpm
Zeebe
Distributed Workflow Engine for Microservices Orchestration
Stars: ✭ 2,165 (+9313.04%)
Mutual labels:  workflow, workflow-engine, bpmn
Django Lb Workflow
Reusable workflow library for Django
Stars: ✭ 153 (+565.22%)
Mutual labels:  workflow, workflow-engine, bpmn
Theflow
Workflow automation library for .NET
Stars: ✭ 72 (+213.04%)
Mutual labels:  workflow, workflow-engine, bpmn
Jbpm
a Business Process Management (BPM) Suite
Stars: ✭ 1,226 (+5230.43%)
Mutual labels:  workflow, bpmn, bpm
Camunda Bpm Platform
Flexible framework for workflow and decision automation with BPMN and DMN. Integration with Spring, Spring Boot, CDI.
Stars: ✭ 2,390 (+10291.3%)
Mutual labels:  workflow, bpmn, bpm
Viewflow
Reusable workflow library for Django
Stars: ✭ 2,136 (+9186.96%)
Mutual labels:  workflow, workflow-engine, bpmn
Aiida Core
The official repository for the AiiDA code
Stars: ✭ 238 (+934.78%)
Mutual labels:  workflow, workflow-engine
Pallets
Simple and reliable workflow engine, written in Ruby
Stars: ✭ 216 (+839.13%)
Mutual labels:  workflow, workflow-engine
activiti-examples
This repository contains Activiti 7.x Examples
Stars: ✭ 367 (+1495.65%)
Mutual labels:  bpm, bpmn2
zenaton-ruby
💎 Ruby gem to run and orchestrate background jobs with Zenaton Workflow Engine
Stars: ✭ 32 (+39.13%)
Mutual labels:  workflow, workflow-engine
Zeebe Modeler
Desktop Application for modeling Zeebe Workflows with BPMN
Stars: ✭ 198 (+760.87%)
Mutual labels:  workflow, bpmn

tumbleweed workflow engine

English | 简体中文

Introduction

Workflow engine based on bpmn 2.0, split users, forms, etc., and focus on the flow of the process itself

Use with workflow designer

https://github.com/lzw5399/tumbleweed-designer

Project positioning

Tumbleweed is a workflow independent microservice to provide RESTful services (subsequent to consider changing to grpc-gateway form). Separate dependencies such as [user/role] and [form] to support multi-tenancy

Processing for [user/role]

  • Designate a tenant for the system connected to the workflow engine
  • Then synchronize the id and name of the user/role that needs to use the workflow in the system to the database of the workflow engine
  • The workflow engine itself only cares about the unique identification of the user/role for approval, etc.

Processing for [Form]

  • The workflow engine itself does not save any form structure and data
  • If there are some gateway conditions in the circulation that need to use form data, assign the judgment field in the form to variable, and then use the variable in the condition expression to judge

Supported bpmn elements

  • Event
    • StartEvent
    • EndEvent
  • Activity
    • UserTask
    • ScriptTask
  • Gateway
    • ExclusiveGateway
    • ParallelGateway
    • InclusiveGateway
  • SequenceFlow

Technology Architecture

golang + echo + gorm + postgres

External component dependencies

No other dependencies except the database (postgres) -mysql needs to replace the driver of gorm and make a small modification to some sql

data access

gorm + postgres

Use the wf schema of the specified database. A database can be used alone or integrated into an existing business database

Support automatic migration (configurable on or off)

Supported features

  • All the basic functions that the above bpmn element should support
  • Countersign
  • Referral for approval
  • Approval time limit Natural day/working day
    • Timeout consequences (automatically pass/reject or no action)
  • WebHook
  • Multi-tenancy
  • Process link for display

Quality assurance

  • Integration Testing

Project supported by JetBrains

Many thanks to Jetbrains for kindly providing a license for me to work on this and other open-source projects.

Jetbrains
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].