UI上の表記と、コード上の英語識別子を一致させるため、ここを正典として参照する。新しい用語はこのファイルに追記してから実装する。
主要ドメイン用語
| 日本語 | 英語識別子 | 定義 |
| ランキング | Ranking | ユーザーが作成した投票テーマ。複数のChoiceを内包 |
| 選択肢 | Choice | ランキングに含まれる投票候補 |
| 投票 | Vote | ユーザーが選択肢に対して行う1回の投票 |
| クイズ | Quiz | 投票前に正解する必要がある質問(ランキング作成者が設定) |
| クイズゲート | QuizGateView | クイズ全問正解で投票画面へ進める仕組み |
| 選択肢申請 | ChoiceRequest | 視聴者が新しい選択肢を作成者に提案する機能 |
| シングル | RankingMode.single | 1つの選択肢に投票するモード |
| TOP3 | RankingMode.threePoint | 3枠を選んで投票するモード(重み付け配分) |
| 投票数ティア | VoteTier | 投票数に応じたランキングのグレード(G〜S) |
| ポイント | points / PointTransaction | アプリ内通貨。ランキング作成・再投票・閲覧で消費 |
| ログインボーナス | loginBonus / claimLoginBonus() | 日次で付与されるポイント。連続日数でボーナス変化 |
| 連続ログイン日数 | loginStreak | 連続でログインした日数 |
| 無料作成枠 | freeCreationRemaining | ポイント消費なしでランキング作成できる残数 |
| フォロー | Follow / FollowService | 他ユーザーを追跡する機能 |
| プレミアム | isPremium | サブスク購読中のフラグ |
| 下書き | RankingStatus.draft | 未公開のランキング。24時間以内ならポイント返却可 |
| 再投票 | revote1 / revote2 | 1度投票した後にもう一度投票できる仕組み(最大3回) |
| 結果ロック | ResultLockedView | 期間終了後、未投票で閲覧権限なしの状態 |
| 通報 | Report / ReportService | 不適切ランキングの報告機能 |
状態(Enum)
| UI 表記 | コード | 意味 |
| 下書き | RankingStatus.draft | 未公開 |
| 受付中 | RankingStatus.active | 投票受付期間中 |
| 終了 | RankingStatus.ended | 投票期間終了 |
| 保留 | RankingStatus.held | 運営判断で一時停止 |
| 停止 | RankingStatus.suspended | 違反等で停止 |
| 削除済み | RankingStatus.deleted | 論理削除 |
投票数ティア(VoteTier)
| ティア | 投票数の目安 |
| G | 0〜3 |
| F | 4〜10 |
| E〜D〜C〜B〜A | 段階的に拡大 |
| S | 10000+ |
外部サービス用語
| 用語 | 説明 |
SupabaseService | Supabase(PostgreSQL + Auth + RLS)のクライアント |
RLS | Row Level Security。Supabaseのテーブル行単位アクセス制御 |
Apple Sign In | Appleのサインインプロバイダ。本アプリ唯一の認証手段 |
StoreKit 2 | iOSの課金フレームワーク(async/await対応) |
RetryHelper | 指数バックオフのリトライユーティリティ |
使い分けの注意
- 「ランキング」と「投票」: ランキング = 1つの投票テーマ全体、投票 = 1ユーザーの1アクション
- 「ユーザー」と「クリエイター」: 区別しない(同じ AppUser)。「creatorId」はそのランキングを作成したユーザーID
- 「ポイント」と「コイン」: ランスタは「ポイント」で統一。「コイン」表記は使わない
- 「投票」と「選択」: ユーザーアクションは「投票」、UIの操作は「選択」(例: 「選択肢を選んで投票する」)
変更履歴
| バージョン | 日付 | 変更内容 |
| 1.0 | 2026-05-09 | 初版作成(ソースコードからリバース) |