@wmfs/tymly

A framework for building and sharing workflows in Node.js

Usage no npm install needed!

<script type="module">
  import wmfsTymly from 'https://cdn.skypack.dev/@wmfs/tymly';
</script>

README

tymly

Tymly Package npm (scoped) CircleCI codecov CodeFactor Dependabot badge Commitizen friendly JavaScript Style Guide license FOSSA Status

A framework for building and sharing workflows in Node.js.

Install

$ npm install tymly --save

Usage

const tymly = require('tymly')

const tymlyServices = await tymly.boot(
  {
    // Blueprints are structured directories that describe a business function.
    // They contain 'state-machines' (e.g. Finite State Machines expressed in JSON as per Amazon State Machine specification: http://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-state-machine-structure.html)
    // along with the resources required for those state-machines to run (e.g. data
    // model definitions, images, form-layouts, templates etc.)
    // This is just a simple list of directories where blueprints can be found...
    blueprintPaths: [
      '/tymly/blueprints/hr',      // Some flows for HR-related things
      '/tymly/blueprints/payroll'  // Some flows for payroll-related activities
    ],
    excludeBlueprints: 'the-thing-that-should-not-be-blueprint'
    // Tymly is extended via plugins, each in-turn offer 'services' and other components...
    pluginPaths: [
      '/tymly/plugins/tymly-express-plugin',  // For accessing Tymly over HTTP/REST etc.
      '/tymly/plugins/tymly-etl-plugin',   // Adds import-from-CSV capabilities
      '/tymly/plugins/tymly-pg-plugin'   // Persist to PostgreSQL instead of the default in-memory solution
    ],
    excludePlugins: 'the-thing-that-should-not-be-plugin'
  }
)

// Do something with those services...
// (e.g. the 'tymly-express-plugin' provides an Express-powered 'server' service)
const port = 3000
services.server.listen(port, () => {
  console.log(`Example app listening on port ${port}`);
})

Why?

Tymly has been developed as an alternative for organisations (especially non-profits and Government departments) who need continually-evolving business software - but can do without the complexity, expense and vendor lock-in that usually accompanies it.

Documentation

For documentation, please visit http://www.tymly.io/

Tests

$ npm test

License

MIT

FOSSA Status