No Description

sophia parafina 67e2e0800f note about one vote per client 8 years ago
result 9352ed09eb Revert "added connection pooling to postgres to prevent client timeouts" 8 years ago
vote dea83e7ea8 Put gunicorn command in list 9 years ago
worker fe98cde7f4 Java and .NET Workers can co-exist 8 years ago
.gitignore e5489683c8 Recreate worker as a .NET Core app 9 years ago
LICENSE e41af6b81c Add LICENSE and MAINTAINERS 9 years ago
MAINTAINERS 1b30ff6880 Add Mano as a maintainer 8 years ago
README.md 67e2e0800f note about one vote per client 8 years ago
architecture.png 82fd54e28f Update architecture diagram 9 years ago
docker-compose-javaworker.yml fe98cde7f4 Java and .NET Workers can co-exist 8 years ago
docker-compose-simple.yml 51815474ff moved docker-compose.yml to docker-compose-simple.yml and restored older version of docker-compose.yml with networks and volumes 8 years ago
docker-compose.yml 51815474ff moved docker-compose.yml to docker-compose-simple.yml and restored older version of docker-compose.yml with networks and volumes 8 years ago
docker-stack.yml d53ab169ac adding placement restraint to add visualizer, must run on a manager 8 years ago
dockercloud.yml 3a7eb3b4b0 Fix image names in dockercloud.yml 9 years ago

README.md

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.