3.7 KiB
3.7 KiB
少プロジェクト短期実装計画(担当者に限定版)
1. プロジェクト概要
目標: 担当者マスタ画面のリッチ編集機能を実現し、販売・仕入れ業務との連携を整える
期間: 1-2 ヶ月程度で MVP をリリース 優先度: 担当者マスタ → サンプルデータ → ビルド検証
2. ワークフロー
graph TD
A[担当者マスタ画面] --> B[MasterEditDialog 作成]
B --> C[sample_employee.dart 定義]
C --> D[employee_master_screen.dart リッチ化]
D --> E[サンプルデータ追加]
E --> F[ビルド検証]
3. 実装順序
フェーズ 1: 編集ダイアログの整備 (1-2 週間)
-
MasterEditDialogを共有ライブラリとして作成- TextFormField で全てのフィールドを編集可能
- 保存/キャンセルボタン付き
- 無効な場合のバリデーション表示
-
sample_employee.dartにサンプルデータ追加- 初期担当者データ(5-10 件程度)
- employee_id, name, email, tel, department, role
フェーズ 2: マスタ画面の連携 (2-3 週間)
-
employee_master_screen.dartのリッチ化- MasterEditDialog で編集画面を表示
- リストビューに編集ボタン付き
- 追加ダイアログを統合
-
シンプルなリスト管理から開始
- ListView.builder で担当者一覧表示
- Card に編集ボタンを追加
フェーズ 3: 業務連携の準備 (1-2 週間)
- 販売画面への担当者紐付機能
- 仕入れ画面への担当者紐付機能
- 簡易な在庫管理と売上照会
4. テックスタック
| カテゴリ | ツール |
|---|---|
| State Management | setState (シンプル) |
| フォーム編集 | TextField + TextEditingController |
| ダイアログ | AlertDialog で標準ダイアログ利用 |
| データ永続化 | 当面はメモリ保持(後日 Sqflite) |
| ロギング | 簡易な print 出力 |
5. デリべラブル
MasterEditDialogの実装sample_employee.dartのサンプルデータ追加employee_master_screen.dartの簡素リスト実装(完了)- リッチ編集画面の実装
- ビルドと動作確認
6. 定義済みインターフェース
MasterEditDialog インターフェース:
class MasterEditDialog<T> {
final String title;
final Map<String, dynamic> initialData; // editMode の時だけ使用
final Future<bool> Function(Map<String, dynamic>) saveCallback;
static const String idKey = 'id';
static const String nameKey = 'name';
static const String emailKey = 'email';
static const String telKey = 'tel';
}
sample_employee.dart の形式:
class SampleEmployee {
final int id;
final String name;
final String email;
final String tel;
final String department;
final String role;
// factory で作成可能
Map<String, dynamic> toJson() => {...};
}
7. ビルド検証手順
flutter build apk --debugでビルド- Android エミュレータまたは物理デバイスで動作確認
- マスタ登録・編集のフローテスト
- 画面遷移の確認
8. リスク管理
- State Management の複雑化: setState を使いすぎると再描画が増える → 最小限に抑える
- データ永続化なし: アプリ再起動で失われる → MVP で OK、後日改善
- サンプルデータ不足: ユーザーに手入力させる → コード内で初期化
9. まとめ
担当者のみから着手し、マスター管理機能とサンプルデータを整備。その後に他のマスタ画面を順次実装する方針で進める。