トップに戻る
TASK SPECIFICATION

図書貸出管理アプリ

貸出登録、返却期限の自動計算、ISBN検証、同一ISBNの在庫上限判定を作る問題です。

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

判定ルール

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

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

1段階: 基本的な貸出登録と返却期限の自動計算

テストケース: 2
送信要件 (Requirements)
  • 基本的な貸出を登録して返却期限を表示できる
  • 年をまたぐ返却期限を正しく計算できる
prompt_requirements.txt
図書貸出管理Webアプリの初版を作成してください。

必須機能:
- 初期表示で貸出登録フォームと貸出一覧を表示する。
- 利用者名、書名、ISBN、貸出日(YYYY-MM-DD)を入力できる。
- 貸出登録後、成功メッセージを表示する。
- 貸出一覧に、少なくとも利用者名、書名、ISBN、貸出日、返却期限を表示する。
- 返却期限は貸出日の14日後とし、YYYY-MM-DD形式で表示する。月や年をまたぐ場合も正しく計算する。

Playwrightテストは次のDOM IDだけを使います。
- 利用者名入力: id="ranked-aa-loan-borrower"
- 書名入力: id="ranked-aa-loan-book-title"
- ISBN入力: id="ranked-aa-loan-isbn"
- 貸出日入力: id="ranked-aa-loan-date"
- 貸出登録ボタン: id="ranked-aa-submit-loan"
- 成功メッセージ: id="ranked-aa-loan-success-message"
- エラーメッセージ: id="ranked-aa-loan-error-message"
- 貸出一覧: id="ranked-aa-loan-list"

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

2段階: 入力検証と在庫上限の判定

テストケース: 4
送信要件 (Requirements)
  • 利用者名の空入力を拒否する
  • 13桁ではないISBNを拒否する
  • 実在しない貸出日を拒否する
  • 同じISBNの4冊目の貸出を在庫なしとして拒否する
prompt_requirements.txt
追加要望です。図書貸出管理Webアプリに入力検証と在庫上限の判定を追加してください。

必須機能:
- 不正入力では貸出を作らず、エラーメッセージを表示する。
- 利用者名と書名は空でない値だけ受け付ける。
- ISBNはハイフンを含まない13桁の数字だけ受け付ける。
- 貸出日は実在する日付のYYYY-MM-DD形式だけ受け付ける。
- 同じISBNの蔵書は3冊までとする。同じISBNの貸出が既に3件ある場合、4件目は在庫なしエラーとして作成しない。

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

3段階: リロード後の貸出一覧の復元

テストケース: 1
送信要件 (Requirements)
  • リロード後も貸出一覧と返却期限を表示できる
prompt_requirements.txt
最後の追加要望です。図書貸出管理Webアプリの状態復元を追加してください。

必須機能:
- 同一ブラウザセッション内で状態を維持し、リロード後も貸出一覧を復元する。
- 復元後も、利用者名、書名、ISBN、貸出日、返却期限の表示を維持する。