Fincs

講座運営 / 受講者レビュー閲覧

講座運営 / 受講者レビュー閲覧

本ページは 2 段構成。上段が biz/CS 向け(ユーザー提示可)、下段(## 🔧 実装詳細 以降)が dev 向け。biz/CS がユーザーへ提示・転用してよいのは上段のみ。

概要

受講者レビュー閲覧は、メイン講師およびサブ講師が、自身の講座に対して受講者から寄せられたレビュー一覧を閲覧・モデレーションするための機能。受講者が投稿したレビューを時系列で確認し、不適切な投稿があれば個別に非公開化・削除できる。なお、講師から受講者レビューへの「返信機能」は現時点では提供していない。

主な利用想定は、新着レビューの定期確認、不適切投稿の運営判断、講座満足度の把握、改善ヒントの収集など。レビューはタイトル・本文・総合評価点(5 段階)・講師評価点・コンテンツ評価点を含み、講座の評判管理の一次情報源として機能する。

公開レビューの閲覧範囲: 公開状態のレビューは未受講者・受講者・講師・第三者を含めて誰でも閲覧可能。非公開レビューは「投稿者本人」「該当講座のメイン講師」「該当講座のサブ講師」のみ閲覧可能。

評価点の見え方: 各レビューの評価点(総合 / 講師 / コンテンツ)は、自分が投稿したレビューのみ点数表示される。他者のレビューでは点数表示はマスクされ、講座全体としての集計値や複数レビューを通じた傾向把握に使う構造。

📝 レビュー観点:

  • 目的: 受講者の評価・声を把握、不適切な投稿を非公開化・削除
  • 誰が使うか: メイン講師 / サブ講師
  • どこで使うか: 講座詳細画面のレビュータブ、/plan/{id}/reviews
  • 隣接機能との関係: 受講者がレビューを書く側(受講者向け PSD)、受講者管理(./member.md
  • CS 問い合わせで頻発する論点: 「自分のレビューが他人から見えない」「非公開にしたが反映されない」「ページサイズが思ったより少ない」「返信したい」
  • [本機能特有] 返信機能なし: テーブルにも reply 系カラムなし
  • [本機能特有] FE/BE/DB の三層乖離: タイトル・本文の文字数で BE 制限なし
  • [本機能特有] sort パラメータ未反映の可能性: SQL は review_id desc ハードコード

利用シナリオ

シナリオ 1: 講師が新着レビューを確認する

メイン講師またはサブ講師が、講座詳細画面のレビュータブを開き、新着レビューを時系列で確認。受講者の評価点・本文を通じて講座満足度を把握する。

シナリオ 2: 不適切なレビューを非公開化する

中傷・誤った情報・規約違反など不適切なレビューを発見した場合、講師が非公開化操作を行う。非公開化されたレビューは公開レビュー一覧から外れ、未受講者・第三者からは見えなくなる。投稿者本人と講師は引き続き閲覧可能。

シナリオ 3: レビューを削除する

非公開化では不十分なケース(プライバシー侵害・著しい虚偽 等)では削除操作で対応。削除は内部的に論理削除として処理され、画面上からは見えなくなる。

シナリオ 4: 受講者が投稿したレビュー(自分の投稿)を確認する

受講者は自分が書いたレビューを公開・非公開状態にかかわらず確認できる。他の受講者のレビューは公開分のみが見える。

シナリオ 5: 講師から返信したい場合の対応

現時点では講師からレビューへの「返信機能」は提供されていない。CS 対応で「レビューに返信したい」要望を受けた場合は、別途トーク機能等での個別対応を案内する。

よくある失敗ケース

  • 自分の講座以外のレビュー削除試行: 該当講座のメイン / サブ講師でないと削除不可
  • タイトル文字数オーバー(受講者投稿側): 100 文字を超えるとエラー
  • 本文文字数オーバー(受講者投稿側): 500 文字を超えるとエラー
  • 重複投稿: 同一受講者が同じ講座へ複数のレビューを投稿しようとするとエラー(1 講座につき 1 件)
  • ページネーション: ページサイズは 10 件単位で、追加読み込みでスクロール

権限別仕様

権限定義は ../user-roles.md 参照。用語は ../terminology.md

講座権限軸

操作 未受講者 受講者 サブ講師 メイン講師
公開レビュー一覧の閲覧
自分のレビュー(非公開含む)閲覧
全レビュー(非公開含む)閲覧 × ×
レビューの公開 / 非公開切替 × ×
レビューの削除 × ×
レビューへの返信 × × ×(未実装) ×(未実装)

横断軸

操作 運営アドミン テストユーザー 投稿禁止
レビュー削除(運営アドミン経由) ○(OWNER ロール経由で技術的に可能) × ×

📝 レビュー観点:

  • 公開レビュー一覧は 未認証含む全員 が閲覧可(permitAll
  • 非公開分は SQL で「自分のレビュー or メイン講師 or plan_sub_owner」のみ可視
  • 講師の評価点は他者には null 化されて返る(自分のレビューのみ点数表示)

機能詳細(ふるまい)

一覧閲覧

  • 投稿日時の降順で表示
  • ページサイズ 10 件、追加読み込みで次ページへ
  • 特定ユーザー指定で絞り込み可能(受講者個別の投稿確認用)
  • 公開レビューは未受講者・受講者・第三者を含めて誰でも閲覧可
  • 非公開レビューは「投稿者本人 / 該当講座のメイン講師 / 該当講座のサブ講師」のみ閲覧可
  • 自分以外のレビューでは評価点(総合 / 講師 / コンテンツ)はマスクされ、自分の投稿のみ点数が見える

公開 / 非公開切替

  • メイン講師およびサブ講師が個別レビューを非公開化できる
  • 非公開化されたレビューは公開一覧から外れ、第三者からは見えなくなる
  • 投稿者本人と講師は引き続き閲覧可能
  • 不適切な投稿の運営判断・タイミングを見て公開復活させる運用も可能

削除(論理削除)

  • 講師による削除は論理削除として処理(内部にデータは保持)
  • 削除されたレビューは画面上から見えなくなる
  • 受講者には削除後のレビューは表示されない
  • 復旧は運営側の内部対応のみで、画面操作からの復旧経路はなし

返信機能

  • 現時点で講師からレビューへ返信する機能は 提供していない
  • 「特定の受講者に個別の返答をしたい」場合は、別経路(個別 DM 等)で対応する
  • 返信機能の実装は今後の改善候補として取り扱い

受講者側の投稿仕様(補足)

本ページは閲覧 / モデレーションを扱うが、受講者がレビューを投稿する側の制限値も併記:

  • タイトル: 100 文字以内(必須)
  • 本文: 500 文字以内(必須)
  • 総合評価: 1〜5 の 5 段階(必須)
  • 講師評価 / コンテンツ評価: 1〜5 の 5 段階(任意)
  • 重複投稿の禁止: 同一受講者・同一講座で投稿は 1 件のみ(編集は可)

📝 レビュー観点:

  • 入力 → 処理 → 出力: 一覧 → 個別操作 → 即時反映
  • エッジケース: 自分の評価のみ点数表示(他者の点数は null)、sort=asc 指定時の挙動(要確認)
  • 編集・削除の挙動: 削除は論理削除、復旧経路なし
  • [本機能特有] FE/BE/DB の文字数三層乖離: dev 改善課題
  • [本機能特有] FE/BE のページサイズ デフォルト乖離: FE 10 / BE 20

admin 操作

該当なし / 実装されていない

  • 運営アドミン専用のレビュー閲覧 / モデレーション UI: なし(pages/admin/** にレビュー画面ヒットなし)
  • 代理での公開非公開切替・削除: 専用経路なし。技術的には DELETE /review/**OWNER ロールに開放されているため運営アドミンマスター ロールであれば可能だが、専用 UI なし

📝 レビュー観点:

  • 運営アドミン経由のモデレーション UI の必要性

品質 / 約束事項

  • 応答性: 一覧・操作は即時反映
  • 信頼性: 公開非公開切替・削除は管理権限の二重チェックを経る
  • 制限値:
    • タイトル: 100 文字(実質 FE 制約)
    • 本文: 500 文字(実質 FE 制約)
    • 評価点: 1〜5
    • 重複投稿: 同一ユーザー × 同一講座で 1 件のみ
    • ページサイズ: 10 件(FE デフォルト)
  • データ保持: 論理削除、復旧経路なし

📝 レビュー観点:

  • [本機能特有] FE/BE/DB の三層乖離: タイトル FE 100 / BE 制限なし / DB 250、本文 FE 500 / BE 制限なし / DB 1000 → BE バリデーション追加が改善課題

変更履歴(リリースノート候補)

v2.29.2: 2026-05-02(PSD 初版)

  • [PSD 追加] 本ドキュメント初版作成。v2.29.2 時点の実装を起こし。機能追加・変更は含まない

📝 レビュー観点:

  • 過去の主要変更(is_private 追加 / レビュー機能追加 等)

関連ドキュメント


このページの内容を AI に質問しますか?
関連 spec を自動抽出して ChatGPT / Claude などに渡せます。
AI Prompt で開く →