devcodetools
2e131dddcb
feat(ui): formulaire de création de carte avec navigation (F-05)
...
CardForm en mode création : champs question/réponse/thème, validation
HTML + affichage derreur API, soumission via cardsApi.create puis
redirection vers le détail de la carte créée (next/navigation).
2026-09-21 18:52:02 +02:00
devcodetools
3fdb558697
deps(test): @testing-library/user-event pour les intéractions de formulaire
2026-09-21 18:50:17 +02:00
devcodetools
9224fe003d
feat(ui): page détail d'une carte avec édition (F-09)
...
CardDetail affiche question, réponse révélée, thème et tags, avec liens
Modifier et retour à la liste. Page /cards/[id] qui la monte.
2026-09-21 18:45:40 +02:00
devcodetools
b030896e06
feat(ui): page liste des cartes avec lien création (F-08)
...
Route /cards montant CardList + action 'Nouvelle carte' vers /cards/new.
2026-09-21 18:44:08 +02:00
devcodetools
d82a82baf3
feat(ui): liste des cartes cliquable avec thème (F-08)
...
Composant CardList : charge les cartes via cardsApi.list(), affiche
question + thème, chaque entrée est un lien vers le détail. Gère les
états chargement, vide et erreur (ApiClientError).
2026-09-21 18:43:54 +02:00
devcodetools
405ce6e603
feat(ui): client API typé (list, CRUD, random, thèmes) avec gestion d'erreurs
2026-09-21 18:35:28 +02:00
devcodetools
de00a827ed
style(api): newline final manquant dans la factory de service
2026-09-21 18:26:26 +02:00
devcodetools
1b8aac89f9
test(api): couvrir les routes CRUD, random, thèmes et les helpers HTTP
...
Ajoute les tests des routes /api/cards, /api/cards/[id], /api/cards/random
et /api/cards/themes, ainsi que les tests des helpers http (handleError,
parseJsonBody) et de la factory getCardService. Corrige le formatage des
fichiers sources embarqués non formatés par les commits précédents.
2026-09-21 18:22:06 +02:00
devcodetools
19a5a47b28
feat(api): tirage aléatoire (global ou par thème) et liste des thèmes
2026-09-21 18:00:04 +02:00
devcodetools
ae3e87d916
feat(api): route CRUD cards (liste, détail, création, modification, suppression)
2026-09-21 17:59:48 +02:00
devcodetools
e4aa5f4b3b
test(service): CardService et schémas de validation
2026-09-21 17:59:25 +02:00
devcodetools
12670b7134
feat(service): CardService générique sur l'abstraction CardRepository
2026-09-21 17:58:59 +02:00
devcodetools
a3d9be86d8
feat(validation): schémas zod et erreurs applicatives
2026-09-21 17:58:59 +02:00
devcodetools
c997010c8c
deps: ajouter zod pour la validation des entrées
2026-09-21 17:58:24 +02:00
devcodetools
77ac6e0e21
style: formater sources et scripts (prettier)
2026-09-21 17:55:34 +02:00
devcodetools
01337ef480
test(repo): mock de Collection sans any et export CardDocument
2026-09-21 17:55:34 +02:00
devcodetools
9d743d898f
fix(docker): épingler mongo:8.2 pour compatibilité noyau 7.x
2026-09-21 17:55:33 +02:00
devcodetools
2ddb687286
test(repo): couvrir les implémentations mysql et mongo de CardRepository
2026-09-21 17:51:17 +02:00
devcodetools
4140942ae3
fix(docker): utiliser le port hôte 27018 pour mongo (hors plage 16 bits)
2026-09-21 17:51:17 +02:00
devcodetools
b02f937c96
feat(config): sélecteur de repository selon DB_IMPL
2026-09-21 17:47:33 +02:00
devcodetools
dca234f298
feat(repo): implémentation MongoDB de CardRepository
2026-09-21 17:47:23 +02:00
devcodetools
ab24d329b9
feat(repo): implémentation MySQL de CardRepository
2026-09-21 17:46:45 +02:00
devcodetools
2721326a07
feat(domain): interface générique CardRepository
2026-09-21 17:46:21 +02:00
devcodetools
68a8e1c236
feat(domain): entité Card et CardInput
2026-09-21 17:46:06 +02:00
devcodetools
94cc624364
chore(env): variables de connexion aux 2 SGBD
2026-09-21 17:46:00 +02:00
devcodetools
2b7a05cd7d
deps: ajouter les drivers mysql2 et mongodb
2026-09-21 17:45:52 +02:00
devcodetools
60494b9bf1
feat(db): collection cards MongoDB et seed
2026-09-21 17:45:42 +02:00
devcodetools
8ec38c158a
feat(db): schéma MySQL cards et seed
2026-09-21 17:45:30 +02:00
devcodetools
0e714f507b
chore(docker): conteneurs mysql et mongo dédiés avec volumes nommés
2026-09-21 17:45:12 +02:00
devcodetools
2ec13f5895
style: formater GOAL.md et TODO.md (prettier)
2026-09-21 17:42:19 +02:00
devcodetools
6981da23f1
test(app): couvrir la page PWA hors connexion
2026-09-21 17:42:19 +02:00
devcodetools
fc859de030
config(vitest): fixer le seuil de coverage à 80%
2026-09-21 17:40:35 +02:00
devcodetools
03f03f7ad2
chore: initial commit
2026-09-21 17:28:26 +02:00