SpiffWorkflow is a software development platform for building, running, and monitoring executable diagrams https://www.spiffworkflow.org/
Go to file
jasquat f86dc9f68b
Improvement/flexible task iteration (#507)
* updated to use new spiff branch and fixed broken tests w/ burnettk essweine

* updated spiffworkflow with new main build w/ burnettk essweine

* initial updates to new spiff branch w/ burnettk essweine

* more updates for new spiff w/ burnettk essweine

* fixed some linting issues w/ burnettk essweine

* fixed some failing tests w/ burnettk

* updated spiffworkflow for cancel fix w/ burnettk

* Improvement/flexible task iteration 2 (#504)

* wip

* consistent failure, mostly

* removing test code and tests

* removing unused test bpmn files

* removing unused test bpmn files

* minor cleanup of commented code

* spaces and unused imports

* go back to spiff on main

---------

Co-authored-by: burnettk <burnettk@users.noreply.github.com>

* lint

* updated test to reflect storing predicted tasks w/ burnettk

* add some orders so postgres does not do whatever it wants, and clear log

* fix lint

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
Co-authored-by: danfunk <daniel.h.funk@gmail.com>
Co-authored-by: burnettk <burnettk@users.noreply.github.com>
2023-09-21 14:47:18 -07:00
.github Feature/UI tweaks (#419) 2023-09-07 10:12:13 -04:00
SpiffWorkflow Merge commit '92bfe2e65986524fc0d39b18d522ae7c55a28e92' 2023-08-09 16:14:27 -04:00
bin Improvement/flexible task iteration (#507) 2023-09-21 14:47:18 -07:00
bpmn-js-spiffworkflow Merge commit '7db152f01049e0b788ccbfd3ce2358987df67cdc' 2023-08-09 16:14:32 -04:00
connector-proxy-demo Merge commit 'f7dada2c866f9ef7a8dc356868db1c2796967e4e' 2023-08-09 16:14:33 -04:00
docs fix heading and install markdownlint if needed 2023-09-15 20:29:02 -04:00
spiffworkflow-backend Improvement/flexible task iteration (#507) 2023-09-21 14:47:18 -07:00
spiffworkflow-frontend Improvement/flexible task iteration (#507) 2023-09-21 14:47:18 -07:00
.darglint added some base stuff to get pyl working 2022-10-27 09:15:56 -04:00
.flake8 pyl and turn back on autoreload for homepage w/ burnettk 2023-04-13 16:56:49 -04:00
.gitignore use a slightly safer time in migration script. w/ jlantz 2023-08-29 12:22:43 -04:00
.pre-commit-config.yaml Typeahead datastore (#321) 2023-06-09 12:28:59 -07:00
.readthedocs.yaml use requirements.txt for readthedocs build. 2023-05-18 11:26:47 -04:00
.tool-versions Move to Python 3.11 (#27) 2022-11-09 13:45:16 -05:00
CONTRIBUTING.rst Feature/pin spiff in ci (#428) 2023-08-03 11:49:30 -04:00
Jenkinsfile ci: sent Discord notifications for all builds 2023-06-01 20:16:17 +02:00
LICENSE Initial commit 2022-10-12 10:17:40 -04:00
README.md add keycloak info to README (#509) 2023-09-21 12:03:56 -07:00
docker-compose.yml feature/fix-run-scheduler-config (#456) 2023-08-31 16:09:26 -04:00
editor.docker-compose.yml feature/fix-run-scheduler-config (#456) 2023-08-31 16:09:26 -04:00
poetry.lock Bug/predicted tasks dropped (#484) 2023-09-12 16:15:43 -04:00
pyproject.toml let ruff sort imports and ditch duplicative pre-commit linters 2023-05-26 20:01:08 -04:00

README.md

spiff-arena

SpiffArena is a low(ish)-code software development platform for building, running, and monitoring executable diagrams. It is intended to support Citizen Developers and to enhance their ability to contribute to the software development process. Using tools that look a lot like flow-charts and spreadsheets, it is possible to capture complex rules in a way that everyone in your organization can see, understand, and directly execute.

Please visit the SpiffWorkflow website for a Getting Started Guide to see how to run SpiffArena locally and try it out. There are also additional articles, videos, and tutorials about SpiffArena and its components, including SpiffWorkflow, Service Connectors, and BPMN.js extensions.

Backend Setup

First install python and poetry. Then:

cd spiffworkflow-backend
poetry install
./bin/recreate_db clean
./bin/run_server_locally

Keycloak Setup

You will want an openid server of some sort. There is one built in to the app that is used in the docker compose setup for simplicity, but non-compose defaults use a separate keycloak container by default. You can start it like this:

./keycloak/bin/start_keycloak

Frontend Setup

First install nodejs, ideally the version in .tool-versions (but likely other versions will work). Then:

cd spiffworkflow-frontend
npm install
npm start

Run tests

./bin/run_pyl

Run cypress automated browser tests

Get the app running so you can access the frontend at http://localhost:7001 in your browser by following the frontend and backend setup steps above, and then:

./bin/run_cypress_tests_locally

Docker

For full instructions, see Running SpiffWorkflow Locally with Docker.

The docker-compose.yml file is for running a full-fledged instance of spiff-arena while editor.docker-compose.yml provides BPMN graphical editor capability to libraries and projects that depend on SpiffWorkflow but have no built-in BPMN edit capabilities.

Contributing

This is a monorepo based on git subtrees that pulls together various spiffworkflow-related projects. Feel free to ignore that and drop us a pull request. If you need to push back from the monorepo to one of the individual repos, here's an example command (and find other scripts we use in the bin directory):

git subtree push --prefix=spiffworkflow-frontend git@github.com:sartography/spiffworkflow-frontend.git add_md_file

License

SpiffArena's main components are published under the terms of the GNU Lesser General Public License (LGPL) Version 3.

Support

You can find us on our Discord Channel.

Commercial support for SpiffWorkflow is available from Sartography.