Files
dofus-manager/docs/prd/epic-5-currencies-aggregations.md
2026-01-19 08:52:38 +01:00

3.6 KiB

Epic 5: Currencies & Aggregations

Goal: Implémenter le tracking des monnaies par personnage (Doplons, Orichor, etc.) et afficher les totaux agrégés au niveau compte et global. L'utilisateur peut rapidement voir combien de chaque monnaie il possède au total.

Story 5.1: Currency Database Schema

As a developer, I want a schema for tracking currencies per character, so that currency amounts can be stored and aggregated.

Acceptance Criteria:

  1. Model CurrencyType: id, name, icon (nullable), createdAt
  2. Model CharacterCurrency: characterId, currencyTypeId, amount (integer), updatedAt
  3. Contrainte unique sur (characterId, currencyTypeId)
  4. Migration générée et appliquée
  5. Seed script avec les 8 monnaies identifiées :
    • Doplons, Almatons, Orichor, Kamas de glace
    • Perles des profondeurs, Alitons, Trukdivins, Pages calendrier
  6. Index sur characterId pour requêtes d'agrégation

Story 5.2: Character Currency View

As a user, I want to see and edit a character's currencies on their detail page, so that I can track each character's wealth.

Acceptance Criteria:

  1. Section "Monnaies" sur la page /characters/:id
  2. Liste des monnaies avec champ input numérique pour chaque
  3. Modification inline avec sauvegarde au blur ou sur Enter
  4. Indicateur de sauvegarde (loading spinner pendant save)
  5. Validation : montant >= 0, entier uniquement
  6. Affichage de l'icône/nom de chaque monnaie
  7. Dernière mise à jour affichée par monnaie

Story 5.3: Bulk Currency Update

As a user, I want to update a currency for multiple characters at once, so that I can quickly update after a group activity.

Acceptance Criteria:

  1. Page /currencies/bulk accessible depuis le menu
  2. Sélecteur de personnages (multi-select avec filtres, sélection par team)
  3. Sélecteur de monnaie à mettre à jour
  4. Mode d'opération : "Définir à" (valeur absolue) ou "Ajouter/Soustraire" (delta)
  5. Champ pour la valeur
  6. Confirmation avant exécution
  7. Toast de succès avec récapitulatif
  8. Historique des bulk updates (optionnel, pour audit)

Story 5.4: Account Currency Totals

As a user, I want to see the total currencies for each account, so that I can see my wealth per account.

Acceptance Criteria:

  1. Sur /accounts/:id, section "Total des monnaies"
  2. Tableau avec chaque monnaie et le total pour ce compte
  3. Total = somme des monnaies de tous les personnages du compte
  4. Mise à jour automatique quand les données changent
  5. Affichage compact (icône + montant)
  6. Zéro affiché si aucun personnage n'a cette monnaie

Story 5.5: Global Currency Dashboard

As a user, I want to see my total currencies across all characters, so that I have a global view of my in-game wealth.

Acceptance Criteria:

  1. Widget sur le Dashboard (page d'accueil) : "Mes monnaies"
  2. Liste de toutes les monnaies avec total global
  3. Total global = somme sur tous les personnages
  4. Possibilité de cliquer pour voir le détail par compte
  5. Drill-down : compte → personnages avec leurs montants
  6. Données mises en cache pour performance (invalidation au changement)

Story 5.6: Currency Management (Admin)

As a user, I want to add or remove currency types, so that I can adapt to game updates adding new currencies.

Acceptance Criteria:

  1. Page /settings/currencies pour gérer les types de monnaies
  2. Liste des monnaies existantes
  3. Formulaire d'ajout : nom, icône (optionnel)
  4. Suppression possible si aucun personnage n'a cette monnaie
  5. Avertissement si suppression avec données existantes
  6. Ordre d'affichage modifiable (drag & drop ou champ order)