パレットジャックレンタルアプリバックエンドテンプレート
レンタルデスクの予約、容量チェック、および倉庫の在庫管理
パレットジャックレンタルバックエンドの生産準備完了版が Back4app にあり、予約記録、重量容量チェック、保守ログ、および倉庫カウント用の User、Warehouse、PalletJack、RentalBooking、MaintenanceLog、InventoryCheck を提供します。
レンタルのポイント
このテンプレートは、<strong>PalletJack</strong>の利用可能性、<strong>RentalBooking</strong>ウィンドウ、<strong>MaintenanceLog</strong>の履歴、および<strong>InventoryCheck</strong>のカウントを持つパレットジャックレンタルバックエンドを提供しますので、デスクは出荷前に資産を確認できます。
- 予約ウィンドウを最初に — 各<strong>RentalBooking</strong>を予約番号、パレットジャック、顧客、倉庫、開始日時、終了日時で追跡します。
- 容量の検証 — <strong>PalletJack</strong>に重さの制限(kg)、日額料金、および時間料金を保存し、スタッフがチェックアウト前に安全な使用を確認できるようにします。
- メンテナンストレーサビリティ — <strong>MaintenanceLog</strong>エントリを使用して、メンテナンスタイプ、ステータス、報告された問題、および実施された作業を記録してサービス履歴を記録します。
- 倉庫在庫の明確さ — 各<strong>倉庫</strong>と<strong>在庫チェック</strong>のカウントを表示して、チームがavailableCount、reservedCount、およびmaintenanceCountを調整できるようにします。
概要: パレットジャックレンタルアプリ
スムーズなパレットジャックレンタルのチェックアウトは、適格性、競合、預金、そして履行への引き渡しなど、数多くのチェックを隠しています。これは単一のバグではなく、ドリフトです。このテンプレートは、Back4app上のコアエンティティをモデル化しており、予約ロジックを最初から作り直すことなく、動作するパレットジャックレンタルプラットフォームを立ち上げることができます。スキーマは、<strong>ユーザー</strong>(ユーザー名、メール、パスワード、役割)、<strong>倉庫</strong>(倉庫コード、名前、住所、マネージャー)、<strong>パレットジャック</strong>(資産タグ、モデル名、重量容量Kg、状態、倉庫、日額料金、時間料金、最終検査日時)、<strong>レンタル予約</strong>(予約番号、パレットジャック、顧客、倉庫、開始日時、終了日時、状態、重量LoadKg、メモ)、<strong>メンテナンスログ</strong>(パレットジャック、技術者、メンテナンスタイプ、状態、報告された問題、行った作業、完了日時)、および<strong>在庫チェック</strong>(倉庫、検査者、チェック日時、availableCount、reservedCount、maintenanceCount、メモ)をカバーし、認証と役割ベースのアクセスが組み込まれています。好みのフロントエンドを接続して、より早く立ち上げましょう。
ベスト:
パレットジャックレンタルテンプレートで得られるもの
パレットジャックレンタルのボリュームが急増すると、非公式なプロセスが最初に崩壊します — それは人々が気にしなくなるからではなく、記憶とメッセージがスケールしないからです。
Flutter、React、Next.js、または他のサポートされているパスから開始しても、同じユーザーログインと役割、パレットジャック資産記録、レンタル予約ウィンドウ、負荷チェックを期待してください。
パレットジャックレンタル機能
このハブ内のすべての技術カードは、ユーザー、倉庫、パレットジャック、RentalBooking、メンテナンスログ、および InventoryCheck を使用して、同じレンタルバックエンドスキーマを使用します。
ユーザーログインと役割
ユーザーは、rentalDesk、オーナー、または顧客アクセスのために、ユーザー名、メール、パスワード、および役割を保存します。
パレットジャックの資産記録
PalletJackは、assetTag、modelName、weightCapacityKg、status、warehouse、dailyRate、hourlyRateを追跡します。
RentalBookingウィンドウとロードチェック
RentalBookingは、顧客、パレットジャック、倉庫、予約ウィンドウ、ステータス、要求されたweightLoadKgをリンクします。
メンテナンスログのサービス履歴
メンテナンスログは、各パレットジャックの maintenanceType、status、reportedIssue、workPerformed、completedAt を保存します。
倉庫の在庫状況
InventoryCheck は、各倉庫の監査に対して availableCount、reservedCount、および maintenanceCount を保持します。
なぜBack4appでパレットジャックレンタルバックエンドを構築するのか?
Back4appは、予約、資産、およびメンテナンスのプリミティブを提供するため、チームはストレージ、認証、APIホスティングを結合するのではなく、配送と安全チェックに集中できます。
- •予約と資産管理: RentalBookingは、開始時刻、終了時刻、荷重Kg、およびステータスを使用して、顧客をパレットジャックに関連付けることで、デスクがすべての予約ウィンドウを確認できるようにします。
- •容量とサービスチェック: 重量容量Kg、日額料金、時間料金、ステータスなどのパレットジャックフィールドは、レンタル開始前にBlockの安全でないチェックアウト試行を簡単に行えるようにします。
- •リアルタイム + APIの柔軟性: 全てのデスクタブレットとオーナーダッシュボードのためにRESTとGraphQLを利用可能にしながら、RentalBookingおよびMaintenanceLogの更新にLive Queriesを使用します。
すべてのプラットフォームにまたがる1つのバックエンド契約で、レンタルデスクのワークフローを迅速に構築および反復します。
パレットジャックレンタルの利点
デスクスタッフ、資産所有者、および顧客が手渡しミスを減らしながら予約を調整できるレンタルバックエンド。
迅速なカウンターチェックイン
RentalBookingレコードにはすでにbookingNumber、palletJack、customer、warehouse、startAt、およびendAtが含まれているため、デスクはスプレッドシートを探さずに予約を確認できます。
より安全な配送決定
PalletJack.weightCapacityKgとstatusを使用して、資産が倉庫を離れる前に過剰収容のレンタルを停止します。
明確な保守履歴
MaintenanceLogは、各資産レビューのためにmaintenanceType、reportedIssue、workPerformed、およびcompletedAtを1か所に保持します。
在庫のアカウンタビリティ
InventoryCheckはavailableCount、reservedCount、およびmaintenanceCountを表示し、どのパレットジャックがフロアにあり、修理中で、または利用可能かを調整しやすくします。
所有者に優しい報告
資産所有者は、フロントデスクのワークフローを変更することなく、倉庫、パレットジャック、およびレンタル予約データをレビューできます。
AIブートストラップワークフロー
1つの構造化されたプロンプトで、バックエンドのスキャフォールディングとレンタルデスクの統合ガイダンスを迅速に生成します。
パレットジャックレンタルアプリを立ち上げる準備はできましたか?
Back4app AIエージェントにレンタルバックエンドのスキャフォールディングをさせ、1つのプロンプトから予約、メンテナンス、在庫ワークフローを生成します。
無料で開始 — 毎月50のAIエージェントプロンプト、クレジットカードは不要
レンタルテクノロジースタック
このパレットジャックリースバックエンドテンプレートに含まれるすべて
レンタルエンティティマップ
パレットジャッキレンタルバックエンドスキーマのエンティティ関係モデル。
ユーザー、倉庫、パレットジャック、予約ウィンドウ、メンテナンスログ、在庫チェックを含むスキーマ。
図のソースを見る
erDiagram
User ||--o{ Warehouse : "manager"
User ||--o{ RentalBooking : "customer"
User ||--o{ MaintenanceLog : "technician"
User ||--o{ InventoryCheck : "inspector"
Warehouse ||--o{ PalletJack : "stores"
Warehouse ||--o{ RentalBooking : "fulfills"
Warehouse ||--o{ InventoryCheck : "audits"
PalletJack ||--o{ RentalBooking : "reserved in"
PalletJack ||--o{ MaintenanceLog : "service history"
PalletJack }o--|| Warehouse : "assigned to"
RentalBooking }o--|| PalletJack : "books"
MaintenanceLog }o--|| PalletJack : "tracks"
InventoryCheck }o--|| Warehouse : "counts"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
Warehouse {
String objectId PK
String warehouseCode
String name
String address
String managerId FK
Date createdAt
Date updatedAt
}
PalletJack {
String objectId PK
String assetTag
String modelName
Number weightCapacityKg
String status
String warehouseId FK
Number dailyRate
Number hourlyRate
Date lastInspectionAt
Date createdAt
Date updatedAt
}
RentalBooking {
String objectId PK
String bookingNumber
String palletJackId FK
String customerId FK
String warehouseId FK
Date startAt
Date endAt
String status
Number weightLoadKg
String notes
Date createdAt
Date updatedAt
}
MaintenanceLog {
String objectId PK
String palletJackId FK
String technicianId FK
String maintenanceType
String status
String reportedIssue
String workPerformed
Date completedAt
Date createdAt
Date updatedAt
}
InventoryCheck {
String objectId PK
String warehouseId FK
String inspectorId FK
Date countedAt
Number availableCount
Number reservedCount
Number maintenanceCount
String notes
Date createdAt
Date updatedAt
}
レンタルデスクのフロー
サインイン、パレットジャックの検索、予約の作成、メンテナンスのレビュー、在庫更新の典型的な実行フロー。
図のソースを見る
sequenceDiagram
participant User
participant App as Pallet Jack Rental App
participant Back4app as Back4app Cloud
User->>App: Sign in to the rental desk dashboard
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Load warehouse inventory and pallet jack status
App->>Back4app: GET /classes/PalletJack?include=warehouse&order=assetTag
Back4app-->>App: PalletJack list with warehouse pointers
User->>App: Reserve a pallet jack for a booking window
App->>Back4app: POST /classes/RentalBooking
Back4app-->>App: Booking confirmation and bookingNumber
User->>App: Record a maintenance log after inspection
App->>Back4app: POST /classes/MaintenanceLog
Back4app-->>App: MaintenanceLog objectId
User->>App: Refresh stock counts for the warehouse
App->>Back4app: POST /classes/InventoryCheck
Back4app-->>App: InventoryCheck savedフィールドガイド
パレットジャックレンタルスキーマにおけるすべてのクラスの完全なフィールドレベル参照。
| フィールド | タイプ | 説明 | 必須 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role of the user (e.g., rentalDesk, owner, customer) | |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
7 フィールドが User にあります
アクセスルールと権限
ACLおよびCLP戦略がユーザープロファイル、パレットジャック資産、予約、エンジニアリングログをどのように保護するか。
ユーザーと予約の所有権
認証されたデスクユーザーまたは資産マネージャーのみが、自身が責任を持つユーザー、レンタル予約、および在庫チェックの行を作成、編集、またはキャンセルできます。
資産の整合性チェック
重量負荷(Kg)がPalletJack.weightCapacityKgを超える場合、または資産のステータスがinMaintenanceに設定されている場合に、RentalBookingを拒否するためにCloud CodeのbeforeSaveを使用します。
スコープ付き倉庫の可視性
倉庫とInventoryCheckの読み取りをスタッフと所有者に制限し、一般顧客は自分の予約詳細に限定します。
JSONスキーマ
Back4appにコピーするための生のJSONスキーマ定義、または実装リファレンスとして使用します。
{
"classes": [
{
"className": "User",
"fields": {
"objectId": {
"type": "String",
"required": false,
"auto": true
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false,
"auto": true
},
"updatedAt": {
"type": "Date",
"required": false,
"auto": true
}
}
},
{
"className": "Warehouse",
"fields": {
"objectId": {
"type": "String",
"required": false,
"auto": true
},
"warehouseCode": {
"type": "String",
"required": true
},
"name": {
"type": "String",
"required": true
},
"address": {
"type": "String",
"required": true
},
"manager": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false,
"auto": true
},
"updatedAt": {
"type": "Date",
"required": false,
"auto": true
}
}
},
{
"className": "PalletJack",
"fields": {
"objectId": {
"type": "String",
"required": false,
"auto": true
},
"assetTag": {
"type": "String",
"required": true
},
"modelName": {
"type": "String",
"required": true
},
"weightCapacityKg": {
"type": "Number",
"required": true
},
"status": {
"type": "String",
"required": true
},
"warehouse": {
"type": "Pointer",
"required": true,
"targetClass": "Warehouse"
},
"dailyRate": {
"type": "Number",
"required": true
},
"hourlyRate": {
"type": "Number",
"required": true
},
"lastInspectionAt": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false,
"auto": true
},
"updatedAt": {
"type": "Date",
"required": false,
"auto": true
}
}
},
{
"className": "RentalBooking",
"fields": {
"objectId": {
"type": "String",
"required": false,
"auto": true
},
"bookingNumber": {
"type": "String",
"required": true
},
"palletJack": {
"type": "Pointer",
"required": true,
"targetClass": "PalletJack"
},
"customer": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"warehouse": {
"type": "Pointer",
"required": true,
"targetClass": "Warehouse"
},
"startAt": {
"type": "Date",
"required": true
},
"endAt": {
"type": "Date",
"required": true
},
"status": {
"type": "String",
"required": true
},
"weightLoadKg": {
"type": "Number",
"required": false
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false,
"auto": true
},
"updatedAt": {
"type": "Date",
"required": false,
"auto": true
}
}
},
{
"className": "MaintenanceLog",
"fields": {
"objectId": {
"type": "String",
"required": false,
"auto": true
},
"palletJack": {
"type": "Pointer",
"required": true,
"targetClass": "PalletJack"
},
"technician": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"maintenanceType": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"reportedIssue": {
"type": "String",
"required": false
},
"workPerformed": {
"type": "String",
"required": false
},
"completedAt": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false,
"auto": true
},
"updatedAt": {
"type": "Date",
"required": false,
"auto": true
}
}
},
{
"className": "InventoryCheck",
"fields": {
"objectId": {
"type": "String",
"required": false,
"auto": true
},
"warehouse": {
"type": "Pointer",
"required": true,
"targetClass": "Warehouse"
},
"inspector": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"countedAt": {
"type": "Date",
"required": true
},
"availableCount": {
"type": "Number",
"required": true
},
"reservedCount": {
"type": "Number",
"required": true
},
"maintenanceCount": {
"type": "Number",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false,
"auto": true
},
"updatedAt": {
"type": "Date",
"required": false,
"auto": true
}
}
}
]
}パレットジャックビルダーのプロンプト
Back4app AIエージェントを使用して、このテンプレートからフロントエンド、バックエンド、認証、予約、メンテナンス、在庫フローを含む本物のパレットジャックレンタルアプリを生成します。
Back4appでこの正確なスキーマと動作を持つ安全なパレットジャックレンタルアプリのバックエンドを作成します。 スキーマ: 1. ユーザー (Back4appの組み込みを使用): ユーザー名、メール、パスワード、役割; objectId, createdAt, updatedAt (システム). 2. 倉庫: warehouseCode (文字列, 必須), name (文字列, 必須), address (文字列, 必須), manager (ユーザーへのポインタ, 必須); objectId, createdAt, updatedAt (システム). 3. PalletJack: assetTag (文字列, 必須), modelName (文字列, 必須), weightCapacityKg (数値, 必須), status (文字列, 必須), warehouse (倉庫へのポインタ, 必須), dailyRate (数値, 必須), hourlyRate (数値, 必須), lastInspectionAt (日付, オプション); objectId, createdAt, updatedAt (システム). 4. RentalBooking: bookingNumber (文字列, 必須), palletJack (PalletJackへのポインタ, 必須), customer (ユーザーへのポインタ, 必須), warehouse (倉庫へのポインタ, 必須), startAt (日付, 必須), endAt (日付, 必須), status (文字列, 必須), weightLoadKg (数値, オプション), notes (文字列, オプション); objectId, createdAt, updatedAt (システム). 5. MaintenanceLog: palletJack (PalletJackへのポインタ, 必須), technician (ユーザーへのポインタ, 必須), maintenanceType (文字列, 必須), status (文字列, 必須), reportedIssue (文字列, オプション), workPerformed (文字列, オプション), completedAt (日付, オプション); objectId, createdAt, updatedAt (システム). 6. InventoryCheck: warehouse (倉庫へのポインタ, 必須), inspector (ユーザーへのポインタ, 必須), countedAt (日付, 必須), availableCount (数値, 必須), reservedCount (数値, 必須), maintenanceCount (数値, 必須), notes (文字列, オプション); objectId, createdAt, updatedAt (システム). セキュリティ: - レンタルデスクのスタッフと倉庫マネージャーのみがRentalBookingレコードを作成または承認できます。 - 所有者は自分の資産のパレットジャック在庫とメンテナンス履歴を表示できます。 - 顧客は自分のRentalBookingレコードのみを表示できます。 - MaintenanceLogの作成は技術者とマネージャーに制限されています。 - InventoryCheckレコードは倉庫チームのみが表示できます。 - ACLとCLPを使用してPaletJackのステータス、倉庫在庫、および予約詳細が公開書き込み不可能になるようにします。 認証: - サインアップ、ログイン、ログアウト。 動作: - 倉庫およびweightCapacityKgでパレットジャックをリストし、予約を作成し、メンテナンスを記録し、在庫カウントをキャプチャし、メンテナンスまたはレンタルによって利用可能性が変更されるときにパレットジャックのステータスを更新します。 提供: - Back4app アプリにはスキーマ、ACL、CLP、およびレンタルデスクスタッフ、資産所有者、顧客がパレットジャックの予約、容量チェック、メンテナンスログ、倉庫在庫を管理するためのフロントエンドフローがあります。
下のボタンを押して、このテンプレートプロンプトがプリフィルされた状態でエージェントを開いてください。
これはテクノロジーサフィックスなしの基本プロンプトです。生成されたフロントエンドスタックは後で調整できます。
APIサンドボックス
パレットジャッキレンタルスキーマに対して、RESTおよびGraphQLエンドポイントを試してください。レスポンスはモックデータを使用しており、Back4appアカウントは必要ありません。
このテンプレートと同じスキーマを使用しています。
スタックを選択
各カードを展開して、選択したスタックでWarehouse、Code、PalletJackを統合する方法を確認してください。
Flutter パレットジャックレンタルバックエンド
React パレットジャックレンタルバックエンド
React ネイティブ パレットジャックレンタルバックエンド
Next.js パレットジャックレンタルバックエンド
JavaScript パレットジャックレンタルバックエンド
Android パレットジャックレンタルバックエンド
iOS パレットジャックレンタルバックエンド
Vue パレットジャックレンタルバックエンド
Angular パレットジャックレンタルバックエンド
GraphQL パレットジャックレンタルバックエンド
REST API パレットジャックレンタルバックエンド
PHP パレットジャックレンタルバックエンド
.NET パレットジャックレンタルバックエンド
各テクノロジーで得られるもの
すべてのスタックは同じパレットジャックレンタルバックエンドスキーマとAPI契約を使用します。
統一されたレンタルデータ構造
一貫したスキーマでユーザー、Warehouse、PalletJack、RentalBooking、MaintenanceLog、InventoryCheckレコードを簡単に管理できます。
レンタルのためのキャパシティチェック
予約を作成する前に、要求された重量 Load Kg を PalletJack.weightCapacityKg と比較してください。
資産のメンテナンス可視性
各パレットジャックの検査履歴と状態を1か所で追跡。
倉庫在庫管理
床ストックと予約のために availableCount、reservedCount、および maintenanceCount を表示させておきます。
スタック比較
サポートされているすべての技術にわたって、セットアップ速度、SDKスタイル、AIサポートを比較します。
| フレームワーク | セットアップ時間 | レンタル特典 | SDKタイプ | AIサポート |
|---|---|---|---|---|
| 約5分 | モバイルとWeb用のレンタルデスクツールの単一コードベース。 | 型付けされたSDK | フル | |
| 5分未満 | 予約および資産の状態に関する高速ウェブダッシュボード。 | 型付けされたSDK | フル | |
| ~3~7分 | 倉庫スタッフのためのクロスプラットフォームモバイルアプリ。 | タイプされたSDK | フル | |
| 迅速な(5分)セットアップ | 顧客とスタッフのためのサーバーレンダリング予約ポータル。 | タイプされたSDK | フル | |
| 約3~5分 | レンタル業務のための軽量ウェブ統合。 | タイプされたSDK | フル | |
| 約5分 | 倉庫のスキャンと発送のためのネイティブAndroidアプリ。 | タイプSDK | フル | |
| 5分未満 | スーパーバイザーおよびレンタルデスクスタッフのためのネイティブiOSアプリ。 | タイプSDK | フル | |
| 約3〜7分 | 予約と在庫管理のためのReactウェブUI。 | タイプSDK | フル | |
| 迅速(5分)設定 | 倉庫業務のためのエンタープライズウェブアプリ。 | タイプSDK | フル | |
| 2分未満 | 予約と資産照会のための柔軟な GraphQL API。 | GraphQL API | フル | |
| 迅速な(2分)セットアップ | 予約と在庫システムのための REST API 統合。 | REST API | フル | |
| 約3分 | レンタルワークフローのためのサーバーサイド PHP バックエンド。 | REST API | フル | |
| ~3〜7分 | .NET の運用ダッシュボード用バックエンド。 | 入力済みSDK | フル |
セットアップ時間は、このテンプレートスキーマを使用してプロジェクトのブートストラップから最初のパレットジャックまたは予約クエリまでの期待される期間を反映しています。
パレットジャックに関する質問
このテンプレートを使用してパレットジャックレンタルバックエンドを構築する際の一般的な質問。