
貸す単位を機器一台に固定する
同じ型番の計測器が三台ある場合も、備品IDを一台ずつ付けます。製品名だけで貸出を記録すると、返却された個体と故障した個体を区別できません。最初は予約機能を入れず、現在その場にある一台を借りて返す運用を完成させます。利用者には空き、貸出中、点検中を表示し、管理者には保管場所と点検の備考も表示します。Cursorに既存コードを渡す際は、対象となる一覧、保存処理、認証部分を指定し、関係のない料金画面やアカウント設定まで変更しない作業範囲を決めます。
機器表と貸出履歴を分ける
equipmentには備品ID、名称、場所、利用可否を保存します。loansには貸出ID、備品ID、借受人、貸出日時、返却期限、返却日時を持たせます。現在の借受人を機器表だけに上書きすると過去の貸出が消えるため、履歴を別の行として残します。誰が借りたかを一般の一覧に出す必要があるかも決めます。通常の利用者には自分の貸出と空き状態だけを返し、他人の連絡先は返さない設計にします。AIへは画面で隠す処理ではなく、保存側と取得側の両方で権限を確認するよう依頼します。
貸出開始を一つの更新として実装する
貸出ボタンを押したら、サーバー側で機器の利用可否と返却されていない貸出を確認します。確認後に別の処理として保存すると、その間にもう一人が借りられてしまうため、同時操作を調整するトランザクションと制約を設計します。PostgreSQLを使う構成なら、機器の行をロックして状態を確認し、貸出記録を作成してから終了する方法が候補です。未返却の貸出に対する一意性の設計も検討します。どの実装を採る場合も、一台に有効な貸出が二件できないことを完成条件にします。
持出先が複数ある場合も、同じ機器のIDは移動前後で維持します。保管場所を変えたことで過去の貸出が別機器へ付け替わらないことを確認します。

返却と点検入りの操作を分ける
返却では対象の貸出IDを指定し、返却日時を一度だけ記録します。同じ返却の再送で別の貸出まで閉じないよう、備品名だけを条件にしません。返却時に故障が見つかった場合は、返却処理と機器の点検中への変更を明確に結び付けます。「返却されたから空き」という単純な表示では、点検中の機器が貸出候補に戻ってしまいます。空きの判定は未返却の貸出がないことに加え、機器が利用可能であることを条件にします。点検を終えて利用可能に戻す操作は管理者だけに許可します。
二つの利用者画面で同時貸出を試す
練習用の備品EQ-010を二つの利用者画面で開き、ほぼ同時に貸出を送ります。想定する結果は、一方だけが貸出成功となり、もう一方には現在貸出中と表示されることです。これは受入試験の設計であり、実サービスで実施した結果ではありません。成功した画面では期限と貸出IDを確認し、失敗した画面では一覧を再取得します。端末の表示だけを貸出中へ変えて保存できていないケースも見逃さないよう、再読込後と管理者の履歴を照合します。二件できた場合は保存処理を先に調べます。
| 場面 | 確認先 | 成立させる条件 |
|---|---|---|
| 二名が同時貸出 | 有効な貸出の件数 | 一台に一件だけ |
| 返却の再送 | 対象の貸出ID | 返却日時を一度だけ保存 |
| 返却時に故障 | 機器の利用可否 | 点検中は貸出不可 |
| 期限超過 | 未返却の履歴 | 自動返却にしない |
期限と返却の例外を扱う
返却期限を過ぎても自動で返却済みにしません。期限超過は表示や通知の条件であり、機器が物理的に戻った記録とは異なります。代理返却、紛失、貸出取消が必要なら、それぞれの操作担当と履歴に残す理由を決めてから追加します。通信切れで利用者が結果を受け取れなかった場合は、貸出IDまたは送信キーで保存済みか調べます。確認せず再度貸出を作ると重複の原因になります。管理者の修正は元の借受人や日時を消さず、訂正前後と理由を追える形にしてください。
空きの判定では未返却の貸出と、点検などの機器状態の両方を確認します。
開発費と利用時の負荷を見積もる
Cursorの契約やモデル利用にかかる費用は、アプリを動かすサーバーやデータベースの費用とは別です。利用者数だけでなく、備品検索、履歴表示、期限通知の頻度も集計します。数秒ごとの全件更新が必要か、操作後の再取得で十分かを業務に合わせて判断します。まず一つの保管庫と少数の機器で運用し、場所の追加、予約、通知を順に拡張します。既存の認証基盤を使う場合は利用者IDを引き継ぎます。現行の公式情報で料金を確認し、試作時の支出だけで決めません。
棚卸しと障害時の記録を残す
公開前に備品IDの実物ラベルと画面の名称を照合し、返却先も表示します。システム停止時には紙などの代替記録へ貸出ID相当の番号を振り、復旧後に誰が入力するかを決めます。稼働中の履歴へ無確認で一括投入すると既存の貸出と衝突するおそれがあります。完成の基準は一覧がきれいなことではなく、一台の貸出が二重にならず、返却と点検の区別が残ることです。別利用者の履歴、連打、期限超過、点検中も確認し、管理者が貸出の経緯を説明できる状態で小規模公開します。
参照した公式情報
料金・提供条件・対応範囲は変更されることがあります。契約前に、下記の公式ページでご確認ください。
- PostgreSQL — Explicit locking情報確認日: 2026-10-30
- PostgreSQL — Constraints情報確認日: 2026-10-30
- Next.js — Forms情報確認日: 2026-10-30
- Cursor pricing情報確認日: 2026-10-26
- Cursor models and pricing情報確認日: 2026-10-26
- Cursor Agent overview情報確認日: 2026-10-26