{"id":15297572,"url":"https://github.com/nitorcreations/nflow","last_synced_at":"2025-05-16T00:07:09.170Z","repository":{"id":13759019,"uuid":"16453755","full_name":"NitorCreations/nflow","owner":"NitorCreations","description":"Embeddable JVM-based workflow engine with high availability, fault tolerance, and support for multiple databases. Additional libraries are provided for visualization and REST API.","archived":false,"fork":false,"pushed_at":"2025-04-21T11:21:19.000Z","size":32292,"stargazers_count":214,"open_issues_count":22,"forks_count":42,"subscribers_count":50,"default_branch":"master","last_synced_at":"2025-05-16T00:07:01.186Z","etag":null,"topics":["java","nflow","orchestrating-processes","saga-pattern","workflow","workflow-automation","workflow-engine"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NitorCreations.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-02-02T11:56:18.000Z","updated_at":"2025-05-03T05:42:32.000Z","dependencies_parsed_at":"2023-02-18T16:32:34.995Z","dependency_job_id":"b52ff8fb-4ac0-4344-98c3-060e65003aa3","html_url":"https://github.com/NitorCreations/nflow","commit_stats":{"total_commits":2685,"total_committers":29,"mean_commits":92.58620689655173,"dds":0.7016759776536312,"last_synced_commit":"f884a0798fdca00fa63aee926f78cbf31d65a663"},"previous_names":[],"tags_count":63,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NitorCreations%2Fnflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NitorCreations%2Fnflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NitorCreations%2Fnflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NitorCreations%2Fnflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NitorCreations","download_url":"https://codeload.github.com/NitorCreations/nflow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254442854,"owners_count":22071878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","nflow","orchestrating-processes","saga-pattern","workflow","workflow-automation","workflow-engine"],"created_at":"2024-09-30T19:18:20.197Z","updated_at":"2025-05-16T00:07:04.143Z","avatar_url":"https://github.com/NitorCreations.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"#\n\n![nFlow](./nflow-documentation/nflow_logo.svg#gh-light-mode-only)\n![nFlow](./nflow-documentation/nflow-logo-dark.svg#gh-dark-mode-only)\n\nnFlow is a battle-proven solution for orchestrating business processes. Depending on where you're coming from, you can view nFlow as any of the following:\n\n* Microservices orchestrator (as in [Saga-pattern](https://microservices.io/patterns/data/saga.html))\n* Guaranteed delivery computing\n* Replacement for [business process engine](https://www.techopedia.com/definition/26689/business-process-engine-bpe)\n* Persistent [finite-state machine](https://en.wikipedia.org/wiki/Finite-state_machine)\n\nnFlow has been under development since 2014-01-14 and version 1.0.0 was released on 2014-09-13.\n\n![Build status](https://github.com/NitorCreations/nflow/actions/workflows/build.yaml/badge.svg?event=push)\n\n## Key Features\n\n* Non-declarative \u0026mdash; workflows are defined as code\n* Visualization \u0026mdash; workflows can be visualized in [nFlow Explorer](https://github.com/NitorCreations/nflow/tree/master/nflow-explorer)\n* Embeddable \u0026mdash; usually embedded as a library, but a standalone server is also provided\n* High availability \u0026mdash; the same workflows can be processed by multiple deployments\n* Fault tolerant \u0026mdash; automatic recovery if runtime environment crashes\n* Atomic state updates \u0026mdash; uses and requires a relational database for atomic state updates and locking\n* Multiple databases supported \u0026mdash; PostgreSQL, MySQL, MariaDB, Oracle, Microsoft SQL Server, DB2, H2\n* Open Source under EUPL\n\n## \u003ca name=\"getting-started\"\u003e\u003ca name=\"one-minute-guide\"\u003e\u003c/a\u003e\u003c/a\u003e1 Minute Guide for Getting Started\n\nCreate a Maven project. Add the following to your `pom.xml`. nFlow is available in the [Maven Central Repository](https://search.maven.org/search?q=g:io.nflow).\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.nflow\u003c/groupId\u003e\n  \u003cartifactId\u003enflow-jetty\u003c/artifactId\u003e\n  \u003cversion\u003e10.0.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nCreate a class for starting nFlow in embedded Jetty using H2 memory database.\n\n```java\nimport io.nflow.jetty.StartNflow;\n\npublic class App {\n  public static void main(String[] args) throws Exception {\n    new StartNflow().startJetty(7500, \"local\", \"\");\n  }\n}\n```\n\nThat's it! Running `App` in your favourite IDE will start nFlow server though without any workflow definitions.\n\nPoint your browser to [http://localhost:7500/nflow/ui/doc/](http://localhost:7500/nflow/ui/doc/) and you can use interactive online documentation for the nFlow REST API.\n\nPoint your browser to [http://localhost:7500/nflow/ui/explorer/](http://localhost:7500/nflow/ui/explorer/) and you can use nFlow Explorer.\n\nSee [Getting started section](https://github.com/NitorCreations/nflow/wiki/Getting-Started) for instruction on creating your own workflow definitions.\n\n## \u003ca name=\"components\"\u003e\u003c/a\u003eOk, I'm interested\n\nFor a more thorough getting started guide, configurations, license information etc. checkout the [nFlow wiki pages](https://github.com/NitorCreations/nflow/wiki)! You can also look into a short [slide deck](https://github.com/NitorCreations/nflow/raw/master/nflow-documentation/presentations/nflow_presentation.pdf).\n\nDiscussion and questions are welcome to our forum [nflow-users](https://groups.google.com/forum/#!forum/nflow-users) in Google Groups.\n\nFor commercial support, contact [Nitor sales](mailto:sales@nitor.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnitorcreations%2Fnflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnitorcreations%2Fnflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnitorcreations%2Fnflow/lists"}