Skip to content

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/appfeaturesshared の役割を分けました。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 の初期実装に進む

Tsumoo の公開用開発ログと技術メモ。