A flexible holacracy implementation.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
First you need to checkout the GitHub Repository using:
git clone https://github.com/dcentralize/swarm-intelligence.git
It is highly recommended to run everything in an virtualenv. The environment can be set up using:
mkvirtualenv --python python3.4 -a . si
To create a local database, install Mariadb:
apt-get install mariadb-server
In order to run or deploy the project, it is necessary to download the dependencies:
pip3 install -r requirements.txt
A step by step series of examples that tell you how to get a development env running.
Starting mariadb:
service mariadb start
Setting up the database:
mysql -u root -e 'CREATE DATABASE swarm_intelligence'
Adding the directory 'swarm-intelligence' to your PYTHONPATH:
export PYTHONPATH=$PYTHONPATH:/path/of/swarm-intelligence
You can now navigate to the app.py and run it using:
cd swarm-intelligence
python3 swarm_intelligence_app/app.py
You can now access the API at localhost:5000. Please not that accessing the API via 127.0.0.1:5000 will not work.
Initialise the database structure by browsing to: http://localhost:5000/setup
cd si-frontend
python3 -m http.server 63342
Then, browse to: http://localhost:63342
and signin using a Google account
Normally our tests are run using Travis-CI. In order to run the tests locally, navigate to the /tests directory and run:
py.test
Our coding style is conform to flake8, except for some minor exceptions which can be found in the tox.ini.
- PyCharm
- Travis-CI
- Mariadb
- Flask
- Flask-Cors
- Flask-HTTPAuth
- Flask-RESTful
- Flask-SQLAlchemy
- Jinja2
- PyJWT
- PyMySQL
- SQLAlchemy
- SQLAlchemy-Utils
- Py
- Pytest
- Pytest-Flask
- requests
- Tox
- Tobias Wählen
- Felix Borst
- Andreas Fischer
- Marvin Rüsenberg
- Moha Messri