3.0 KiB
Requirements
Functional Requirements
-
FR1: Le système doit permettre la création, lecture, modification et suppression (CRUD) des comptes avec les attributs : nom, ogrines, récompenses succès débloquées (Dofus, ressources).
-
FR2: Le système doit permettre la gestion CRUD des personnages avec les attributs : pseudo, classe (17 classes Dofus), niveau, serveur associé, compte associé.
-
FR3: Le système doit permettre la gestion CRUD des teams avec validation automatique de la contrainte "pas 2 personnages du même compte dans une team active".
-
FR4: Le système doit offrir un filtrage multicritères des personnages par : classe, niveau, compte, team, serveur, statut de progression (quêtes, donjons, recherchés).
-
FR5: Le système doit permettre la recherche textuelle sur les noms de personnages, comptes et teams.
-
FR6: Le système doit permettre les mises à jour groupées (bulk update) : cocher/décocher plusieurs progressions pour une sélection de personnages ou une team entière.
-
FR7: Le système doit tracker les progressions par personnage : quêtes Dofus (Turquoise, Pourpre, Émeraude, etc.), donjons par paliers avec types de succès, recherchés par région.
-
FR8: Le système doit tracker les monnaies par personnage : Doplons, Almatons, Orichor, Kamas de glace, Perles des profondeurs, Alitons, Trukdivins, Pages calendrier.
-
FR9: Le système doit afficher les totaux agrégés des monnaies au niveau compte et global.
-
FR10: Le système doit s'intégrer avec l'API DofusDB pour importer les données de référence (liste des quêtes, donjons, succès, recherchés).
-
FR11: Le système doit afficher une vue statut team avec pourcentage de complétion par objectif (ex: "Dofus Turquoise: 6/8 persos = 75%").
-
FR12: Le système doit gérer les métiers par couple compte+serveur (et non par personnage) avec niveau de maîtrise.
-
FR13: Le système doit permettre la gestion CRUD des serveurs (ex: Imagiro, Jahash, Draconiros) avec possibilité d'en ajouter de nouveaux.
Non-Functional Requirements
-
NFR1: L'application doit être responsive et utilisable sur desktop et tablette (usage sur second écran pendant le jeu).
-
NFR2: L'application doit offrir une latence de réponse < 500ms pour les opérations courantes (filtrage, CRUD).
-
NFR3: L'application doit supporter 100+ personnages sans dégradation notable des performances.
-
NFR4: L'application doit être auto-hébergeable sur un serveur dédié personnel via Docker.
-
NFR5: L'application doit utiliser PostgreSQL comme base de données pour la persistance.
-
NFR6: L'application doit être développée avec React + TanStack Start (full-stack TypeScript).
-
NFR7: Les données doivent être sauvegardables et restaurables facilement (backup PostgreSQL).
-
NFR8: L'application doit fonctionner en mode mono-utilisateur (pas d'authentification multi-users dans le MVP).