2026年5月27日(水)
今日やったこと
- フェーズ1 MVP の API 設計を整理
- 認証、アカウント、タスク、振り返り API の責務とエンドポイント方針を整理
- Laravel / Next.js の責務分離を整理
- Cookie セッション + CSRF を前提にした認証連携方針を整理
- メール確認前ユーザーの扱いを整理
- タスク一覧のページング、表示ラベル、エラー形式、成功ステータスの方針を整理
- ステータス型タスクの完了取消時に、完了前ステータスへ戻す方針を整理
- Laravel 側の実装方針として、軽量ユースケース駆動、ディレクトリ構成、Policy、例外処理、transaction、テスト方針を整理
- Next.js 側の実装方針として、App Router、ディレクトリ構成、API クライアント、認証状態管理、フォーム管理、状態管理、テスト方針を整理
- API 設計に合わせて、DB 設計書、画面詳細設計書、基本設計書の関連記述を更新
ロードマップ
フェーズ1: タスク管理MVP
進捗: 6 / 30件
今日対応したタスク
- 進行中 TSUMOO-7 API設計
完了したタスク
- TSUMOO-6 DB設計
- TSUMOO-5 画面詳細設計
- TSUMOO-4 UI方針整理
- TSUMOO-3 フェーズ1基本設計
- TSUMOO-2 フェーズ1要件定義
- TSUMOO-1 Tsumoo構想整理
次に取り組むタスク
- TSUMOO-7 API設計の続き
- TSUMOO-8 アプリケーション初期構築
- TSUMOO-9 開発環境・基本設定整備
考えたこと
今日は、API のエンドポイントを並べるだけではなく、実装時に迷いやすい判断をかなり前倒しで整理しました。
特に、Laravel 側は Controller を薄くし、Action / UseCase に処理を寄せる方針にしたことで、実装時に「どこに何を書くか」を追いやすくなりました。Repository や厳密な DDD は理解だけ整理し、フェーズ1では採用しない判断にしたのも、今の規模に合っていると思います。
Next.js 側も、App Router を前提にしつつ、src/app、features、shared の役割を分けました。API クライアント、認証状態管理、フォーム、状態管理、表示ラベル、テストまで決めたことで、フロントエンド実装に入る前の土台がかなり見えました。
AI と対話しながら設計を進めることで、選択肢の比較、具体例、設計書への反映を短いサイクルで回せました。
決めたこと
- API パスは画面 URL に完全には合わせず、リソースと業務操作を基準に
/api配下で整理する - セキュリティは API パスの秘匿ではなく、認証、認可、CSRF、バリデーション、所有者チェックで担保する
- Next.js と Laravel の認証連携は Cookie セッション + CSRF を前提にする
- ダッシュボード初期表示では、タスク一覧 API と今日の達成状況 API を別 API として扱う
- API レスポンスでは内部値を返し、表示ラベルは Next.js 側で変換する
- エラーは HTTP ステータスと
codeで扱い、表示文言は Next.js 側で管理する - ステータス型タスクの完了取消時は、完了前ステータスへ戻す
- Laravel 側は軽量ユースケース駆動で実装し、Repository と厳密な DDD はフェーズ1では採用しない
- Laravel の作成、更新、削除系 Action は原則 transaction で包む
- Next.js は App Router を採用し、認証後画面は Client Component 中心で実装する
- Next.js のサーバー状態管理は TanStack Query、フォーム管理は React Hook Form + Zod を採用する
- Next.js の API 由来の型とフォーム field 名は
snake_case、React 内部の UI 状態はcamelCaseとする
次にやること
- Docker / 開発環境構築方針を整理する
- Laravel、Next.js、DB、メール確認、CSRF がローカルで自然につながる構成を決める
- 開発環境構築後、Laravel と Next.js の初期実装に進む