Files
dofus-manager/docs/prd/epic-4-progression-tracking.md
2026-01-19 08:52:38 +01:00

3.7 KiB

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