35 lines
1.2 KiB
Markdown
35 lines
1.2 KiB
Markdown
# Technical Overview
|
|
|
|
## Components
|
|
```mermaid
|
|
graph TD
|
|
subgraph spiff-arena
|
|
Backend
|
|
Frontend
|
|
end
|
|
subgraph Backend
|
|
subgraph SpiffWorkflow lib
|
|
end
|
|
end
|
|
subgraph Frontend
|
|
subgraph bpmn-js-spiffworkflow lib
|
|
end
|
|
end
|
|
Frontend -- uses REST API --> Backend
|
|
Backend -- delegates to --> C
|
|
Backend -- persists to --> DB
|
|
DB[(mysql/postgres)]
|
|
C[Connector Proxy]
|
|
```
|
|
|
|
SpiffArena is a system that allows users to build and execute BPMN diagrams.
|
|
It is composed of three applications, [spiffworkflow-frontend](frontend), [spiffworkflow-backend](backend), and, optionally, a [connector proxy](connector_proxy).
|
|
|
|
## Source code layout
|
|
|
|
From a source code perspective, there are three repositories that may be of interest:
|
|
|
|
* [spiff-arena](https://github.com/sartography/spiff-arena) - Includes spiffworkflow-frontend, spiffworkflow-backend, and connector-proxy-demo
|
|
* [SpiffWorkflow](https://github.com/sartography/SpiffWorkflow) - The core SpiffWorkflow library, 10 years old, python, awesome, [well-documented](https://spiffworkflow.readthedocs.io/).
|
|
* [bpmn-js-spiffworkflow](https://github.com/sartography/bpmn-js-spiffworkflow) - The frontend library that extends bpmn-js to work with SpiffWorkflow
|