Des fonctionnalités à ajouter
- Notifications — prévenir les participants quand un palier est atteint.
- Historique — garder la trace des campagnes livrées et leur prix final.
- Statistiques — un endpoint « bilan » par coordinateur (via agrégation).
Faire évoluer le modèle
Ajouter un champ (ex. notifie: boolean) est indolore en NoSQL : les anciens documents n'en ont pas, le code prévoit une valeur par défaut. Pour des changements structurants, on écrit un script de migration versionné.
Ne pas casser les clients
L'appli Flutter déjà déployée consomme l'API : on ajoute des champs/endpoints (rétrocompatible), on ne supprime pas brutalement. Pour un vrai changement de contrat, on versionne l'API (/api/v2/...).
La démarche complète
Chaque fonctionnalité suit le cycle appris : issue → branche → couches (data/service/web) → tests → PR relue → CI verte → déploiement.
Choisis une fonctionnalité (ex. endpoint « bilan coordinateur » avec une agrégation), et déroule tout le cycle. C'est l'occasion de réinvestir MongoDB (agrégations), Spring (couches, tests) et la forge (issue/PR/CI).
- Ajouter un champ est simple en NoSQL (valeur par défaut).
- Rester rétrocompatible ; versionner l'API pour un changement de contrat.
- Chaque évolution suit le cycle issue → branche → tests → PR → CI.