Skip to content

プロダクト概要

プロダクト名

Miss World Japan 2026 Voting Site

ミッション・コンセプト

「多様な個性が響き合い、可能性を解き放つ」をテーマに、Miss World Japan 2026 ファイナリストへのファン投票を行うWebサイト。日本女性の内面の美しさと多様な個性をオンライン上で広く支持・応援できる場を提供する。

ターゲットユーザー

  • ファイナリスト候補者を応援したい一般ユーザー(日本国内中心)
  • スマートフォン・PC双方からアクセスするユーザー

主要機能

  • 候補者一覧表示(順位と得票数を伴うグリッド)
  • 候補者詳細ページ(複数画像のスライダー、PR文、プロフィール、応援者ランキング)
  • 候補者ランキング画面(上位を特別表示、得票率の可視化)
  • 有料投票(複数の票数パッケージを組み合わせて1回の決済で購入し、選択候補者へ合計票数分の投票が即時成立)
  • 投票時のニックネーム入力(初回入力後はブラウザに永続化し、次回以降は自動入力)
  • クレジットカード決済(ワンクリック決済を優先しつつ、カード入力にもフォールバック対応)

投票期間(全画面共通の業務ルール)

本サイトは単一開催のみを対象とし、開催ごとの投票期間(開始日時・終了日時)はサイト全体で唯一の設定値として保持する。期間変更は運営者が値を更新することで反映される。投票期間は プロダクト全体を横断する不変条件 であり、各画面・各 API はこの規則に従う。各画面の requirements.md では本セクションを参照し、振る舞い規則を再掲しない(画面固有の表現/UI 表記のみ各 spec に記述する)。

Acceptance Criteria (EARS)

  • THE SYSTEM SHALL 投票期間を 1 件の唯一の設定値(開始日時・終了日時)として保持する
  • WHEN 現在日時が投票期間内である THEN システムは投票・購入・決済の各要求を受け付ける
  • WHEN 現在日時が投票期間外である THEN システムは投票・購入・決済の各要求を受け付けない(クライアント UI 抑止に加え、サーバー側ガードでも拒否する)
  • WHEN 投票期間設定が未取得・不正である THEN システムは投票期間に依存する画面・操作をエラー状態で扱い、購入を受け付けない
  • THE SYSTEM SHALL 投票期間値の保持先・保持形式の詳細を data-model/requirements.md の VotingPeriod エンティティで定義する
  • THE SYSTEM SHALL 投票期間外時の画面固有 UI 表現(投票アクションのラベル・無効化等)を各画面 spec に委ねる

関連 spec での扱い

spec役割
data-model/requirements.md投票期間エンティティの定義(保持先・属性・整合性ルール)
home/requirements.md投票期間値(開始日・終了日)の表示
voting/requirements.md期間外要求のサーバー側拒否
candidate-detail/requirements.md期間外時の投票アクション UI(ラベル「投票期間外」・無効化)

ビジネスルール

  • 投票方式: 投票は有料投票のみとし、無料投票は提供しない
  • 認証要件: 一般ユーザーのログインは存在しない。投票時にユーザーが任意のニックネームを入力する
  • ニックネーム運用: 投票/購入時に必須入力。同一文字列のニックネームは同一支援者として応援者ランキングで集計される(本人確認は行わない)。ブラウザに永続化し、再訪時の入力を省略する
  • 票数パッケージ: 票数・価格・表示順・アクティブ状態は運営者がコンテンツ管理基盤で管理する。作成済みパッケージの名称・票数・価格・表示順は完全イミュータブルとし、編集を許容しない。アクティブ状態(販売中 true / 廃止 false)のみ変更可能。価格改定が必要なら新規パッケージを追加し旧レコードを非アクティブ化する。初期投入例:
    • 10票 / ¥1,000
    • 35票 / ¥3,000
    • 60票 / ¥5,000
    • 150票 / ¥10,000
  • 複数パッケージの組み合わせ購入: ユーザーは購入画面で複数の票数パッケージを 数量付きで組み合わせ、合計金額を1回の決済で支払う。決済成立と引き換えに、合計票数分の投票が選択候補者へ即時成立する(投票券として残数を保持しない)

候補者データ

候補者は氏名・出身地・年齢・身長・職業・趣味・特技・座右の銘・夢・メッセージ・複数の画像といったプロフィール情報を持ち、運営者がコンテンツ管理基盤で管理する。画像は CDN 経由で配信される。得票数は投票履歴から集計する。候補者数は年度や運営方針により変動するため、固定値として扱わない。

管理機能

運営者向けのコンテンツ管理(候補者・候補者画像・票数パッケージ)は外部のコンテンツ管理基盤に完全委譲する。本サイト側に管理画面 UI・運営者認証・運営者セッション・コンテンツ書き込み機能は実装しない。運営者の認証・ロール管理・操作監査ログは委譲先プラットフォームに依存する。本サイトは読み取り専用の経路で公開コンテンツのみを取得する。

全画面共通UI要件

サイト内のすべての画面で共通して提供されるUI要件。各画面の requirements.md では再掲せず、本セクションを参照する。

スクロール補助

Purpose: 縦長コンテンツでもユーザーがページ先頭へ素早く戻れるようにする。 Scope: サイト内の全画面。

Acceptance Criteria (EARS)

  • WHEN ユーザーが画面を一定量スクロールした THEN システムはページトップへ戻る手段を提示する
  • WHEN ユーザーがその手段を実行した THEN システムはページトップへ戻る

フッター

Purpose: 運営会社の情報と Copyright 表記をサイト共通として提示する。 Scope: サイト内の全画面。

Acceptance Criteria (EARS)

  • THE SYSTEM SHALL 全画面のフッター領域に「運営会社」リンク(外部 https://www.missworld.tokyo/corporate.html を新規タブで開く)と Copyright 表記を表示する

非機能要件(全画面共通)

サイト全体で適用される非機能要件。各画面の requirements.md では再掲せず、本セクションを参照する(画面固有の補足要件はその spec に個別記述)。

UI/レイアウト

  • スマホファースト(候補者カードはレスポンシブグリッドで表示)

SEO

  • 全画面でページタイトル・要約・SNS シェア用メタデータを設定する
  • 動的コンテンツを持つ画面は、コンテンツに応じてメタデータを生成する(候補者ごとのシェア画像・タイトル等の具体仕様は各 spec を参照)