webapi-eca/README.md
2013-11-14 15:06:10 +01:00

83 lines
1.9 KiB
Markdown

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](rules_server.html) 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](http://redis.io/) 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