Skip to content

[Phase 1 Sprint 4] ダッシュボード S-03 個人視点バックエンド(4セクション + summary 数値カード) #749

Description

@win2cot

開発計画書 §4.3.1 Sprint 4 App。S-03 個人視点ダッシュボードのバックエンド一式を実装する。画面(案A #350 / dashboard/decision.md)は数値カード + 4セクションの両方を必要とし、両エンドポイントとも S-03 個人視点。OpenAPI 契約(現行 v1.7.1、Dashboard タグ)に準拠する。

対象エンドポイント

  • GET /api/dashboard/tasks → DashboardTaskSections(4セクション: overdue / today / upcoming / completedToday のタスクリスト)
  • GET /api/dashboard/summary → DashboardSummary(数値カード: 当日期限 / 期限超過 / 本日完了 / 所有未完了 / ステータス別・優先度別件数)
  • 対象外: GET /api/tenant/dashboard/summary(S-15, Tenant Admin)= 別タスク。Phase 2 [Phase 2] DashboardSummary: 所有/担当タスクの個別指標分離 #192(所有/担当の指標分離)も対象外。

スコープ

  • 両エンドポイントの集計クエリ(OpenAPI 契約どおりのレスポンス。summary は DashboardSummary に完全準拠=ステータス別/優先度別カードを含む)
  • テナント認可・visibility を踏まえた集計(Hibernate Filter 経由、越境は 404 / 403)
  • クリーンアーキ4層(usecase に集約境界、adapter.web で公開)。両者は同一の認可済みタスク集合を集計するためドメイン/クエリを共有する

受け入れ条件

  • GET /api/dashboard/tasks が DashboardTaskSections 契約どおり(4セクション)
  • GET /api/dashboard/summary が DashboardSummary 契約どおり(数値カード一式)
  • テナント分離・visibility 評価が両集計に反映される
  • 単体テスト(Testcontainers MySQL)でカバレッジ 80% 以上
  • N+1 を出さない(メソッド名導出クエリ or 明示クエリで検証)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/backendJava / Spring バックエンド実装変更area/frontendフロントエンド(HTML/CSS/JS/Bootstrap 5)変更priority/p1High。現スプリント内で完了必須task-type:implコード実装が主体のタスク

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions