Skip to content

voting-app-v1.0

Choose a tag to compare

@Biohazardyee Biohazardyee released this 04 Jan 10:47
· 3 commits to main since this release

Release v1.0 — Docker Voting App

Changelog complet

https://github.com/Biohazardyee/docker-mini-projet/commits/V1


Description

Cette application a été conteneurisée avec Docker dans un objectif de modernisation et de déploiement distribué.
Il s’agit d’une application de vote permettant aux utilisateurs de choisir entre deux options configurables.

L’application est déployée sur un cluster Docker Swarm composé de :

  • 1 nœud manager
  • 2 nœuds workers

Architecture technique

L’architecture repose sur plusieurs services indépendants :

  • Vote : interface web permettant aux utilisateurs de voter
  • Redis : file d’attente pour les votes
  • Worker : traitement asynchrone des votes
  • PostgreSQL : base de données relationnelle
  • Result : interface web affichant les résultats en temps réel

Chaque service est exécuté dans son propre conteneur et interconnecté via des réseaux overlay Docker Swarm.


Persistance des données

Les données sont persistantes, même après :

  • l’arrêt des conteneurs
  • le redémarrage des machines virtuelles
  • un redéploiement de la stack

La persistance est assurée via :

  • un volume pour PostgreSQL
  • un stockage hébergé sur le système hôte (Vagrant)

Déploiement

Le déploiement est automatisé grâce à :

  • Vagrant pour la création des machines virtuelles
  • Docker Swarm pour l’orchestration
  • Docker Compose (mode Swarm) pour le déploiement de la stack

Les variables d’environnement sont centralisées via un fichier .env.


Fonctionnalités clés

  • Vote entre deux options personnalisables
  • Résultats mis à jour en temps réel
  • Architecture scalable (services répliqués)
  • Haute disponibilité grâce à Docker Swarm
  • Données persistantes