refactor(docs): réorganiser la documentation selon principes DDD
Réorganise la documentation du projet selon les principes du Domain-Driven Design (DDD) pour améliorer la cohésion, la maintenabilité et l'alignement avec l'architecture modulaire du backend. **Structure cible:** ``` docs/domains/ ├── README.md (Context Map) ├── _shared/ (Core Domain) ├── recommendation/ (Supporting Subdomain) ├── content/ (Supporting Subdomain) ├── moderation/ (Supporting Subdomain) ├── advertising/ (Generic Subdomain) ├── premium/ (Generic Subdomain) └── monetization/ (Generic Subdomain) ``` **Changements effectués:** Phase 1: Création de l'arborescence des 7 bounded contexts Phase 2: Déplacement des règles métier (01-19) vers domains/*/rules/ Phase 3: Déplacement des diagrammes d'entités vers domains/*/entities/ Phase 4: Déplacement des diagrammes flux/états/séquences vers domains/*/ Phase 5: Création des README.md pour chaque domaine Phase 6: Déplacement des features Gherkin vers domains/*/features/ Phase 7: Création du Context Map (domains/README.md) Phase 8: Mise à jour de mkdocs.yml pour la nouvelle navigation Phase 9: Correction automatique des liens internes (script fix-markdown-links.sh) Phase 10: Nettoyage de l'ancienne structure (regles-metier/, diagrammes/, features/) **Configuration des tests:** - Makefile: godog run docs/domains/*/features/ - scripts/generate-bdd-docs.py: features_dir → docs/domains **Avantages:** ✅ Cohésion forte: toute la doc d'un domaine au même endroit ✅ Couplage faible: domaines indépendants, dépendances explicites ✅ Navigabilité améliorée: README par domaine = entrée claire ✅ Alignement code/docs: miroir de backend/internal/ ✅ Onboarding facilité: exploration domaine par domaine ✅ Tests BDD intégrés: features au plus près des règles métier Voir docs/REFACTOR-DDD.md pour le plan complet.
This commit is contained in:
@@ -0,0 +1,235 @@
|
||||
# language: fr
|
||||
Fonctionnalité: Gestion des soldes dormants et créateurs inactifs
|
||||
En tant que plateforme RoadWave
|
||||
Je veux gérer les soldes des créateurs inactifs de manière équitable
|
||||
Afin de restituer l'argent aux créateurs plutôt que de le confisquer
|
||||
|
||||
Contexte:
|
||||
Étant donné que je suis un créateur monétisé
|
||||
Et que mon KYC est validé
|
||||
Et que mon solde actuel est 45.00€
|
||||
|
||||
# Conservation du solde pour créateurs actifs
|
||||
|
||||
Scénario: Créateur actif - Solde conservé indéfiniment
|
||||
Étant donné que je publie au moins 1 contenu par mois
|
||||
Ou que je me connecte au dashboard au moins 1 fois par mois
|
||||
Quand 24 mois se sont écoulés
|
||||
Alors mon solde de 45.00€ est toujours conservé
|
||||
Et aucun email de préavis n'est envoyé
|
||||
Et le solde reste visible dans mon dashboard
|
||||
|
||||
Scénario: Créateur actif sporadique - Pas de pénalité
|
||||
Étant donné que je publie 1 contenu tous les 2-3 mois
|
||||
Ou que je me connecte au dashboard tous les 2 mois
|
||||
Quand 18 mois d'activité sporadique se sont écoulés
|
||||
Alors mon solde est conservé normalement
|
||||
Et je ne reçois aucun email d'avertissement
|
||||
Et mon statut reste "Créateur actif"
|
||||
|
||||
# Créateur inactif - Emails préventifs
|
||||
|
||||
Scénario: Inactivité 12 mois - Email préventif 1
|
||||
Étant donné que je n'ai publié aucun contenu depuis 12 mois
|
||||
Et que je ne me suis pas connecté au dashboard depuis 12 mois
|
||||
Quand le système détecte 12 mois d'inactivité
|
||||
Alors je reçois un email avec le sujet:
|
||||
"""
|
||||
⚠️ Votre solde RoadWave (45.00€) - Action requise
|
||||
"""
|
||||
Et l'email contient:
|
||||
"""
|
||||
Vous n'avez pas publié de contenu depuis 12 mois.
|
||||
Votre solde actuel : 45.00€
|
||||
|
||||
🔔 Si vous restez inactif 6 mois supplémentaires :
|
||||
→ Versement automatique (frais bancaires déduits)
|
||||
→ Montant net estimé : 44.64€
|
||||
|
||||
💡 Pour éviter le versement anticipé :
|
||||
- Publiez un nouveau contenu, OU
|
||||
- Connectez-vous à votre dashboard créateur
|
||||
"""
|
||||
Et un lien vers le dashboard est fourni
|
||||
|
||||
Scénario: Inactivité 18 mois - Email préventif 2 (préavis final)
|
||||
Étant donné que je n'ai publié aucun contenu depuis 18 mois
|
||||
Et que je ne me suis pas connecté au dashboard depuis 18 mois
|
||||
Quand le système détecte 18 mois d'inactivité
|
||||
Alors je reçois un email avec le sujet:
|
||||
"""
|
||||
📢 Versement automatique dans 30 jours
|
||||
"""
|
||||
Et l'email contient:
|
||||
"""
|
||||
Vous n'avez pas publié de contenu depuis 18 mois.
|
||||
|
||||
⏰ Votre solde sera versé automatiquement dans 30 jours :
|
||||
- Solde actuel : 45.00€
|
||||
- Frais bancaires Mangopay SEPA : 0.36€ (1.8% + 0.18€)
|
||||
- Montant net : 44.64€
|
||||
|
||||
Ce versement est automatique pour restituer votre argent.
|
||||
|
||||
💡 Pour conserver le solde jusqu'à 50€ :
|
||||
- Publiez un nouveau contenu, OU
|
||||
- Connectez-vous à votre dashboard
|
||||
"""
|
||||
|
||||
Scénario: Inactivité 18 mois + 30 jours - Versement forcé
|
||||
Étant donné que je n'ai publié aucun contenu depuis 18 mois + 30 jours
|
||||
Et que je ne me suis pas connecté au dashboard depuis 18 mois + 30 jours
|
||||
Quand le système détecte 18 mois + 30 jours d'inactivité
|
||||
Alors un versement SEPA automatique est initié vers mon RIB
|
||||
Et le montant versé est 45.00€ - 0.36€ = 44.64€
|
||||
Et je reçois un email de confirmation:
|
||||
"""
|
||||
✅ Versement automatique effectué
|
||||
|
||||
Votre solde RoadWave a été versé :
|
||||
- Montant brut : 45.00€
|
||||
- Frais bancaires : 0.36€
|
||||
- Montant net versé : 44.64€
|
||||
|
||||
Le virement devrait arriver sur votre compte dans 1-3 jours.
|
||||
"""
|
||||
|
||||
Scénario: Inactivité 18 mois + 37 jours - Purge données comptables
|
||||
Étant donné qu'un versement forcé a été effectué il y a 7 jours
|
||||
Quand le système détecte 18 mois + 37 jours d'inactivité
|
||||
Alors les données comptables temporaires sont purgées
|
||||
Mais les logs sont conservés 10 ans (obligation RGPD)
|
||||
Et l'historique de paiement reste visible dans mon profil
|
||||
|
||||
# Exception soldes <10€
|
||||
|
||||
Scénario: Solde <10€ après 18 mois - Proposition de don
|
||||
Étant donné que mon solde actuel est 8.50€
|
||||
Et que je suis inactif depuis 18 mois
|
||||
Quand le système détecte 18 mois d'inactivité
|
||||
Alors je reçois un email avec proposition:
|
||||
"""
|
||||
Votre solde actuel : 8.50€
|
||||
|
||||
⚠️ Les frais bancaires (0.36€) représentent 4.2% du montant.
|
||||
|
||||
💡 Options disponibles :
|
||||
1. Don à une association (frais 0€, 100% reversé)
|
||||
2. Conservation jusqu'à atteindre 50€
|
||||
3. Versement avec frais déduits (8.14€ net)
|
||||
|
||||
Choisissez votre option : [Lien formulaire]
|
||||
"""
|
||||
|
||||
Scénario: Solde <10€ - Choix option "Don association"
|
||||
Étant donné que mon solde est 8.50€
|
||||
Et que j'ai choisi "Don à une association"
|
||||
Quand le don est effectué
|
||||
Alors 8.50€ (100%) sont reversés à l'association
|
||||
Et je reçois un reçu fiscal si applicable
|
||||
Et mon solde est remis à 0€
|
||||
|
||||
Scénario: Solde <10€ - Choix option "Conservation jusqu'à 50€"
|
||||
Étant donné que mon solde est 8.50€
|
||||
Et que j'ai choisi "Conservation jusqu'à 50€"
|
||||
Quand l'option est validée
|
||||
Alors mon solde est conservé indéfiniment
|
||||
Et je peux me reconnecter à tout moment pour publier du contenu
|
||||
Et atteindre les 50€ pour un paiement standard
|
||||
|
||||
Scénario: Solde <10€ - Choix option "Versement avec frais"
|
||||
Étant donné que mon solde est 8.50€
|
||||
Et que j'ai choisi "Versement avec frais déduits"
|
||||
Quand le versement est initié
|
||||
Alors je reçois 8.50€ - 0.36€ = 8.14€ net
|
||||
Et un email de confirmation est envoyé
|
||||
|
||||
Scénario: Solde <10€ - Pas de réponse + inactivité continue - Versement forcé
|
||||
Étant donné que mon solde est 8.50€
|
||||
Et que je n'ai pas répondu à l'email de proposition
|
||||
Et que l'inactivité continue pendant 30 jours supplémentaires
|
||||
Quand le délai de 18 mois + 30 jours est atteint
|
||||
Alors le versement est effectué quand même (équité)
|
||||
Et je reçois 8.14€ net après frais
|
||||
|
||||
# Frais bancaires
|
||||
|
||||
Scénario: Calcul frais bancaires Mangopay SEPA
|
||||
Étant donné que mon solde est de <montant>
|
||||
Quand le versement forcé est initié
|
||||
Alors les frais Mangopay SEPA sont: 1.8% + 0.18€
|
||||
Et le montant net est calculé comme suit:
|
||||
| Solde brut | Frais (1.8% + 0.18€) | Montant net |
|
||||
| 45.00€ | 0.36€ | 44.64€ |
|
||||
| 30.00€ | 0.36€ | 29.64€ |
|
||||
| 100.00€ | 1.98€ | 98.02€ |
|
||||
| 8.50€ | 0.36€ | 8.14€ |
|
||||
|
||||
Scénario: Transparence frais bancaires dans emails
|
||||
Étant donné qu'un email de préavis est envoyé
|
||||
Quand je lis l'email
|
||||
Alors les frais bancaires sont explicitement mentionnés:
|
||||
"""
|
||||
Frais bancaires Mangopay SEPA : 0.36€ (1.8% + 0.18€)
|
||||
"""
|
||||
Et le montant net final est clairement indiqué
|
||||
|
||||
# Comparaison Twitch
|
||||
|
||||
Scénario: Comparaison avec Twitch - Versement forcé vs Forfeiture
|
||||
Étant donné que Twitch confisque (forfeiture) les soldes après 24 mois
|
||||
Et que RoadWave verse (restitue) les soldes après 18 mois
|
||||
Alors RoadWave est plus équitable:
|
||||
| Critère | Twitch | RoadWave | Avantage |
|
||||
| Seuil paiement | 50-100$ | 50€ | Aligné |
|
||||
| Délai inactivité | 24 mois | 18 mois | Plus court |
|
||||
| Action fin délai | Forfeiture (perte argent) | Versement forcé (récupère) | ✅ RoadWave |
|
||||
| Emails préventifs | Non documenté | 12 mois + 18 mois + 30j | ✅ RoadWave |
|
||||
| Frais bancaires | Non documenté | Déduits + annoncés | ✅ RoadWave |
|
||||
|
||||
# Réactivation après inactivité
|
||||
|
||||
Scénario: Reconnexion après 12 mois d'inactivité - Solde conservé
|
||||
Étant donné que je suis inactif depuis 12 mois
|
||||
Et que mon solde est 45.00€
|
||||
Quand je me connecte au dashboard
|
||||
Alors mon solde est toujours de 45.00€
|
||||
Et le compteur d'inactivité est remis à 0
|
||||
Et aucun versement forcé n'aura lieu
|
||||
|
||||
Scénario: Publication contenu après 17 mois d'inactivité - Annulation versement
|
||||
Étant donné que je suis inactif depuis 17 mois
|
||||
Et qu'un email de préavis a été envoyé
|
||||
Quand je publie un nouveau contenu
|
||||
Alors le processus de versement forcé est annulé
|
||||
Et mon solde reste conservé normalement
|
||||
Et je redeviens "Créateur actif"
|
||||
|
||||
Scénario: Reconnexion 1 jour avant versement forcé - Annulation
|
||||
Étant donné que je suis inactif depuis 18 mois + 29 jours
|
||||
Et que le versement forcé est prévu demain
|
||||
Quand je me connecte au dashboard aujourd'hui
|
||||
Alors le versement forcé est annulé
|
||||
Et mon solde est conservé
|
||||
Et un message confirme: "Versement automatique annulé. Solde conservé."
|
||||
|
||||
# Cas limites
|
||||
|
||||
Scénario: Créateur avec plusieurs contenus anciens mais inactif
|
||||
Étant donné que j'ai publié 50 contenus il y a 2 ans
|
||||
Et que ces contenus génèrent encore des revenus passifs
|
||||
Mais que je ne me connecte plus au dashboard depuis 18 mois
|
||||
Quand le système détecte 18 mois d'inactivité
|
||||
Alors je suis considéré "inactif" (aucune connexion dashboard)
|
||||
Et je reçois les emails de préavis normalement
|
||||
Et le versement forcé s'applique après 18 mois + 30 jours
|
||||
|
||||
Scénario: Créateur avec abonnés fidèles mais inactif
|
||||
Étant donné que j'ai 500 abonnés
|
||||
Et que mes anciens contenus génèrent encore des revenus
|
||||
Mais que je ne publie plus de contenus depuis 18 mois
|
||||
Et que je ne me connecte plus au dashboard depuis 18 mois
|
||||
Quand le système détecte l'inactivité
|
||||
Alors je reçois les emails de préavis
|
||||
Et le versement forcé s'applique normalement
|
||||
Car l'activité comptabilisée = connexion dashboard OU publication contenu
|
||||
Reference in New Issue
Block a user