An ECA engine which acts as a middleware between WebAPI's.
Find a file
2013-11-18 22:53:09 +01:00
config login feature starts to manifest 2013-11-18 22:53:09 +01:00
documentation very rude commit, basically porting everything from the original project to create a new clean approach with thorough documentation and testing. This commit relies on the huge TODO list to be solved in order to go into a release state. 2013-11-13 16:21:58 +01:00
js login feature starts to manifest 2013-11-18 22:53:09 +01:00
mod_actions login feature starts to manifest 2013-11-18 22:53:09 +01:00
mod_events login feature starts to manifest 2013-11-18 22:53:09 +01:00
rules very rude commit, basically porting everything from the original project to create a new clean approach with thorough documentation and testing. This commit relies on the huge TODO list to be solved in order to go into a release state. 2013-11-13 16:21:58 +01:00
testing bad commit, new architecture 2013-11-14 15:06:10 +01:00
webpages login feature starts to manifest 2013-11-18 22:53:09 +01:00
.gitignore very rude commit, basically porting everything from the original project to create a new clean approach with thorough documentation and testing. This commit relies on the huge TODO list to be solved in order to go into a release state. 2013-11-13 16:21:58 +01:00
create_doc.js bad commit, new architecture 2013-11-14 15:06:10 +01:00
LICENSE.js very rude commit, basically porting everything from the original project to create a new clean approach with thorough documentation and testing. This commit relies on the huge TODO list to be solved in order to go into a release state. 2013-11-13 16:21:58 +01:00
package.json bad commit, new architecture 2013-11-14 15:06:10 +01:00
README.md bad commit, new architecture 2013-11-14 15:06:10 +01:00
run_server.sh testing update, server now runnable from test and capable to receive die command 2013-11-13 17:22:37 +01:00
run_tests.js very rude commit, basically porting everything from the original project to create a new clean approach with thorough documentation and testing. This commit relies on the huge TODO list to be solved in order to go into a release state. 2013-11-13 16:21:58 +01:00

README: webapi-eca

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. Be sure the user which runs the server doesn't have ANY write rights on the server! Malicious modules could capture or destroy your server!

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

Getting started

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 db_interface.js.

Create the configuration file:

mkdir config
vi config/config.json

Insert 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:

Run test suite:

node run_tests

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

node create_doc

_

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