トップに戻る
TASK SPECIFICATION

チーム経費精算アプリ

立替経費の登録、均等割り、端数配分、参加者別の精算サマリーを作る問題です。

公開日時: 2026/05/23 00:00
実装段階
3段階
総テスト数
7件
永続化検証
なし
UI証跡
スクリーンショット

判定ルール

  • 提出されたアプリは、下記の要件に記載されたDOM IDだけを使うPlaywrightテストで自動判定されます。
  • 成功メッセージとエラーメッセージは、要件に指定されたキーワードを含む必要があります。
  • 提出期限は挑戦開始から1時間で、提出できるのは公開URLのアプリ1つだけです。
  • 1つでもテストに失敗すると不合格になります。最初の段階から順番に判定されます。
ランキングを見る

実装プロンプト & 検証要件

1段階: 基本的な経費登録と精算サマリー

テストケース: 1
送信要件 (Requirements)
  • 基本的な経費を登録して精算額を表示できる
prompt_requirements.txt
チーム経費精算Webアプリの初版を作成してください。

必須機能:
- 初期表示で経費登録フォーム、経費一覧、精算サマリーを表示する。
- 支払者、参加者一覧、内容、金額、カテゴリ、日付、メモを入力できる。
- 経費作成後、成功メッセージを表示する。
- 経費一覧に、少なくとも支払者、参加者、内容、金額、カテゴリ、日付、メモを表示する。
- 各経費は参加者全員で均等割りする。
- 精算サマリーに各参加者の支払額、負担額、差額を表示する。
- 差額が正なら「受け取る」、負なら「支払う」、0なら「精算不要」と表示する。

Playwrightテストは次のDOM IDだけを使います。
- 支払者入力: id="ranked-aa-expense-payer"
- 参加者一覧入力: id="ranked-aa-expense-participants"
- 内容入力: id="ranked-aa-expense-description"
- 金額入力: id="ranked-aa-expense-amount"
- カテゴリ入力: id="ranked-aa-expense-category"
- 日付入力: id="ranked-aa-expense-date"
- メモ入力: id="ranked-aa-expense-memo"
- 経費作成ボタン: id="ranked-aa-submit-expense"
- 成功メッセージ: id="ranked-aa-expense-success-message"
- エラーメッセージ: id="ranked-aa-expense-error-message"
- 経費一覧: id="ranked-aa-expense-list"
- 精算サマリー: id="ranked-aa-settlement-summary"

成功メッセージには「経費」と「成功」を含めてください。

2段階: 入力検証と複数経費の集計

テストケース: 5
送信要件 (Requirements)
  • 複数経費の支払額と負担額を合算できる
  • 割り切れない端数を参加者順に配分できる
  • 参加者に含まれない支払者を拒否する
  • 不正な金額を拒否する
  • 未定義カテゴリを拒否する
prompt_requirements.txt
追加要望です。経費精算Webアプリに入力検証とより正確な集計を追加してください。

必須機能:
- 不正入力では経費を作らず、エラーメッセージを表示する。
- 金額は1円以上の整数だけ受け付ける。0、負数、小数、文字列は拒否する。
- 参加者一覧はカンマ区切りで入力し、空の参加者を拒否する。
- 支払者は参加者一覧に含まれている必要がある。
- カテゴリは「食事」「交通」「宿泊」「備品」「その他」のいずれかを受け付ける。
- 複数経費の支払額、負担額、差額を合算する。
- 割り切れない端数は、参加者一覧の先頭から1円ずつ負担額に加算する。

不正入力時のエラーメッセージには「エラー」を含めてください。

3段階: リロード後の状態復元

テストケース: 1
送信要件 (Requirements)
  • リロード後も経費一覧と精算サマリーを表示できる
prompt_requirements.txt
最後の追加要望です。経費精算Webアプリの状態復元を追加してください。

必須機能:
- 同一ブラウザセッション内で状態を維持し、リロード後も経費一覧と精算サマリーを復元する。
- 復元後も、支払額、負担額、差額、受け取り/支払い/精算不要の表示を維持する。