Appearance
画面設計: 管理者 学習者一覧・検索
関連: api.md §4 / auth-rbac.md §4
URL
/admin/learners
対象ロール
- TA(担当学習者のみ)/OA(自組織全員)/TM(引継ぎ済)/SA(配下)
※ スコープはapi.md §1.0に従いサーバフィルタ
レイアウト
- 左:フィルタパネル(コホート、JLPT、進捗率、最終学習日、信頼指標帯)
- 右:学習者テーブル/カード切替
- 上部:検索ボックス(名前)+ ソート
- 上部右:CSV/PDF エクスポート(権限による)
テーブルカラム
| カラム | 表示 | ソート |
|---|---|---|
| 氏名 | アバター+氏名 | ✓ |
| コホート | タグ | ✓ |
| JLPT | N5/N4/N3 | ✓ |
| 単語習得率 | % | ✓ |
| 実測学習時間(月) | 分 | ✓ |
| テスト直近 | スコア | ✓ |
| 一貫性スコア(OA有効時) | 帯+数値 | ✓ |
| 最終学習日 | 相対 | ✓ |
- 行クリック →
/admin/learners/:id(ただし SA は詳細遷移を許可しない。SA は集計系のみ閲覧。個別詳細が必要な場合は OA 昇格フロー経由) - 行の選択(checkbox)→ 一括メッセージ送信(TA/OA のみ表示)
ロール別 挙動差分
| ロール | 行クリック | 一覧列 | 一括操作 |
|---|---|---|---|
| LR | —(画面にアクセス不可) | — | — |
| TA | /admin/learners/:id へ遷移(担当のみ) | 標準 | メッセージ送信 |
| OA | 遷移可(自組織全員) | 全列+信頼指標帯 | メッセージ/ロール/削除 |
| TM | 遷移可(引継ぎ済のみ、閲覧限定) | 標準(編集不可) | なし |
| EM | 画面にアクセス不可 | — | — |
| SA | 遷移不可(集計閲覧のみ) | 氏名(伏字可)/コホート/進捗率の要約のみ | なし |
| SU | アクセス不可(匿名化済運用画面のみ) | — | — |
フィルタ
- コホート(複数選択)
- JLPT(複数選択)
- 進捗率レンジ(min-max)
- 最終学習日(from-to)
- 信頼指標帯(low/mid/high、OA 有効時のみ表示)
- アラート有無(異議申立発生中/乖離閾値超)
API
GET /admin/learners?cohortId=&jlpt=&progressMin=&progressMax=&q=&cursor=&limit=- 応答:
{ items: [...], nextCursor } - 監査ログ:閲覧は基本無監査(
/admin/governance/audit-logsで閲覧者単位の閲覧アクティビティは OA が確認可能に、個別監査エントリは別途設計)
RBAC
- TA:
担当 cohortのみフィルタ可(サーバ強制) - 他組織の学習者は 403/404
- OA のみ「一貫性」列および信頼指標帯フィルタを表示
エンプティ/エラー
- 担当学習者ゼロ:「担当がありません。管理者に相談してください」
- 403:「権限がありません」
- 429:「一時的なレート制限」
モック(M1)
- 30 名程度のダミーデータ、フィルタ/ソート/ページングを UI レベルで動作
- ロール切替で列表示が変化することを確認
未確定
- ダッシュボードと一覧画面の関係(TA 初期画面の判断)
- エクスポート権限の細分化