50 lines
3.0 KiB
Markdown
50 lines
3.0 KiB
Markdown
# 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).
|
|
|
|
---
|