Flutterプロジェクトの初期セットアップ構成(Riverpod + Freezed + GoRouter)
Flutter
Dart
Riverpod
知識
Flutterプロジェクトの初期セットアップで採用した構成。
主要パッケージ
- 状態管理: flutter_riverpod + riverpod_annotation + riverpod_generator
- ルーティング: go_router
- モデル定義: freezed + freezed_annotation + json_serializable + json_annotation
- UI補助: gap, flutter_animate, share_plus, intl
- コード生成: build_runner
ディレクトリ構成(Feature-first)
plaintext
lib/
├── app.dart
├── main.dart
├── core/ # 共通基盤(router, theme, widgets)
├── data/ # データ層(models, repositories, mock)
└── features/ # 機能別(auth, home, goals, tasks, alignment, settings)
└── [feature]/
├── screens/
└── widgets/モデル定義パターン
- Freezedで不変データクラスを生成(.freezed.dart)
- json_serializableでJSON変換コードを生成(.g.dart)
dart run build_runner buildでコード生成を実行
SDK要件
- Dart SDK: ^3.11.0