awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dockersamples avatar

dockersamples/example-voting-app

0
View on GitHub↗
5,622 stele·15,105 fork-uri·C#·apache-2.0·2 vizualizări

Example Voting App

This is a distributed voting application designed to demonstrate a multi-service architecture. It uses stateless web frontends for submitting votes and viewing live results, with a Redis-backed queue to buffer incoming votes and a PostgreSQL database for persistent tallying. The application is built around asynchronous message queue processing, decoupling the vote submission from the tallying workflow.

The project showcases how to deploy a multi-service application using container orchestration tools. It provides YAML-driven declarative deployment manifests for Docker Compose, Docker Swarm, and Kubernetes, enabling reproducible deployments across single hosts or clusters. A background worker service reads votes from the message queue and writes them to the database for reliable, real-time result aggregation.

The application includes a voting ballot interface for user input and a live results viewer that displays aggregated vote counts as they are processed. The entire system is defined as interconnected Docker containers, with services, networks, and volumes specified in YAML manifests for flexible deployment.

Features

  • Distributed Polling Systems - Runs a distributed voting system with multiple services, queues, and databases to collect and tally votes.
  • Live Tally Displays - Displays aggregated vote counts as they are processed, updating live through a web interface.
  • Docker Compose Deployments - Launches a complete multi-service voting system using a single Docker Compose command.
  • Docker Swarm Orchestration - Demonstrates deploying and scaling a multi-service application across a Docker Swarm cluster.
  • Message Queue Workers - Stores incoming votes in a Redis list for asynchronous consumption by a background worker.
  • Message Queues - Uses a message broker to queue vote messages for background processing, decoupling submission from tallying.
  • Multi-Container Orchestration - Runs as multiple interconnected Docker containers managed by Compose, Swarm, or Kubernetes.
  • Message Queues - Uses a Redis message queue to decouple vote submission from background tallying.
  • Queued Vote Persistence Workers - Reads voting messages from a message broker and persists the results to a database for later tallying.
  • Redis-Backed Queues - Stores incoming ballot choices in a Redis list for asynchronous processing by a background worker.
  • Vote Buffers - Buffers incoming votes in a Redis list for reliable asynchronous processing by a background worker.
  • Vote Tallies - Provides a PostgreSQL database that stores processed vote counts for live result aggregation.
  • Live Tally Displays - Displays aggregated vote counts as they are processed, updating live through a web interface.
  • PostgreSQL Vote Tallies - Persists processed vote counts in a PostgreSQL database for real-time result aggregation and display.
  • Tally Workers - Runs a background worker that reads votes from a Redis queue and writes them to PostgreSQL.
  • Ballot Forms - Presents a web interface where users select between two options and submits the choice to a message queue.
  • Background Processing Workers - Processes queued tasks asynchronously in a separate service to decouple work from the request-response cycle.
  • Orchestrator Manifests - Provides YAML manifests for deploying the application via Docker Compose, Swarm, and Kubernetes.
  • Kubernetes Deployments - Deploys the multi-service application to Kubernetes using YAML manifests and node-port services.
  • Multi-Service Manifests - Applies pre-configured YAML manifests to create all Kubernetes services and deployments at once.
  • Node-Port Exposures - Creates Kubernetes services that expose the voting and result web apps on fixed node ports.
  • Stateless Architectures - Ships stateless web frontends that delegate all state management to the message queue and database.

Istoric stele

Graficul istoricului de stele pentru dockersamples/example-voting-appGraficul istoricului de stele pentru dockersamples/example-voting-app

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Example Voting App

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Example Voting App.
  • eon01/dockercheatsheetAvatar eon01

    eon01/DockerCheatSheet

    3,938Vezi pe GitHub↗

    This project is a comprehensive reference guide and cheat sheet for the Docker CLI. It provides a structured collection of commands and documentation to help users manage container lifecycles, build images, and handle registries. The documentation specifically covers the orchestration of multi-container applications using Docker Compose and the management of scalable services across multiple nodes via Docker Swarm. It also includes detailed guides for configuring virtual networks, bridges, and ports to control container communication. The reference surface extends to container image administ

    Vezi pe GitHub↗3,938
  • rq/rqAvatar rq

    rq/rq

    10,653Vezi pe GitHub↗

    rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task submission from execution. It functions as a reliable message queue and task scheduler, allowing Python functions or asyncio coroutines to be processed asynchronously across multiple worker processes. The project distinguishes itself through reliable queuing mechanisms that prevent job loss during worker crashes using atomic operations. It provides specialized orchestration capabilities, including the prevention of duplicate jobs, job execution prioritization, and the ability to m

    Pythonasyncbackground-jobsdelayed-jobs
    Vezi pe GitHub↗10,653
  • tporadowski/redisAvatar tporadowski

    tporadowski/redis

    9,987Vezi pe GitHub↗

    Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations

    Credisredis-for-windowsredis-msi-installer
    Vezi pe GitHub↗9,987
  • optimalbits/bullAvatar OptimalBits

    OptimalBits/bull

    16,243Vezi pe GitHub↗

    Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It functions as a distributed task worker, job scheduler, and priority queue manager designed to handle asynchronous workloads across multiple processes. The project distinguishes itself by providing a persistent communication channel that decouples servers through the exchange of serializable data objects. It ensures distributed system reliability by detecting stalled tasks and recovering from process crashes to ensure every queued job is completed. The system covers a broad ran

    JavaScriptjobjob-queuemessage
    Vezi pe GitHub↗16,243
Vezi toate cele 30 alternative pentru Example Voting App→

Întrebări frecvente

Ce face dockersamples/example-voting-app?

This is a distributed voting application designed to demonstrate a multi-service architecture. It uses stateless web frontends for submitting votes and viewing live results, with a Redis-backed queue to buffer incoming votes and a PostgreSQL database for persistent tallying. The application is built around asynchronous message queue processing, decoupling the vote submission from the tallying workflow.

Care sunt principalele funcționalități ale dockersamples/example-voting-app?

Principalele funcționalități ale dockersamples/example-voting-app sunt: Distributed Polling Systems, Live Tally Displays, Docker Compose Deployments, Docker Swarm Orchestration, Message Queue Workers, Message Queues, Multi-Container Orchestration, Queued Vote Persistence Workers.

Care sunt câteva alternative open-source pentru dockersamples/example-voting-app?

Alternativele open-source pentru dockersamples/example-voting-app includ: eon01/dockercheatsheet — This project is a comprehensive reference guide and cheat sheet for the Docker CLI. It provides a structured… rq/rq — rq is a distributed task queue and background worker system for Python that uses a Redis backend to decouple task… tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… optimalbits/bull — Bull is a Node.js library for managing distributed jobs and message queues using Redis as the primary data store. It… openpanel-dev/openpanel — OpenPanel is a self-hosted product analytics platform designed for tracking user behavior and visualizing product… collabnix/dockerlabs — dockerlabs is a collection of educational labs and technical tutorials designed to teach the fundamentals of…