Go to file
2017-01-23 17:44:16 -08:00
result Revert "added connection pooling to postgres to prevent client timeouts" 2016-12-27 10:07:14 -08:00
vote Put gunicorn command in list 2016-06-18 10:56:26 -07:00
worker Establishe redis connection after its lost after a few minutes 2016-11-30 13:59:21 +00:00
.gitignore Recreate worker as a .NET Core app 2016-06-11 14:26:04 -07:00
architecture.png Update architecture diagram 2016-06-19 12:14:38 -07:00
docker-compose-javaworker.yml updating compose files to v3 2017-01-23 17:44:16 -08:00
docker-compose-simple.yml updating compose files to v3 2017-01-23 17:44:16 -08:00
docker-compose.yml updating compose files to v3 2017-01-23 17:44:16 -08:00
docker-stack.yml adding placement restraint to add visualizer, must run on a manager 2017-01-13 18:15:26 -08:00
dockercloud.yml Fix image names in dockercloud.yml 2016-06-18 10:49:05 -07:00
LICENSE Add LICENSE and MAINTAINERS 2016-03-31 11:49:23 -07:00
MAINTAINERS Add Mano as a maintainer 2016-10-20 10:25:10 +02:00
README.md note about one vote per client 2017-01-20 15:58:22 -06:00

Instavote

Getting started

Download Docker for Mac or Windows.

Run in this directory:

$ docker-compose up

The app will be running at http://localhost:5000, and the results will be at http://localhost:5001.

Architecture

Architecture diagram

  • A Python webapp which lets you vote between two options
  • A Redis queue which collects new votes
  • A .NET worker which consumes votes and stores them in…
  • A Postgres database backed by a Docker volume
  • A Node.js webapp which shows the results of the voting in real time

Note

The voting application only accepts one vote per client. It does not register votes if a vote has already been submitted from a client.