Skip to content
/ zenrule Public

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

License

Notifications You must be signed in to change notification settings

puria/zenrule

Repository files navigation

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published