A simple distributed application running across multiple Docker containers.
Run in this directory to build and run the app:
docker compose build
docker compose up
For the first time, execute commands described in mongo.sh one by one in terminal.
The vote
app will be running at http://localhost:5100, and the results
will be at http://localhost:5001.
- A front-end web app in Python which lets you vote between two options
- A Redis 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 web app which shows the results of the voting in real time
The voting application only accepts one vote per client browser. It does not register additional votes if a vote has already been submitted from a client.
This isn't an example of a properly architected perfectly designed distributed app... it's just a simple example of the various types of pieces and languages you might see (queues, persistent data, etc), and how to deal with them in Docker at a basic level.