Fincs

講座 / マイ講座一覧

講座 / マイ講座一覧

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

概要

ログイン中のユーザーが自分が入会している講座を一覧表示する画面。受講者にとって日常の講座アクセス導線として使われる起点。

主な仕様:

  • カード形式の一覧: 各講座をサムネイル・タイトル・講師情報・料金・契約状態を含むカードで表示
  • ページング: 1 ページ 10 件
  • 並び順: 既定の並び順(運用設定)。ユーザー側で並び替え UI はなし
  • 遷移導線: カード押下で講座詳細画面、各カードの「契約内容の確認」ボタンで契約管理画面(./contract.md

主な使い方:

  • 受講者: 入会講座の確認 + 各講座への日常的なアクセス起点
  • 講師: 自身が他の講座に「受講者として」入会している場合、それらが本一覧に表示される

未読バッジの取り扱い:

マイ講座一覧画面では未読バッジを表示しない仕様。各講座の詳細画面に入って初めて、トーク・コンテンツの未読バッジが表示される(../talk/unread.md と整合)。CS で「他の講座の未読が一覧で見えない」と挙がる典型的な相談の根拠。複数講座を契約している受講者は、未読の有無を確認するには各講座詳細画面を開く必要がある。

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

  • 目的: 受講者が自身の入会講座を一覧で把握し、各講座へ遷移する起点
  • 誰が使うか: 受講者
  • どこで使うか: mypage > 入会中の講座一覧、ヘッダー / メニューからの導線
  • 隣接機能との関係: 講座詳細(./index.md)/ 契約管理(./contract.md)/ 講座体験(../talk/ / ../contents/
  • CS 問い合わせで頻発する論点: 「他の講座の未読が一覧で見えない」「契約終了した講座が消えない」「並び順を変えたい」
  • [本機能特有] 並び替え・絞り込み UI なし: API は sort 引数を受けるが UI 上は固定順
  • [本機能特有] トーク未読バッジは表示しない: 一覧では未読を集約しない設計(CS 問い合わせで頻発)
  • [本機能特有] ページング: 1 ページ 10 件、ページャー表示

利用シナリオ

シナリオ 1: 受講者が日常的にマイ講座一覧を開く

ログイン後にメニュー / mypage > 入会中の講座一覧を開くと、自身が入会している講座のカードが一覧表示される。各カードに講座のサムネイル・タイトル・講師情報・契約状態が表示され、目的の講座をタップすると詳細画面に遷移する。

シナリオ 2: 契約内容の確認 / 変更

各カードに「契約内容の確認」ボタンがあり、そこから契約管理画面(./contract.md)に直接遷移できる。料金プラン変更や講座スコープのカード変更等を行いたいときの近道。

シナリオ 3: 仮解約状態の講座の確認

決済失敗等で仮解約状態になっている講座は、カード上のステータスでそれが分かる(「仮解約」「解約予約」「未契約」等)。仮解約状態の講座は復帰決済画面(./payment.md)への導線が表示される。

シナリオ 4: 同じ講座で複数契約を持つ場合

運用機能が有効な環境では、同じ講座に対して複数の契約を持つ受講者の場合、契約ごとに別カードとして展開表示される(料金プラン名等で区別される)。

よくある失敗ケース

  • 「他の講座の未読が一覧で見えない」: 仕様として一覧では未読バッジを集約していない(各講座の詳細画面に入って確認)
  • 「契約終了した講座が消えない」: 契約満了直後は表示が残ることがある(次回一覧取得で除外される)
  • 「並び順を変えたい」: ユーザー側の並び替え UI は未実装

📝 レビュー観点:

  • 通常の入会講座確認(カード一覧 → 講座詳細へ遷移)
  • 契約変更導線(カード上の「契約内容の確認」ボタン)
  • 仮解約状態 / 解約済み講座の表示
  • 複数契約状態(同じ講座に複数の料金プラン契約)
  • 失敗ケース: 入会講座 0 件時の表示

権限別仕様

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

講座権限軸

操作 未受講者 受講者 サブ講師 メイン講師
自身の入会講座一覧の閲覧 (0 件表示)
各講座への遷移
契約内容の確認導線

横断軸

操作 運営アドミン テストユーザー 投稿禁止
入会講座一覧 (通常と同じ) (通常と同じ) (通常と同じ)
他ユーザーの入会講座一覧の運営アドミン参照 ×(運営アドミン専用経路は存在しない) × ×

📝 レビュー観点:

  • 講師が「受講者として入会した講座」を確認する経路(運用上の典型ケース)
  • 運営アドミンによる代理参照経路の必要性

機能詳細(ふるまい)

表示内容

カード形式の一覧で、各カードに以下の情報が表示される:

各カードに表示される情報:

  • サムネイル画像
  • 講座タイトル
  • タグ
  • 受講者数(プラン設定で隠す可)
  • 講師情報(アイコン / 肩書き / 名前)
  • 料金プラン名(feature toggle)
  • 料金
  • 契約ステータス(活発 / 仮解約 / 解約予約 / 未契約)
  • 入会中リボン
  • 次回課金日 / 契約満了日

ページング

1 ページ 10 件で、ページャー UI で次ページ・前ページに切り替えできる。入会講座が多いユーザーでも段階的にロードされる。

並び順

既定の並び順(運用設定)で表示される。ユーザー側で並び順を変更する UI はなし。

契約内容の確認導線

各カードに「契約内容の確認」ボタンが表示され、押下すると契約管理画面(./contract.md)に遷移する。料金プラン変更・カード切替・解約等の操作はそちらで実施。

複数契約状態

運用機能が有効な環境では、同じ講座に対して複数の契約を持つ受講者の場合、契約ごとに別カードとして展開表示される:

  • 1 講座 × 複数契約 → 契約ごとにカード(料金プラン名で区別)
  • 各カードは独立した契約管理対象として遷移できる

通常運用では 1 講座 × 1 契約のため、ほとんどのユーザーは展開表示を見ることはない。

未読バッジ

  • マイ講座一覧では未読バッジは表示しない
  • 講座詳細画面のトークタブに入って初めて未読バッジが表示される(../talk/unread.md §講座一覧側へのロールアップは未実装 と整合)

📝 レビュー観点:

  • 入力 → 処理 → 出力: ページング + 件数(DEFAULT_PAGE_SIZE=10)
  • エッジケース: 入会 0 件、契約終了直後の表示、仮解約状態の表示、解約予約の表示
  • [本機能特有] 未読の不可視性: 一覧では未読を集約しない仕様、CS 問い合わせの根拠
  • [本機能特有] 並び順固定: API は sort 引数を受けるが UI からは指定不可

admin 操作

該当なし

運営アドミンによる入会講座一覧の参照経路は存在しない。

実装されていない

  • 運営アドミンによる代理参照: 専用経路なし(運営アドミン専用機能には属性系のみ)

📝 レビュー観点:

  • CS 対応で「このユーザーが入会している講座一覧」を確認する経路の必要性

品質 / 約束事項

  • 応答性: 一覧取得は同期処理、件数によらず通常数秒以内(受講者数等は内部キャッシュ済みの値を表示)
  • 信頼性: 契約状態(活発・仮解約・解約予約・未契約)は契約データに基づき毎回算定。退会済み講座は表示から除外される。受講者数 / 講師情報の表示はキャッシュ済み値のため、稀に最新化までに時間差がある
  • 制限値:
    • ページング: 10 件 / ページ
    • 並び順切替: UI 上不可
  • データ保持: 解約済み講座は表示しない(contract.end_date を超えたものは除外)

📝 レビュー観点:

  • 応答性: 入会講座が大量(数百件)の場合のレスポンス時間
  • 信頼性: 受講者数 / 講師情報のキャッシュ整合性
  • [本機能特有] 「未読バッジが見えない」CS 問い合わせ対策: 仕様として一覧では集約しない旨を biz 文言で明示

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

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

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

📝 レビュー観点:

  • 過去の主要変更(複数契約対応 / 仮解約状態表示追加 等)

関連ドキュメント


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