# Epic 4: Progression Tracking **Goal:** Implémenter le tracking des progressions par personnage : quêtes Dofus, donjons par paliers, et recherchés par région. L'utilisateur peut marquer les progressions comme complétées et voir les statistiques par team. ## Story 4.1: Progression Database Schema **As a** developer, **I want** a flexible schema for tracking character progressions, **so that** different types of progressions can be managed uniformly. **Acceptance Criteria:** 1. Model `ProgressionType`: id, category (enum: DOFUS_QUEST, DUNGEON, WANTED), name, region (nullable), levelRange (nullable), createdAt 2. Model `CharacterProgression`: characterId, progressionTypeId, completed (boolean), completedAt (nullable) 3. Enum `ProgressionCategory`: DOFUS_QUEST, DUNGEON, WANTED 4. Index composite sur (characterId, progressionTypeId) pour performance 5. Migration générée et appliquée 6. Seed script avec données de progression types : - 10 quêtes Dofus (Turquoise, Pourpre, Émeraude, Glaces, Abyssal, Nébuleux, Domakuro, Dorigami, Tacheté, Vulbis) - Donjons par paliers (1-50, 51-100, 101-150, 151-190, 191-200) - Recherchés par région (Astrub, Amakna, Frigost I/II/III, etc.) ## Story 4.2: Character Progression View **As a** user, **I want** to see and edit a character's progressions on their detail page, **so that** I can track what each character has completed. **Acceptance Criteria:** 1. Section "Progressions" sur la page `/characters/:id` 2. Onglets par catégorie : Quêtes Dofus | Donjons | Recherchés 3. Liste des items avec checkbox pour marquer fait/pas fait 4. Date de complétion affichée si complété 5. Clic sur checkbox toggle l'état et sauvegarde immédiatement 6. Compteur de progression par catégorie (ex: "7/10 Dofus") 7. Filtres : Tous | Faits | Non faits 8. Items triés par nom ou par ordre logique (niveau pour donjons) ## Story 4.3: Bulk Progression Update **As a** user, **I want** to update progressions for multiple characters at once, **so that** I can quickly mark a dungeon done for my whole team. **Acceptance Criteria:** 1. Page `/progressions/bulk` accessible depuis le menu 2. Sélecteur de personnages (multi-select avec filtres) 3. Sélection possible par team entière (bouton "Sélectionner team X") 4. Sélecteur de progression type à mettre à jour 5. Action : "Marquer comme fait" ou "Marquer comme non fait" 6. Confirmation avant exécution avec récapitulatif (X personnages, progression Y) 7. Toast de succès avec nombre de mises à jour effectuées 8. Retour à la page précédente après action ## Story 4.4: Team Progression Status **As a** user, **I want** to see the progression status of my team for a specific objective, **so that** I can see who still needs to complete it. **Acceptance Criteria:** 1. Sur `/teams/:id`, nouvelle section "Statut des progressions" 2. Sélecteur de progression type (ex: "Dofus Turquoise") 3. Tableau : membres de la team avec statut (fait/pas fait) pour cette progression 4. Pourcentage global affiché (ex: "6/8 = 75%") 5. Indicateur visuel clair (vert = fait, rouge = pas fait) 6. Bouton "Marquer fait pour tous" pour bulk update depuis cette vue 7. Filtrable par catégorie de progression ## Story 4.5: Progression Filters in Character List **As a** user, **I want** to filter characters by progression status, **so that** I can find who hasn't completed a specific objective. **Acceptance Criteria:** 1. Nouvelle section dans la sidebar des filtres : "Progression" 2. Sélecteur de progression type 3. Options : "A fait" / "N'a pas fait" 4. Combinable avec les autres filtres existants 5. Exemple d'usage : "Montrer tous les Cra qui n'ont pas fait le Dofus Turquoise" 6. Compteur de résultats mis à jour 7. Filtre stocké dans l'URL ---