// the find
dockersamples/example-voting-app
Example distributed app composed of multiple containers for Docker, Compose, Swarm, and Kubernetes
A multi-service demo app — Python vote frontend, Redis queue, .NET worker, Postgres, Node.js results — used by Docker to teach container orchestration basics. It exists to show how Compose, Swarm, and Kubernetes configs differ, not to model good application design. The README says this explicitly, which is refreshing.
- Ships three different deployment configs (Compose, Swarm stack, k8s YAML) for the same app, which is genuinely useful for side-by-side comparison
- Polyglot by design — Python, Node, C# in one repo gives you a realistic feel for heterogeneous service meshes without artificial constraints
- Healthcheck scripts for Postgres and Redis are included, so the Compose startup ordering actually works rather than racing
- 15k+ forks means the issues tab is a real-world corpus of beginner Docker problems, useful if you teach this stuff
- The k8s manifests are bare NodePort services with no Ingress, no resource limits, no liveness probes — fine for a laptop demo, would get you paged if you deployed it anywhere real
- The .NET worker (Program.cs) is a polling loop with Thread.Sleep — no backoff, no circuit breaker, just hammers Redis and Postgres until something fails
- Vendored Angular and Socket.IO in the result/views directory, last touched years ago — not a security concern for a demo, but sets a bad example
- No secrets management whatsoever — Postgres password is hardcoded in the Compose file, which is the first thing newcomers copy into their own projects