Skip to content

feat(admin): クラス・課題に俯瞰ダッシュボードと復元ファセットを追加#1107

Merged
smalruby3-editor-bot[bot] merged 1 commit into
developfrom
feature/admin-classroom-overview
Jul 19, 2026
Merged

feat(admin): クラス・課題に俯瞰ダッシュボードと復元ファセットを追加#1107
smalruby3-editor-bot[bot] merged 1 commit into
developfrom
feature/admin-classroom-overview

Conversation

@smalruby3-editor-bot

Copy link
Copy Markdown

Summary

「クラス・課題」画面が prod でたくさんの課題があるとフラット一覧では把握できない問題への対応。壁打ち(2026-07-19)で確定した 2 用途に沿って再設計しました。

  1. 依頼ベースの復元(削除済み含む)→ 期限切れ復元タブをファセット分類で強化
  2. 俯瞰してみんなの課題に有益な課題を見つける俯瞰ダッシュボードを新設

Changes

① 俯瞰ダッシュボード(新・既定タブ)

壁打ちで選ばれた軸(作成の推移 / 内容の充実度 / テーマ傾向。人気・提出数は不採用 — 中身と傾向で判断):

  • サマリーカード(総数 / 利用中 / アーカイブ / 直近30日の新規)
  • 作成の推移(月別)・内容の充実度(ページ数・画像・スターターでスコア化した分布)・テーマ傾向(課題名/クラス名の頻出語)
  • みんなの課題の有益候補(充実していて未共有らしい課題)を見える化。共有は先生本人が CC BY で行うため「作成した先生に共有をおすすめ」を案内
  • チャートは外部ライブラリ不使用(CSS 横棒。CSP/バンドルを汚さない)

② 期限切れ復元(ファセット絞り込み)

  • q を任意化し、削除時期・先生でファセット絞り込み(みんなの課題カタログ風)→ 大量の削除済みを分類してからクラス丸ごと復元
  • restore-candidates API が {items, total, facets:{byMonth, byTeacher}} を返すよう拡張

API / 集計

  • GET /admin/classrooms/overview(サーバー側集計・監査ログ)
  • 集計ロジックは純関数 classroom-overview.ts に分離(DynamoDB 非依存でユニットテスト)

別 EPIC に切り出し

Test / Verify

  • infra: 41 pass(overview 純関数 9 + handler の overview/facets)/ tsc clean
  • SPA: 37 pass(3 タブ・候補クリック・ファセット絞り込み)/ eslint clean
  • stg デプロイ + ブラウザ確認: 3 タブ描画、ダッシュボード集計、復元タブで 13 件→先生ファセットで 2 件に絞り込みを確認(スクリーンショットあり)

Related

EPIC #1073(管理 SPA)/ 派生 #1106(先生への共有促し)

🤖 Generated with Claude Code

たくさんの課題があるとフラット一覧では把握できないため、用途(俯瞰して
みんなの課題に有益な課題を見つける / 依頼ベースの復元)に沿って再設計。

俯瞰ダッシュボード(新・既定タブ):
- サマリー(総数/利用中/アーカイブ/直近30日)
- 作成の推移(月別)・内容の充実度(ページ/画像/スターターでスコア化)・
  テーマ傾向(課題名/クラス名の頻出語)。人気/提出数ではなく中身と傾向で判断
- みんなの課題の有益候補(充実かつ未共有らしい課題)を見える化。促す仕組み
  (推奨フラグ+先生UIバナー)は別 EPIC #1106 に切り出し
- チャートは外部ライブラリ不使用(CSS 横棒)

期限切れ復元: q を任意にし、削除時期・先生でファセット絞り込み(みんなの課題
カタログ風)。大量の削除済みを分類してからクラス丸ごと復元

- 新 API: GET /admin/classrooms/overview(サーバー側集計、監査ログつき)
- restore-candidates は q 任意 + facets(byMonth/byTeacher)を返すよう拡張
- 集計は純関数 classroom-overview.ts に分離してユニットテスト

テスト: infra 41(overview 9 + handler の overview/facets)/ SPA 37。
tsc・eslint clean。stg デプロイ + ブラウザで 3 タブ描画・ファセット絞り込みを確認

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

@smalruby3-editor-bot
smalruby3-editor-bot Bot merged commit c789522 into develop Jul 19, 2026
21 checks passed
@smalruby3-editor-bot
smalruby3-editor-bot Bot deleted the feature/admin-classroom-overview branch July 19, 2026 11:24
github-actions Bot pushed a commit that referenced this pull request Jul 19, 2026
…n-classroom-overview

feat(admin): クラス・課題に俯瞰ダッシュボードと復元ファセットを追加
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants