Files
roadwave/docs/domains/recommendation
jpgiannetti 5e5fcf4714 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.
2026-02-07 17:15:02 +01:00
..

Domaine : Recommendation

Vue d'ensemble

Le domaine Recommendation gère le système de recommandation de contenus basé sur la géolocalisation et les centres d'intérêt des utilisateurs. C'est un Supporting Subdomain clé qui différencie RoadWave des autres plateformes audio.

Responsabilités

  • Jauges de centres d'intérêt : Gestion et évolution dynamique des préférences utilisateurs
  • Algorithme de recommandation : Scoring et classement des contenus pertinents
  • Interactions et navigation : Adaptation des recommandations selon le comportement utilisateur

Règles métier

Modèle de données

Diagrammes

Tests BDD

  • Features de recommandation (voir Phase 6)

Ubiquitous Language

Termes métier du domaine :

  • Interest Gauge : Jauge de centre d'intérêt (score de 0 à 100)
  • Interest Category : Catégorie d'intérêt (automobile, voyage, musique, etc.)
  • Recommendation Score : Score combinant distance géographique et affinité d'intérêt
  • Content Scoring : Algorithme de calcul du score de pertinence
  • Geographic Priority : Priorisation GPS > Ville > Département > Région > Pays
  • Interest Decay : Diminution progressive de la jauge sans interaction

Dépendances

  • Dépend de : _shared (users, contents)
  • Dépend de : content (métadonnées de contenus)
  • ⚠️ Utilisé par : interface mobile, API publique