トラクターレンタルアプリバックエンドテンプレート
トラクターのリスト、レンタル予約、アタッチメントの在庫、農場でのピックアップ地点
生産 ready トラクターレンタルアプリバックエンド on Back4appで、トラクターリスト、アタッチメント在庫、レンタル予約、農場位置を中心に構築されています。ER図、フィールドガイド、JSONスキーマ、APIサンドボックス、迅速なセットアップのためのAIエージェントプロンプトが含まれています。
マーケットプレイスのまとめ
このテンプレートは、買い手、売り手、オペレーターがトラクター、アタッチメント、ピックアップポイントを調整できるようにするために、TractorListing、AttachmentInventory、RentalBooking、およびFarmLocationを備えたトラクター賃貸アプリのバックエンドを提供します。
- TractorListing検索 — タイトル、メーカー、モデル、馬力、日次料金、可用性ステータスなどのTractorListingフィールドを使用して、フィールド作業に最適なユニットを表示します。
- AttachmentInventory追跡 — AttachmentInventoryを各TractorListingに結び付けて、プラウ、ロード、モアが数えられ、検査され続けるようにします。
- FarmLocationピックアップデータ — FarmLocationの名前、addressLine1、都市、地域、国、緯度、および経度を使用して、トラクターを正しいヤードに配置します。
- レンタル予約ステータスフロー — 承認とライブ更新を使って、レンタル予約の開始日、終了日、ステータス、ピックアップ農場の場所を管理します。
概要: トラクターレンタルアプリ
バンドルおよびキットはトラクターレンタルアプリを複雑にします: 何かが代替されたときに一貫性のある行アイテム、依存関係、カウントが必要です。勢いは正確な状態に依存します。Back4appでTractorListing、AttachmentInventory、RentalBooking、FarmLocationを使用して、トラクターレンタルアプリの可用性、価格フック、および履行記録を1つの統合されたバックエンドにエンコードします。スキーマは、ユーザー(ユーザー名、メール、パスワード、役割、電話番号)、TractorListing(タイトル、メーカー、モデル、馬力、日割り料金、可用性ステータス、所有者、農場の場所)、AttachmentInventory(トラクター、添付名、カテゴリ、可用数量、状態ノート、最終検査日)、RentalBooking(トラクター、借り手、開始日、終了日、ステータス、ピックアップ農場の場所、ノート)、FarmLocation(名前、住所1行、市、地域、国、緯度、経度、アクセス指示)をカバーします。お好きなフロントエンドを接続して、トラクターを農作業に迅速にマッチングし始めましょう。
ベスト:
トラクターレンタルアプリ:バックエンドスナップショット
すべてのトラクターレンタルアプリのリーダーは、「未知の未知」が少ないことを望んでいます。構造化された記録は、驚きを早期に検出可能な例外に変えます。
この概要を使用して、TractorListing、AttachmentInventory、およびRentalBookingがどのように組み合わさっているかを確認し、特定のクライアントフレームワークにエンジニアリング時間をコミットする前に理解してください。
トラクターアプリ機能
このハブのすべてのテクノロジーカードは、User、TractorListing、AttachmentInventory、RentalBooking、およびFarmLocationを使用して、同じトラクターレンタルアプリのスキーマを利用しています。
ユーザープロファイルと役割
ユーザーは、バイヤー、売り手、オペレーター、および管理者のために、ユーザー名、メールアドレス、パスワード、役割、および電話番号を保存します。
トラクターリスティングには馬力が記録されています
トラクターリスティングは、所有者、タイトル、メーカー、モデル、馬力、日額料金、可用性ステータス、および農場の場所をリンクします。
添付ファイルインベントリの追跡
添付ファイルインベントリには、トラクター、添付ファイル名、カテゴリー、利用可能数量、状態ノート、および最終検査日が保存されています。
レンタル予約ウィンドウ
レンタル予約はトラクター、借主、開始日、終了日、ステータス、ピックアップ農場の場所、メモを保存します。
農場のピックアップデータ
農場のロケーションは、名前、住所1行目、都市、地域、国、緯度、経度、アクセス手順を保存します。
なぜBack4appを使用してトラクターレンタルアプリを構築するのですか?
Back4appは、インフラストラクチャではなくマーケットプレイスルールに焦点を当てるために、トラクター、予約、在庫の基本要素を提供します。
- •トラクターと予約記録: TractorListing と RentalBooking は、馬力、料金、予約ウィンドウを1つのモデルで管理します。
- •添付ファイルとピックアップの可視性: AttachmentInventory と FarmLocation フィールドは、チェックアウト前にローダー、モア、配送の詳細を表示します。
- •リアルタイムAPIの柔軟性: RentalBooking のステータス変更に Live Queries を使用し、すべてのクライアントに REST と GraphQL を利用可能に保ちます。
すべてのプラットフォームで1つのバックエンド契約を使用して、トラクターのレンタル機能を迅速に構築します。
マーケットプレイスの利点
リストや在庫の管理を失うことなく、より迅速に立ち上げるためのトラクターレンタルバックエンドです。
アプリの迅速な立ち上げ
各コレクションを手動で設計するのではなく、完全なユーザー、トラクターリスティング、およびレンタル予約スキーマから開始します。
添付ファイル対応リスティング
借り手がコミットする前に、どのトラクターリスティングにローダー、モア、または耕運機が含まれているかを表示するためにAttachmentInventoryを使用します。
検査履歴
オペレーターが出荷前に何がチェックされたかを知るために、AttachmentInventoryにconditionNotesとlastInspectedAtを保持します。
位置ベースの予約決定
近くの農場が適切なフィールドに適したトラクターを見つけることができるように、FarmLocation座標を保存します。
マーケットプレイスデータの整合性
バックエンドモデルからの重複なしで、TractorListingのレート、RentalBookingのステータス、アタッチメント在庫、FarmLocationの詳細をクエリします。
AIブートストラップワークフロー
1つの構造化されたプロンプトで、バックエンドのスキャフォールディングと統合ガイダンスを迅速に生成します。
トラクターレンタルアプリの準備はできていますか?
Back4app AIエージェントにあなたのトラクターレンタルバックエンドのスキャフォールディングをさせ、1つのプロンプトからTractorListing、AttachmentInventory、RentalBooking、およびFarmLocationフローを生成させましょう。
無料で開始 — 月に50のAIエージェントプロンプト、クレジットカード不要
スタックサマリー
このトラクターレンタルアプリのバックエンドテンプレートに含まれるすべて。
スキーママップ
トラクターレンタルアプリスキーマのエンティティリレーションシップモデル。
ユーザー、トラクターリスティング、アタッチメントインベントリ、レンタル予約、ファームロケーションをカバーするスキーマ。
図のソースを表示
erDiagram
User ||--o{ TractorListing : "owner"
User ||--o{ RentalBooking : "renter"
TractorListing ||--o{ AttachmentInventory : "tractor"
TractorListing ||--o{ RentalBooking : "tractor"
FarmLocation ||--o{ TractorListing : "farmLocation"
FarmLocation ||--o{ RentalBooking : "pickupFarmLocation"
User {
String objectId PK
String username
String email
String password
String role
String phoneNumber
Date createdAt
Date updatedAt
}
TractorListing {
String objectId PK
String title
String make
String model
Number horsepower
Number dailyRate
String availabilityStatus
String ownerId FK
String farmLocationId FK
Date createdAt
Date updatedAt
}
AttachmentInventory {
String objectId PK
String tractorId FK
String attachmentName
String category
Number availableQty
String conditionNotes
Date lastInspectedAt
Date createdAt
Date updatedAt
}
RentalBooking {
String objectId PK
String tractorId FK
String renterId FK
Date startDate
Date endDate
String status
String pickupFarmLocationId FK
String notes
Date createdAt
Date updatedAt
}
FarmLocation {
String objectId PK
String name
String addressLine1
String city
String region
String country
Number latitude
Number longitude
String accessInstructions
Date createdAt
Date updatedAt
}
予約フロー
サインイン、トラクターリスティング検索、アタッチメントインベントリ参照、レンタル予約作成、およびライブステータス更新の典型的な実行時フロー。
図のソースを表示
sequenceDiagram
participant User
participant App as Tractor Rental Marketplace App
participant Back4app as Back4app Cloud
User->>App: Sign in to the marketplace
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Browse tractor listings by horsepower and farm location
App->>Back4app: GET /classes/TractorListing?include=owner,farmLocation
Back4app-->>App: Tractor listings
User->>App: Check attachment inventory for a tractor
App->>Back4app: GET /classes/AttachmentInventory?include=tractor
Back4app-->>App: AttachmentInventory rows
User->>App: Create a rental booking for a tractor
App->>Back4app: POST /classes/RentalBooking
Back4app-->>App: RentalBooking objectId
App->>Back4app: Live query updates for booking status changes
Back4app-->>App: Updated rental booking statusフィールドガイド
トラクターレンタルアプリのスキーマ内のすべてのクラスに関する完全なフィールドレベルのリファレンス。
| フィールド | タイプ | 説明 | 必須 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | Login name for buyers, sellers, or operators | |
| String | Contact email for marketplace notifications | ||
| password | String | Hashed password (write-only) | |
| role | String | Marketplace role such as buyer, seller, operator, or admin | |
| phoneNumber | String | Primary phone number for rental coordination | — |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
8 フィールドが User に
アクセスと権限
ACLおよびCLP戦略がユーザー、トラクター、予約、そして農場の位置情報の更新をどのように保護するか。
ユーザー所有のプロフィールコントロール
ユーザーのみが自分のプロフィールを更新または削除でき、オペレーターは購入者アカウントを書き換えることはできません。
トラクターおよび在庫の整合性
トラクターの所有者のみがTractorListingおよびAttachmentInventoryエントリを作成または削除できます。検証にはCloud Codeを使用してください。
スコープ付き読み取りアクセス
レンタル予約と農場の場所の読み取りを関連するパーティーに制限し、借り手が自分の取引に関連する予約とサイトのみを表示できるようにします。
JSONスキーマ
Back4appにコピーするための生のJSONスキーマ定義、または実装参照として使用します。
{
"classes": [
{
"className": "User",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"phoneNumber": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "TractorListing",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"title": {
"type": "String",
"required": true
},
"make": {
"type": "String",
"required": true
},
"model": {
"type": "String",
"required": true
},
"horsepower": {
"type": "Number",
"required": true
},
"dailyRate": {
"type": "Number",
"required": true
},
"availabilityStatus": {
"type": "String",
"required": true
},
"owner": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"farmLocation": {
"type": "Pointer",
"required": true,
"targetClass": "FarmLocation"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "AttachmentInventory",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"tractor": {
"type": "Pointer",
"required": true,
"targetClass": "TractorListing"
},
"attachmentName": {
"type": "String",
"required": true
},
"category": {
"type": "String",
"required": true
},
"availableQty": {
"type": "Number",
"required": true
},
"conditionNotes": {
"type": "String",
"required": false
},
"lastInspectedAt": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "RentalBooking",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"tractor": {
"type": "Pointer",
"required": true,
"targetClass": "TractorListing"
},
"renter": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"startDate": {
"type": "Date",
"required": true
},
"endDate": {
"type": "Date",
"required": true
},
"status": {
"type": "String",
"required": true
},
"pickupFarmLocation": {
"type": "Pointer",
"required": true,
"targetClass": "FarmLocation"
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "FarmLocation",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"name": {
"type": "String",
"required": true
},
"addressLine1": {
"type": "String",
"required": true
},
"city": {
"type": "String",
"required": true
},
"region": {
"type": "String",
"required": true
},
"country": {
"type": "String",
"required": true
},
"latitude": {
"type": "Number",
"required": false
},
"longitude": {
"type": "Number",
"required": false
},
"accessInstructions": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AIエージェントで構築
Back4app AIエージェントを使用して、このテンプレートから実際のトラクターレンタルアプリを生成します。フロントエンド、バックエンド、認証、そしてTractorListing、AttachmentInventory、RentalBooking、FarmLocationのフローが含まれます。
この正確なスキーマと動作を持つBack4app上にトラクターレンタルアプリのバックエンドを作成します。 スキーマ: 1. ユーザー(Back4appの組み込みを使用):ユーザー名、メール、パスワード、役割、電話番号;objectId、createdAt、updatedAt(システム)。 2. トラクターリスティング:タイトル(String、必須)、メーカー(String、必須)、モデル(String、必須)、馬力(Number、必須)、日額料金(Number、必須)、在庫状況(String、必須)、所有者(ユーザーへのポインタ、必須)、農場の場所(FarmLocationへのポインタ、必須);objectId、createdAt、updatedAt(システム)。 3. アタッチメント在庫:トラクター(TractorListingへのポインタ、必須)、アタッチメント名(String、必須)、カテゴリー(String、必須)、利用可能数量(Number、必須)、状態のメモ(String)、最終検査日時(Date);objectId、createdAt、updatedAt(システム)。 4. レンタル予約:トラクター(TractorListingへのポインタ、必須)、借り手(ユーザーへのポインタ、必須)、開始日(Date、必須)、終了日(Date、必須)、ステータス(String、必須)、ピックアップ農場の場所(FarmLocationへのポインタ、必須)、メモ(String);objectId、createdAt、updatedAt(システム)。 5. 農場の場所:名前(String、必須)、住所行1(String、必須)、市(String、必須)、地域(String、必須)、国(String、必須)、緯度(Number)、経度(Number)、アクセスの指示(String);objectId、createdAt、updatedAt(システム)。 セキュリティ: - TractorListingの書き込みアクセスは所有者に帰属します。 - RentalBookingは認証された購入者またはオペレーターによって作成できます。 - AttachmentInventoryの更新はリスティングの所有者または管理者に制限されています。 - FarmLocationのデータは認証されたユーザーによって読み取り可能で、予約のピックアップおよび配送フローで使用されます。 認証: - サインアップ、ログイン、ログアウト。 動作: - 馬力、在庫状況、農場の場所でトラクターリスティングを検索します。 - 各トラクターにアタッチメント在庫を表示します。 - ピックアップ農場の詳細とステータス追跡で予約を作成します。 - RentalBookingの変更に対してライブステータス更新をサポートします。 配信: - スキーマ、CLP、ACL、必要に応じてクラウド関数を持つBack4appアプリと、トラクターの閲覧、アタッチメント在庫の確認、および農場ピックアップ予約の管理のためのフロントエンド。
下のボタンを押して、このテンプレートプロンプトに事前に入力されたエージェントを開きます。
これは技術サフィックスのない基本プロンプトです。生成されたフロントエンドスタックはその後適応できます。
APIサンドボックス
トラクターレンタルアプリのスキーマに対してRESTおよびGraphQLエンドポイントを試してください。レスポンスはモックデータを使用し、Back4appアカウントは必要ありません。
このテンプレートと同じスキーマを使用しています。
テックスタックを選択
各カードを展開して、あなたの選んだスタックでTractorListing、AttachmentInventory、RentalBookingを統合する方法を確認してください。
Flutter トラクターレンタルアプリバックエンド
React トラクターレンタルアプリバックエンド
React ネイティブ トラクターレンタルアプリバックエンド
Next.js トラクターレンタルアプリバックエンド
JavaScript トラクターレンタルアプリバックエンド
Android トラクターレンタルアプリバックエンド
iOS トラクターレンタルアプリバックエンド
Vue トラクターレンタルアプリバックエンド
Angular トラクターレンタルアプリバックエンド
GraphQL トラクターレンタルアプリバックエンド
REST API トラクターレンタルアプリバックエンド
PHP トラクターレンタルアプリバックエンド
.NET トラクターレンタルアプリバックエンド
すべてのテクノロジーで得られるもの
すべてのスタックは同じトラクターレンタルアプリのスキーマとAPI契約を使用します。
統一されたトラクターレンタルデータ構造
一貫したスキーマでTractorListing、AttachmentInventory、RentalBooking、FarmLocationを管理します。
馬力とアタッチメントの可視性
予約を確定する前に馬力、利用状況、およびアタッチメント在庫を表示します。
ファームピックアップ計画
配達とピックアップの調整のためにFarmLocationに関連付けられたTractorListing記録を保持します。
役割に応じたマーケットプレイスアクセス
レンタルフローに合わせた権限で購入者、販売者、およびオペレーターのアクセスレベルを定義します。
スタック比較
すべてのサポートされているテクノロジー間で、セットアップ速度、SDKスタイル、およびAIサポートを比較します。
| フレームワーク | セットアップ時間 | マーケットプレイスの利点 | SDKの種類 | AIサポート |
|---|---|---|---|---|
| 約5分 | モバイルとウェブのトラクターレンタルのための単一のコードベース。 | タイプされたSDK | フル | |
| 5分以内 | トラクターレンタルリストのための高速ウェブダッシュボード。 | タイプされたSDK | フル | |
| 約3–7分 | トラクターレンタルのためのクロスプラットフォームモバイルアプリ。 | タイプされたSDK | フル | |
| 迅速な(5分)セットアップ | トラクターレンタルのためのサーバーレンダリングウェブアプリ。 | タイプされたSDK | フル | |
| 約3–5分 | トラクターレンタルのための軽量ウェブ統合。 | タイプされたSDK | フル | |
| 約5分 | トラクターレンタル用のネイティブAndroidアプリ。 | 型付きSDK | フル | |
| 5分未満 | トラクターレンタル用のネイティブiOSアプリ。 | 型付きSDK | フル | |
| 約3~7分 | トラクターレンタルのためのReactiveウェブUI。 | 型付きSDK | フル | |
| 迅速な(5分)セットアップ | トラクターレンタルのためのエンタープライズWebアプリ。 | 型付けされたSDK | フル | |
| 2分未満 | トラクターレンタルのための柔軟なGraphQL API。 | GraphQL API | フル | |
| 迅速な(2分)セットアップ | トラクターレンタルのためのREST API統合。 | REST API | フル | |
| 約3分 | トラクターレンタルのためのサーバーサイド PHP バックエンド。 | REST API | フル | |
| ~3〜7分 | トラクターレンタルのための .NET バックエンド。 | 型付けされたSDK | フル |
セットアップ時間は、このテンプレートスキーマを使用してプロジェクトのブートストラップから最初のTractorListingまたはRentalBookingクエリまでの予想される期間を示します。
よくある質問
このテンプレートを使用してトラクターレンタルアプリのバックエンドを構築する際のよくある質問。