Files
Vincent Bourdon 16fd4c8c36 docs: cadrage initial Storytime (specs par jalon, roadmap, CLAUDE.md)
Lecteur d'histoires cadenassé pour le coucher (Android/Flutter).
- CLAUDE.md : principes craftsmanship/TDD/clean code/clean archi + decisions techniques
- ROADMAP.md : suivi haut niveau des 7 jalons, a tenir a jour par etape
- docs/specs/ : specs completes decoupees par jalon, etapes en sous-fichiers
- .gitignore Flutter (pubspec.lock versionne, projet applicatif)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 17:03:33 +02:00

1.7 KiB

0.1 — Structure du projet & arborescence

Objectif

Créer le projet Flutter Android et l'arborescence clean architecture cible.

Périmètre & hors-périmètre

  • Inclus : flutter create (Android only), arborescence lib/core + lib/features/*, main.dart minimal, dépendances de base au pubspec.yaml.
  • Exclus : toute logique métier.

Dépendances

Aucune (première étape).

Conception

  • Cibler Android uniquement (--platforms=android).
  • Arborescence (cf. CLAUDE.md §4) :
    lib/core/{error,theme,router,di}
    lib/features/{locking,playback,podcasts,parental,limits}
    
    Chaque feature reçoit les sous-dossiers domain/ application/ data/ presentation/ (placeholders avec un .gitkeep ou un fichier barrel vide).
  • pubspec.yaml : ajouter flutter_riverpod. Les autres paquets (just_audio, kiosk_mode, …) seront ajoutés au jalon qui les utilise (YAGNI).
  • main.dart : ProviderScope + MaterialApp avec un écran d'accueil placeholder.

Plan TDD

La création de squelette est surtout structurelle ; le test porte sur le démarrage :

  1. Red : test de widget app_boots_test.dartpumpWidget(StorytimeApp()) attend de trouver le placeholder (texte « Storytime »). Échoue tant que l'app n'existe pas.
  2. Green : créer StorytimeApp + écran placeholder.
  3. Refactor : extraire le thème/router si nécessaire (sera étoffé en 0.3).

Definition of Done

  • flutter run démarre l'app.
  • app_boots_test.dart vert.
  • Arborescence conforme.
  • Étape 0.1 cochée dans ROADMAP.md.

Risques / notes

  • Vérifier la version Flutter/Dart utilisée et la consigner (ex. dans le README projet) pour reproductibilité.