This project demonstrates a basic distributed web application using containerization and orchestration tools like Docker and Kubernetes. It includes components written in multiple languages and showcases a common DevOps deployment pattern.
- Multi-language microservices (Python, Node.js, .NET Core)
- Real-time messaging with Redis
- Persistent storage using PostgreSQL
- Containerized deployment with Docker
- Kubernetes deployment YAMLs included
- Docker & Docker Compose
- Docker Swarm (optional)
- Kubernetes (YAML specs provided)
- Redis
- PostgreSQL
- Python (Voting UI)
- .NET Core (Worker)
- Node.js (Results Dashboard)
- Make sure Docker and Docker Compose are installed.
- Clone the repository and navigate into it.
- Run the application using:
docker compose up
Application Architecture
Frontend (Python) – Web UI for users to cast votes
Redis – Message queue for storing incoming votes
Worker (.NET Core) – Consumes votes and updates database
PostgreSQL – Stores results persistently
Results UI (Node.js) – Displays live voting results
Notes
Only one vote is allowed per client session.
This is a simplified demonstration project used to illustrate DevOps tooling and deployment processes in a containerized environment.