node package manager

flobot

Flobot

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

Build Status Standard - JavaScript Style Guide

Install

$ npm install flobot --save

Usage

var flobot = require('flobot')
 
flobot.boot(
  {
    // Blueprints are structured directories that describe a business function. 
    // They contain 'flows' (e.g. Finite State Machines expressed in JSON) 
    // along with the resources required for those flows 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: [
      '/flobot/blueprints/hr',      // Some flows for HR-related things 
      '/flobot/blueprints/payroll'  // Some flows for payroll-related activities  
    ],
 
    // Flobot is extended via plugins, each in-turn offer 'services' and other components... 
    pluginPaths: [
      '/flobot/plugins/flobot-express-plugin',  // For accessing Flobot over HTTP/REST etc. 
      '/flobot/plugins/flobot-import-plugin',   // Adds import-from-CSV capabilities 
      '/flobot/plugins/flobot-mongodb-plugin'   // Persist to MongoDB instead of the default in-memory solution  
    ],
    
    // Config that will be offered to each of the plugins... 
    config: {
    
      // Of use to the 'flobot-mongodb-plugin' 
      mongodbConnection: {
        host: 'localhost',
        port: 27017,
        database: 'flobotTest'
      }
                 
    }
  },
  
  // Callback once everything has booted (or not) 
  function (err, services) {   
    if (err) {
      // Handle something going wrong 
      console.error(err)
    } else {
      // Do something with those services... 
      // (e.g. the 'flobot-express-plugin' provides an Express-powered 'server' service) 
      var port = 3000
      var app = services.server.app
      app.listen(port, function () {        
        console.log('Example app listening on port ' + port);       
      })  
    }   
  }
)

Why?

Flobot 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 https://www.flobotjs.io/

Tests

$ npm test

License

MIT