Zenrule
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.
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
- FORK IT
- Create your feature branch
git checkout -b feature/branch
- Commit your changes
git commit -am 'Add some fooBar'
- Push to the branch
git push origin feature/branch
- Create a new Pull Request
- 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/>.