puria / zenrule

Zenrule is a registry of smart rules written in natural English language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Zenrule

https://dyne.org

Zenrule is a registry of smart rules/smart contracts written in natural English language. It also behave as an restful API server.

Zenroom and Zenrule are software in ALPHA stage and are part of the DECODE project about data-ownership and technological sovereignty. Our effort is that of improving people's awareness of how their data is processed by algorithms, as well facilitate the work of developers to create along privacy by design principles using algorithms that can be deployed in any situation without any change.

๐Ÿšฉ Table of Contents (click to expand)

๐Ÿ’พ Installation

Checkout the project

git clone --recursive https://github.com/puria/zenrule.git

Make and compile the zenroom modules:

cd  zenrule/zenrule/lib/zenroom

๐ŸŽ

make osx-python
cd -

๐Ÿง

make linux-python
cd -

Activate or create your virtualenv up to you and then:

cd zenrule
pip install -e .
gearbox setup-app

๐ŸŽฎ Usage

To run the webapp and the API server just run:

gearbox serve

and head your browser to http://localhost:8080

๐Ÿš Restful JSON API

Once the server is up and running you can query the API server (JSON over HTTP and Restful).

/rules/list => [{_id, name, content}]

Returns all the available smart rules in the system

/rules/post {name, content} => _id

Creates a new rule and return the ObjectId of the new entity

/rules/put {_id, [name, content]}

Edit a given smart rule with new values

/rules/delete {_id}

Deletes a smart rule by it's _id


๐Ÿ”ง Configuration

The conf files are development.ini and test.ini.

The most effective way is to edit the file and tweak stuff. Salient info are reported below.

๐Ÿƒ MongoDB

The url of the database connection is ming.url find it in development.ini and change it per your needs.


๐Ÿ“ Notes


๐Ÿ› Troubleshooting & debugging

To run the app in debug mode launch the server with the following flags

gearbox serve --debug --reload

๐Ÿ˜ Acknowledgements

Copyright (C) 2018 by Dyne.org foundation, Amsterdam

Designed, written and maintained by Puria Nafisi Azizi.

Project funded by the European Commission

This project is receiving funding from the European Unionโ€™s Horizon 2020 research and innovation programme under grant agreement nr. 732546 (DECODE).


๐Ÿ‘ฅ Contributing

Please first take a look at the Dyne.org - Contributor License Agreement then

  1. FORK IT
  2. Create your feature branch git checkout -b feature/branch
  3. Commit your changes git commit -am 'Add some fooBar'
  4. Push to the branch git push origin feature/branch
  5. Create a new Pull Request
  6. Thank you

๐Ÿ’ผ License

Zenrule. Easy smart rules

Copyright (C) 2018  Dyne.org foundation, Amsterdam

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

About

Zenrule is a registry of smart rules written in natural English language

License:GNU Affero General Public License v3.0


Languages

Language:Python 84.7%Language:HTML 13.4%Language:CSS 1.9%