style: formater GOAL.md et TODO.md (prettier)
This commit is contained in:
1 parent
6981da23f1
commit
2ec13f5895
2 files changed
+8
-3
No files matched your search
@@ -34,4 +34,3 @@ Les composants d'accès aux données devront être le plus génériques possible
|
|||||||
|
|
||||||
- Docker via docker-compose
|
- Docker via docker-compose
|
||||||
- Volumes managés
|
- Volumes managés
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ Application web **SPA + PWA** : Flashcards affiche des cartes (questions/répons
|
|||||||
> Chaque exigence doit être satisfaite avant de considérer la feature terminée.
|
> Chaque exigence doit être satisfaite avant de considérer la feature terminée.
|
||||||
|
|
||||||
| Ref | Exigence | Critère d'acceptation |
|
| Ref | Exigence | Critère d'acceptation |
|
||||||
|-----|----------|------------------------|
|
| ---- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||||
| F-01 | Afficher une carte au hasard | Un clic sur « Jouer » affiche UNE carte tirée aléatoirement de l'ensemble des cartes |
|
| F-01 | Afficher une carte au hasard | Un clic sur « Jouer » affiche UNE carte tirée aléatoirement de l'ensemble des cartes |
|
||||||
| F-02 | Dans un tirage aléatoire, la question est visible et la réponse cachée | Le terme/question s'affiche ; la réponse ne s'affiche pas |
|
| F-02 | Dans un tirage aléatoire, la question est visible et la réponse cachée | Le terme/question s'affiche ; la réponse ne s'affiche pas |
|
||||||
| F-03 | Révéler la réponse | Un clic (ou action) déroule/affiche la réponse cachée ; un second clic la masque |
|
| F-03 | Révéler la réponse | Un clic (ou action) déroule/affiche la réponse cachée ; un second clic la masque |
|
||||||
@@ -45,7 +45,7 @@ Application web **SPA + PWA** : Flashcards affiche des cartes (questions/répons
|
|||||||
### Entité `Card`
|
### Entité `Card`
|
||||||
|
|
||||||
| Champ | Type | Contrainte | Description |
|
| Champ | Type | Contrainte | Description |
|
||||||
|-------------|------------|-------------------|------------------------------------------|
|
| ----------- | ---------- | ----------- | ---------------------------------------------- |
|
||||||
| `id` | string/INT | unique (PK) | Identifiant stable de la carte |
|
| `id` | string/INT | unique (PK) | Identifiant stable de la carte |
|
||||||
| `question` | string | requis | Terme ou question affiché |
|
| `question` | string | requis | Terme ou question affiché |
|
||||||
| `response` | string | requis | Réponse cachée puis révélée |
|
| `response` | string | requis | Réponse cachée puis révélée |
|
||||||
@@ -118,6 +118,7 @@ Une feature est « faite » si et seulement si :
|
|||||||
> Ordre d'exécution recommandé. Passer à la phase suivante uniquement si la DoD de la phase courante est remplie.
|
> Ordre d'exécution recommandé. Passer à la phase suivante uniquement si la DoD de la phase courante est remplie.
|
||||||
|
|
||||||
### Phase 0 — Scaffolding
|
### Phase 0 — Scaffolding
|
||||||
|
|
||||||
- [ ] Initialiser le projet Next.js + TypeScript (strict)
|
- [ ] Initialiser le projet Next.js + TypeScript (strict)
|
||||||
- [ ] Configurer Tailwind
|
- [ ] Configurer Tailwind
|
||||||
- [ ] Configurer ESLint + Prettier
|
- [ ] Configurer ESLint + Prettier
|
||||||
@@ -126,6 +127,7 @@ Une feature est « faite » si et seulement si :
|
|||||||
- [ ] DoD : `lint`, `format`, `typecheck`, `test` s'exécutent sans erreur sur un squelette
|
- [ ] DoD : `lint`, `format`, `typecheck`, `test` s'exécutent sans erreur sur un squelette
|
||||||
|
|
||||||
### Phase 1 — Données et couche d'accès générique
|
### Phase 1 — Données et couche d'accès générique
|
||||||
|
|
||||||
- [ ] Schéma MySQL (table `cards`) + migration/seed
|
- [ ] Schéma MySQL (table `cards`) + migration/seed
|
||||||
- [ ] Schéma MongoDB (collection `cards`) + seed
|
- [ ] Schéma MongoDB (collection `cards`) + seed
|
||||||
- [ ] Interface générique `CardRepository` (contrat complet)
|
- [ ] Interface générique `CardRepository` (contrat complet)
|
||||||
@@ -136,6 +138,7 @@ Une feature est « faite » si et seulement si :
|
|||||||
- [ ] DoD : phase 0 + les 2 repositories testés et interchangeables
|
- [ ] DoD : phase 0 + les 2 repositories testés et interchangeables
|
||||||
|
|
||||||
### Phase 2 — API / services métier
|
### Phase 2 — API / services métier
|
||||||
|
|
||||||
- [ ] Service métier `CardService` reposant uniquement sur l'abstraction repository
|
- [ ] Service métier `CardService` reposant uniquement sur l'abstraction repository
|
||||||
- [ ] Routes API : liste, détail, création, modification, suppression
|
- [ ] Routes API : liste, détail, création, modification, suppression
|
||||||
- [ ] Routes API : tirage aléatoire simple + tirage aléatoire par thème + liste des thèmes
|
- [ ] Routes API : tirage aléatoire simple + tirage aléatoire par thème + liste des thèmes
|
||||||
@@ -145,6 +148,7 @@ Une feature est « faite » si et seulement si :
|
|||||||
- [ ] DoD : phases précédentes + contexte de MCP de l'API
|
- [ ] DoD : phases précédentes + contexte de MCP de l'API
|
||||||
|
|
||||||
### Phase 3 — Interface utilisateur
|
### Phase 3 — Interface utilisateur
|
||||||
|
|
||||||
- [ ] Page/vue **liste des cartes** (F-08)
|
- [ ] Page/vue **liste des cartes** (F-08)
|
||||||
- [ ] Page/vue **détail d'une carte** (F-09)
|
- [ ] Page/vue **détail d'une carte** (F-09)
|
||||||
- [ ] Formulaire **création** (F-05)
|
- [ ] Formulaire **création** (F-05)
|
||||||
@@ -155,12 +159,14 @@ Une feature est « faite » si et seulement si :
|
|||||||
- [ ] DoD : phases précédentes + parcours utilisateur complet fonctionnel
|
- [ ] DoD : phases précédentes + parcours utilisateur complet fonctionnel
|
||||||
|
|
||||||
### Phase 4 — Tests
|
### Phase 4 — Tests
|
||||||
|
|
||||||
- [ ] Tests des composants UI (composants critiques)
|
- [ ] Tests des composants UI (composants critiques)
|
||||||
- [ ] Couverture des critères F-01 à F-10
|
- [ ] Couverture des critères F-01 à F-10
|
||||||
- [ ] Coverage au seuil défini (Phase 0)
|
- [ ] Coverage au seuil défini (Phase 0)
|
||||||
- [ ] DoD : toutes phases précédentes vertes + coverage ok
|
- [ ] DoD : toutes phases précédentes vertes + coverage ok
|
||||||
|
|
||||||
### Phase 5 — PWA, déploiement
|
### Phase 5 — PWA, déploiement
|
||||||
|
|
||||||
- [ ] Manifest PWA + service worker (installable, hors-ligne) — la stack SPA le permet
|
- [ ] Manifest PWA + service worker (installable, hors-ligne) — la stack SPA le permet
|
||||||
- [ ] `docker-compose.yml` : `web`, `mysql`, `mongo`
|
- [ ] `docker-compose.yml` : `web`, `mysql`, `mongo`
|
||||||
- [ ] Volumes nommés pour l'ensemble des données
|
- [ ] Volumes nommés pour l'ensemble des données
|
||||||
|
|||||||
Reference in new issue
Block a user