mirror of
https://github.com/sartography/spiff-arena.git
synced 2025-01-27 17:55:04 +00:00
963d62b323
* let us proof everything * proof and ventilate everything * restore removed content * add back in some headers * add back more headers * restore header * fix header * fix backend * restore two long files from main to avoid mangling * update edit_all for testing * fix docs * notes * more spacing --------- Co-authored-by: burnettk <burnettk@users.noreply.github.com>
46 lines
1.3 KiB
Markdown
46 lines
1.3 KiB
Markdown
# Frontend
|
|
|
|
spiffworkflow-frontend is a React application that relies on the spiffworkflow-backend REST API.
|
|
We try to keep library bloat to a minimum.
|
|
|
|
## Libraries
|
|
|
|
### bpmn-js
|
|
|
|
The bpmn-js library is used to render and edit BPMN diagrams.
|
|
This library is maintained by the Camunda team.
|
|
|
|
### bpmn-js-spiffworkflow
|
|
|
|
These are SpiffWorkflow extensions to bpmn-js to create a better experience when executing BPMN diagrams using the SpiffWorkflow execution engine.
|
|
|
|
### rjsf/core, @rjsf/utils, etc.
|
|
|
|
React JSON Schema Form is used to build forms from JSON schemas.
|
|
You can attach JSON schemas to tasks that are meant to be completed by people (User Tasks), and the frontend will render a form for that task.
|
|
You can specify what data is required as well as how the form should look.
|
|
|
|
### @tanstack/react-query
|
|
|
|
We haven't deeply integrated this library, but it is used by the system that caches permission calls.
|
|
|
|
## Layers
|
|
|
|
```mermaid
|
|
graph LR
|
|
Routes -- delegate work to --> Services
|
|
```
|
|
|
|
### Routes
|
|
|
|
When the browser sees a URL like /hithere, it will render a route component to handle the request.
|
|
|
|
### Services
|
|
|
|
The route component may or may not delegate some of its work to a service.
|
|
|
|
## Deployment
|
|
|
|
The generated Docker image uses nginx to serve static HTML/CSS/JS files that are generated by the Vite build process.
|
|
These files can also be hosted on a CDN.
|