第19回 トレジャーハンティング in つるみ / 公益社団法人 鶴見法人会
本番 2026年11月29日(日) 13:00–16:00 ・ 神奈川県立東部総合職業技術校
CLAUDE.md を新規に作成しました。
そのほか7点のご回答も、下の「いただいたご指摘と、その対応」にまとめております。
12/31 で公開終了・データ削除。専用ドメインは取らないpages.dev が netlify.app より3文字短い(QRの模様が粗くなり読みやすい)。DBは Cloudflare D1 ではなく Supabase ── 一発勝負の案件で初めての道具は使わない、という理由。trehan.pages.dev)。QRに入る文字数が増えると模様が細かくなり読み取りにくくなるため。コードも5文字(A7K2M)7点すべてご回答ありがとうございました。下記のとおり反映しております。
| 観点 | ご回答 | 対応 |
|---|---|---|
| 1 動作確認の範囲 | 問題ない | 範囲は維持。あわせて「多数台の同時利用」を除外リストから前提条件へ移しました(端末ごとに独立した記録なので競合せず、設計で担保できるため)。除外は「人為的な誤操作」「機種違いによる差」の2つだけに絞っています |
| 2 不具合が無制限は危ない | 「何が不具合なのか?要件がないので、あとから言ったもの勝ち」 「調整は時間で制限してよさそう」 |
不具合の定義を「制作範囲のご確認 §02」に固定しました。あわせて §02 に各画面の動作を書き出し、基準として機能する厚みにしています。 ★ 当初は要件定義書を基準にしていましたが、その文書は先方に配布しないため、先方が自分の同意した基準を読めないことに気づき、先方が手元に持つ書面へ付け替えました。 調整・差し替えは回数ではなく「合計3時間まで無償/超過分 1時間5,000円」へ。不具合は引き続き無制限・無償です |
| 3 15万で足りるか | 問題ない | 金額は据え置き。内訳のうち会場下見(1万)を削除し、当日の立ち会いへ移しました(2時間→4時間)。下見は機材もカードも11月上旬に揃わず、行っても実装が変わらないため |
| 4 ユニーク制約 | それでOK | 変更なし。UNIQUE(チームコード, ブースID) で2件目は静かに無視。管理画面に「記録を1件消す」を追加しています(誤って別チームを読んだ場合に、制約で正しい記録が入らなくなるため) |
| 5 オフライン記録 | ローカルストレージに保存し、送信ボタンでSupabaseに反映 | その方針に合わせました。通常は読み取りのたびに自動送信を試み、失敗分はローカルに溜めて次回まとめて送ります。あわせて画面に「未送信◯件」の表示と手動の送信ボタンを置きます(自動再送に頼りきらない) |
| 6 技術構成 | OK。そこまでセキュリティを気にしなくてよいなら、ブラウザから直接Supabase | Cloudflare Pages + Supabase で確定。関数は挟まず、ブラウザから直接つなぎます。要件定義書 §9.1 に RLS の方針を新設しました(追加は可/更新・削除は不可/チームページは1件のみ・一覧の取得は不可) |
| 7 抜けている前提 | 「最初の要件の部分がない」 「Anthropicが推奨する形式で残すと、要件変更や調整がかなり楽」 |
要件定義書 v1.0(上の 0 番)を新規に作成しました。背景と目的/やってはいけないこと/責任範囲/画面ごとの要件/決定事項と理由(21件)/未決事項/変更の管理。 あわせてプロジェクト直下に CLAUDE.md を作成し、禁止事項をそこに直接書きました(リンク先だと読まれない可能性があるため) |