webapi-eca/README.md
Dominic Bosch 1342d0b2de Events can now be pushed into the engine via webpage.
The events are now queued through the DB.
2013-11-28 19:14:05 +01:00

2 KiB

README: webapi-eca

TODO Remake

A Modular ECA Engine Server which acts as a middleware between WebAPI's. This folder continues examples of an ECA engine and how certain use cases could be implemented together with a rules language.

The server is started through the server.js module by calling node rule_server.js.

Getting started

Prerequisites:

  • node.js (find it here)

  • (optional) CoffeeScript, if you want to develop and compile from coffee sources:

     sudo npm -g install coffee-script
    

Clone project:

git clone https://github.com/dominicbosch/webapi-eca.git

Download and install dependencies:

cd webapi-eca
npm install

Get your redis instance up and running (and find the port for the config file below) or create your own js/db_interface.js.

Edit the configuration file:

vi config/config.json

Apply your settings, for example:

{
    "http_port": 8125,
    "db_port": 6379,
    "crypto_key": "[your key]",
    "session_secret": "[your secret]"
}

Start the server:

node js/server

Congratulations, your own WebAPI based ECA engine server is now up and running!

Optional command line tools:

Create the doc (to be accessed via the webserver, e.g.: localhost:8125/doc/):

node create_doc

Run test suite:

node run_tests

_

TODO

  • Redis queue
  • user handling (personal credentials)
  • security in terms of users (private key, login)
  • vm for modules, only give few libraries (no fs!)
  • rules generator (provide webpage that is used to create rules dependent on the existing modues)
  • geo location module, test on smartphone.

_

TODO per module

Testing | clean documentation | Clean error handling (Especially in loading of modules and their credentials):

  • DB Interface
  • Engine
  • Event Poller
  • HTTP Listener
  • Logging
  • Module Loader
  • Module Manager
  • Server