3
0
Fork
You've already forked DecisionAPI
0
Decision API for making decisions by voting using many voting methods.
  • Python 98.7%
  • Shell 0.7%
  • Dockerfile 0.6%
2022年07月31日 12:42:58 +02:00
graphql GraphQL Authority type has a public_key instead of publicKey field 2022年07月23日 19:00:57 +02:00
src Use BytesField because BlobFields return memoryviews. 2022年07月31日 12:42:58 +02:00
tests Using RSA for everything 2022年07月25日 18:06:31 +02:00
.gitignore using keys/ folder for any key data; using snake case consistently in Authority 2022年07月21日 22:22:12 +02:00
admin admin script fixed paths 2022年07月20日 21:09:28 +02:00
docker-compose.yml Scheduler container added to run in the background 2022年07月31日 12:41:57 +02:00
Dockerfile Added setup & run section to README 2022年07月24日 12:16:28 +02:00
Dockerfile.scheduler Scheduler container added to run in the background 2022年07月31日 12:41:57 +02:00
LICENSE Initial commit 2022年07月05日 16:34:23 +02:00
nginx.conf nginx.conf added 2022年07月22日 16:14:57 +02:00
README.md Using RSA for everything 2022年07月25日 18:06:31 +02:00
requirements.txt misc typos and bugs fixed 2022年07月24日 22:16:18 +02:00
restart-server.sh Scheduler container added to run in the background 2022年07月31日 12:41:57 +02:00
run-tests.sh Added setup & run section to README 2022年07月24日 12:16:28 +02:00
setup.py account resolver on Query added 2022年07月14日 15:05:33 +02:00
setup.sh Scheduler container added to run in the background 2022年07月31日 12:41:57 +02:00
start-server.sh account resolver on Query added 2022年07月14日 15:05:33 +02:00
TODO Test coverage on almost all mutations. 2022年07月23日 21:16:18 +02:00

Decision API

An API to allow for secure, certified and extensible Internet Voting.

Setup

Install docker and docker-compose and run:

$ ./setup.sh
...
Generated authority <authority id>

Open .env file and fill in:

# Decision API config
DECISION_AUTHORITY_ID=<authority id>
DECISION_AUTHORTIY_PRIVATE_KEY_FILE=/keys/authority
# JWT Public Key for signing
JWT_PRIVATE_KEY_FILE=/keys/jwt
JWT_PUBLIC_KEY_FILE=/keys/jwt.pub
# change this, if you don't run on localhost
# DOMAIN=localhost
# DB config
DB_NAME=DAPI
DB_USER=decision_app
DB_PASSWORD=<random string>
# Test config
AUDITOR_AUTHORITY_ID=<authority id>
AUDITOR_AUTHORITY_KEY=keys/authority
API_ENDPOINT="https://localhost/api/graphql" # set this to the server address, you are testing.

And after completing this configuration, restart the server through:

$ ./start-server.sh

Tests

After starting the server, run the tests like this:

$ ./run-tests.sh