Fincs

講座 / レビュー投稿(受講者)

講座 / レビュー投稿(受講者)

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

概要

受講者が自分が契約している講座に対してレビューを投稿する機能。レビューは評価点(5 段階)+ タイトル + 詳細から構成され、他受講者・未受講者の入会判断材料として講座詳細画面に表示される。

主な仕様:

  • 投稿資格: 入会から 14 日経過 + 契約有効 + 講座側でレビュー機能が有効の 3 条件すべて満たす必要あり
  • 投稿は 1 受講者 × 1 講座 = 1 件まで: 重複投稿は不可(既存レビューは編集する形)
  • 編集は無制限: 投稿者本人がいつでも何度でも編集可能
  • 非公開化は講師のみ: 受講者本人は自分のレビューを非公開化できない(不適切に感じる場合は講師に依頼 → 講師が非公開化)
  • 削除は講師 / 運営アドミンのみ: 受講者は削除不可

主な使い方:

  • 受講者: 入会 14 日経過後にレビュー投稿、いつでも編集可能
  • 未受講者・受講者・講師: レビュー閲覧(公開状態のもののみ)
  • 講師: 自講座のレビューを非公開化・削除可能(../plan-management/reviews.md
  • 運営アドミン: 規約違反等の理由でレビューを強制削除(../admin/system.md

入会直後の感想ではなく、ある程度受講した後の評価を促すために 14 日経過の条件が設けられている。

📝 レビュー観点(draft 段階の記述ヒント、完成時に削除):

  • 目的: 受講者の体験フィードバックを蓄積し、講座の信頼性向上と他受講者の入会判断に資する
  • 誰が使うか: 受講者(投稿)、未受講者・受講者・講師(閲覧)
  • どこで使うか: 講座詳細画面のレビュー導線、mypage > 契約内容
  • 隣接機能との関係: 講師のレビュー閲覧(../plan-management/reviews.md)/ 講座概要(./index.md)/ 契約管理(./contract.md
  • CS 問い合わせで頻発する論点: 「レビューが書けない」(投稿資格 14 日経過待ち)「レビューを編集したい」「非公開にしたい」
  • [本機能特有] 投稿資格条件: 入会から 14 日経過 + 契約有 + 講座側機能 ON が必要
  • [本機能特有] 1 受講者×1 講座 = 1 件: 重複投稿不可、編集は無制限
  • [本機能特有] 非公開化は講師のみ: 受講者本人は自分のレビューを非公開化できない
  • [本機能特有] 削除は講師 / 運営アドミン: 受講者は削除不可

利用シナリオ

シナリオ 1: 14 日経過後の初回投稿

受講者が入会後 14 日が経過したタイミングで講座詳細画面のレビュー導線から投稿画面へ遷移。評価点(1〜5)・タイトル・詳細を入力して投稿。投稿完了画面が表示され、講座詳細のレビュー一覧に即時反映される。

シナリオ 2: 既存レビューの編集

過去にレビューを投稿した受講者が、内容を改めたいタイミングで再度投稿画面を開く。既存レビューが入った状態で表示され、編集して保存することで内容が更新される。回数制限なく何度でも編集可能。

シナリオ 3: 講師がレビューを非公開化

講師が自講座のレビューの中で、運用上不適切と判断したものを非公開化する。受講者本人による非公開化はできないため、CS 経由で講師に依頼するケースもある。

シナリオ 4: 運営アドミンによる強制削除

規約違反等のレビュー(誹謗中傷・虚偽情報等)を運営アドミンが強制削除する。受講者・講師どちらにも事前通知はないが、削除済みとして公開リストから除外される。

よくある失敗ケース

  • 「レビューが書けない」: 入会から 14 日未経過 / 契約終了済み / 講座側でレビュー機能 OFF のいずれか
  • 「レビューを編集したい」: 既存レビューがあれば投稿画面が編集モードで開く(仕様)
  • 「非公開にしたい」: 受講者本人による非公開化経路は未実装。講師に依頼する運用
  • 「削除したい」: 受講者本人による削除経路は未実装。講師か運営アドミンに依頼

📝 レビュー観点:

  • 14 日経過後にレビュー投稿する典型例
  • 既存レビューを編集する例(無制限編集可)
  • 講師がレビューを非公開化する例(プロフィール上の見え方)
  • 運営アドミンがレビューを強制削除する例(規約違反対応)
  • 失敗ケース: 14 日未経過、レビュー機能 OFF プラン、二重投稿試行

権限別仕様

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

講座権限軸

操作 未受講者 受講者 サブ講師 メイン講師
レビュー閲覧
自身のレビュー投稿 × ○(14 日経過 + 契約有 + 講座機能 ON) ×(自講座は契約しない) ×(自講座は契約しない)
自身のレビュー編集 × ○(投稿者本人のみ)
自身のレビュー非公開化 × ×(講師のみ可能)
他受講者レビューの非公開化(自講座) × × ○(要確認)
他受講者レビューの削除(自講座) × ×

横断軸

操作 運営アドミン テストユーザー 投稿禁止
レビュー強制削除 ○(運営アドミン専用機能) × ×
レビュー投稿 (通常と同じ) (通常と同じ) ×(投稿の入口で弾かれる)

📝 レビュー観点:

  • 投稿禁止フラグの影響(レビュー投稿への影響、編集への影響を要確認)
  • サブ講師の非公開化操作可否(実装上は hasOwnerPlan で通る想定)

機能詳細(ふるまい)

投稿資格

レビュー投稿には以下 3 条件すべてが必要:

  1. 入会から 14 日経過(運用設定で日数変更可、デフォルト 14 日)
  2. 契約が有効(解約済みは投稿不可)
  3. 講座側でレビュー機能が有効(プラン設定で OFF にすると投稿不可)

3 条件のいずれかが満たされない場合、レビュー投稿画面に進めない(または進めてもエラーになる)。

投稿項目

項目 必須 制限
評価点(1〜5) 1〜5
タイトル 全角 100 文字以内
詳細 全角 500 文字以内

編集

  • 投稿者本人のみ可能(他のユーザーは編集できない)
  • 回数制限なし: 何度でも編集可能
  • 編集後の表示: 即時反映、投稿日時は元投稿時のものが残る(編集日時は内部記録)
  • 編集時に他のユーザーへの通知は発火しない

重複防止

1 受講者 × 1 講座 = 1 件の制約:

  • 既にレビューを投稿しているユーザーが「投稿」を試みても、既存レビューを編集する形にリダイレクトされる
  • 重複投稿は試行段階でエラーとなり、新規レコードは作成されない

非公開化(講師による操作)

講師(メイン講師・サブ講師)が自講座のレビューを非公開化できる:

  • 不適切と判断したレビューを公開一覧から非表示にできる
  • レビュー本体は削除されず、内部的に保持される(公開状態を OFF にするだけ)
  • 受講者本人への通知は発火しない
  • 受講者本人による非公開化経路は未実装。本人が非公開化を希望する場合は講師に依頼する運用

強制削除(運営アドミン)

運営アドミンが規約違反レビューを強制削除する:

  • 誹謗中傷・虚偽情報等の規約違反対応
  • 削除は内部的には論理削除(運営側からは履歴として参照可能)
  • 受講者・講師への通知は発火しない

📝 レビュー観点:

  • 入力 → 処理 → 出力: 評価点(5 段階)+ タイトル(100 文字)+ 詳細(500 文字)
  • エッジケース: 14 日経過直後のタイミング、契約終了済みユーザーのレビュー扱い、再契約時の旧レビューの扱い
  • エラー表示: 14 日未経過、機能 OFF プラン、二重投稿
  • 編集・削除の挙動: 編集は通知再送なし、講師による非公開化は通知なし、運営アドミン削除は通知なし
  • [本機能特有] FE/BE 文字数の乖離: タイトル DB 250 文字 / FE 100 文字、詳細 DB 1000 文字 / FE 500 文字

admin 操作

できる操作

  • レビュー強制削除: 運営アドミン専用機能で対応(規約違反等の対応用)

詳細は ../admin/system.md 参照。

実装されていない / 不明

  • 運営アドミンによるレビュー編集: 専用経路なし
  • 運営アドミンによるレビュー非公開化: 専用経路なし(講師に依頼が必要)

📝 レビュー観点:

  • 規約違反レビューの強制削除と、ユーザーへの通知の要否
  • レビュー削除後の復旧経路の必要性

品質 / 約束事項

  • 応答性: 投稿・編集は同期処理で即時反映、講座詳細のレビュー一覧にすぐ表示される
  • 信頼性: レビューの公開・非公開・削除はそれぞれ権限が分離されており、受講者本人による誤操作で削除される事故は防がれる。論理削除で内部保持されるため、運営側からの履歴確認・誤削除復旧は限定的に可能
  • 制限値:
    • タイトル: 全角 100 文字以内(FE 制限が実質適用)
    • 詳細: 全角 500 文字以内(FE 制限が実質適用)
    • 評価点: 1〜5
    • 投稿数: 1 受講者×1 講座 = 1 件
    • 編集回数: 無制限
  • データ保持: 削除は論理削除、内部的に保持

📝 レビュー観点:

  • [本機能特有] FE/BE 制限値の乖離: タイトル DB 250 文字 vs FE 100 文字、詳細 DB 1000 文字 vs FE 500 文字 — 実質は FE 値が適用
  • 退会済みユーザーのレビュー保持期間
  • 講師変更時の旧講師宛レビューの扱い

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

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

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

📝 レビュー観点:

  • 過去の主要変更(投稿資格 14 日設定 / 非公開化機能追加 / 評価点項目 等)

関連ドキュメント


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