voting-app-v1.0
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