Académiques · 2026
Tasks & Services
Un gestionnaire distribué de projets et de tâches avec API Gateway, événements en arrière-plan, notifications et livraison d’images Docker via GitHub Actions.
Problème
Séparer la gestion des comptes, des projets, des tâches et des notifications en services, les relier par des événements et organiser des versions indépendantes.
Réalisation
- Client React et API Gateway devant les services d’authentification, de projets, de tâches et de notifications.
- Authentification JWT, gestion des projets et modification de l’état des tâches.
- Redis/BullMQ pour les événements asynchrones et la mise à jour des compteurs de tâches.
- Notifications par SSE et e-mail ; stockage en mémoire, dans SQLite ou dans MySQL.
- Changesets, vérifications ciblées dans GitHub Actions et publication d’images Docker sur GHCR.
- Manifests de livraison avec digests des images et scripts de déploiement Docker Compose.
Décision
HTTP traite les demandes directes de l’utilisateur, tandis que les événements relient les changements en arrière-plan. Un manifest versionné fixe l’ensemble des images d’un environnement.
Coordonner les contrats API et les versions des services en réutilisant les images inchangées lors des livraisons et des déploiements.
Résultat
Le dépôt public contient l’application, les tests, la documentation technique et les workflows CI/CD.