Datashare network server
This is the http server for the protocol described in the EPFL paper:
DATASHARENETWORK A Decentralized Privacy-Preserving Search Engine for Investigative Journalists
This is a work in progress.
Requirements
psycopg2
requires the installation of python3-dev
(see psycopg prerequisites here)
Running the server locally
$ make install
$ make run
pipenv run uvicorn dsnetserver.main:app
INFO: Started server process [9120]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
Developing
We use pipenv to package/develop the server. We will use it to install all dependencies :
$ make install
Database
You need to create first the database. You can bootstrap it with :
$ psql -U <admin_user> -h <psql_host> < bootstrap_db.sql
Then to run the migrations :
$ /path/to/alembic upgrade head
Testing
$ make test