発電機レンタルアプリバックエンドテンプレート
燃料タイプ追跡と緊急配送
生産準備が整った 発電機レンタルバックエンド が Back4app にあります。発電機、予約、配送、ランタイムログ、燃料チェックを含みます。ER図、データ辞書、JSONスキーマ、APIプレイグラウンド、および迅速なブートストラップのための AIエージェント プロンプトが含まれています。
発電機レンタルのポイント
このテンプレートには、Generator、Booking、RuntimeLog、FuelCheck、およびDispatchを備えた発電機レンタルのバックエンドが含まれており、あなたのチームは1つの場所から資産、レンタル、およびサービスコールを管理できます。
- 発電機に関連付けられた資産予約 — スタッフがサイトと日付ごとに空き状況を確認できるように、リンクされたGeneratorレコードを持つモデル予約エントリ。
- 燃料タイプと負荷の可視性 — Generator.fuelType、Booking.fuelTypeRequested、およびFuelCheck.fuelLevelPercentを追跡して、ディーゼル、天然ガス、またはプロパンユニットを作業に合わせて調整します。
- サービスコンテキストを持つ稼働ログ — RuntimeLog.engineHours、RuntimeLog.runMinutes、およびRuntimeLog.loadPercentを使用して、ユニットがシフトを逃さないようにメンテナンスのしきい値を特定します。
ジェネレーターレンタルアプリテンプレートとは?
最高のジェネレーターレンタル体験は、混乱する部分 — 競合、デポジット、リマインダー — が構造化されたワークフローによって処理されるため、 effortlessに感じます。解決策は、動機付けではなく運用にあります。Back4app のコアエンティティを使用して、ジェネレーターのレンタル可用性、価格フック、履行記録を1つの包括的なバックエンドでエンコードします。スキーマは、認証、予約、緊急対応ワークフローが組み込まれたユーザー、ジェネレーター、予約、ディスパッチ、ランタイムログ、燃料チェックをカバーしています。お気に入りのフロントエンドを接続して、迅速に出荷しましょう。
ベスト:
発電機レンタルバックエンドの概要
発電機レンタルでは、小さな不一致が累積します:誤ったステータスが誤った出荷につながり、次に誤った請求書になり、最後には顧客を失います。
ここにあるすべてのテクノロジーカードは、同じユーザーアカウントと連絡先詳細、発電機の在庫と燃料タイプ、予約スケジュールモデルにマッピングされています — バックエンド契約を再交渉せずにスタックを選んでください。
ジェネレーターレンタルのコア機能
このハブのすべてのテクノロジーカードは、ユーザー、発電機、予約、ランタイムログ、燃料チェック、派遣を用いた同じ発電機レンタルバックエンドスキーマを使用しています。
ユーザーアカウントと連絡先の詳細
ユーザーはレンタルデスク用に、ユーザー名、メール、役割、会社名、電話番号を保存します。
発電機の在庫と燃料タイプ
発電機はassetTag、メーカー、モデル、fuelType、kWRating、およびavailabilityStatusを取得します。
予約スケジュール
予約はGeneratorをユーザーにリンクし、rentalStart、rentalEnd、およびsiteAddressを含みます。
メンテナンスチェックのためのランタイムログ
RuntimeLogはGeneratorに対してengineHours、logTime、loadPercentを格納します。
燃料レベル監視
FuelCheckは、各発電機のfuelType、fuelLevelPercent、checkTimeを記録します。
緊急配送記録
Dispatchは、予約、dispatchStatus、緊急、及びdriverNameを追跡します。
なぜBack4appで発電機レンタルバックエンドを構築するのか?
Back4appは、レンタルデスク、オーナー、顧客に、予約、燃料チェック、稼働ログ、出荷応答のための一つの共有データ層を提供します。
- •発電機と予約の記録が一箇所に: 発電機と予約クラスは、資産の可用性、サイトの詳細、およびレンタル日を整合させます。
- •燃料タイプと稼働時間の可視性: Generator.fuelType、Booking.fuelTypeRequested、RuntimeLog.engineHoursなどのフィールドは、給油やサービスが必要なユニットを見つけやすくします。
- •追加の配管なしでのディスパッチステータス: Dispatch.dispatchStatus、Dispatch.emergency、Booking.emergencyDispatchは、ウェブおよびモバイルクライアント全体で緊急コールを可視化します。
予約、稼働ログ、ディスパッチ記録を基にしたレンタルワークフローを個別のサービスを統合せずに構築します。
発電機レンタルの利点
見積もりから派遣まで、運用を可視化する発電機レンタルバックエンド。
より迅速な予約のターンアラウンド
予約と発電機クラスにより、デスクはスプレッドシートを検索することなく可用性を確認できます。
実際のフィールドによる燃料の決定
Generator.fuelType、Booking.fuelTypeRequested、FuelCheck.fuelLevelPercentは、スタッフが適切な補給計画を派遣するのに役立ちます。
サービスコールのためのランタイム証拠
RuntimeLog.engineHoursおよびRuntimeLog.logTimeは、ユニットがサービスウィンドウを超えているかどうかを示します。
緊急対応の明確さ
Dispatch.dispatchStatus、Dispatch.emergency、および Dispatch.notes は、緊急の問題を適切な人々に見えるように保ちます。
資産所有者の可視性
所有者は、スプレッドシートのエクスポートを求めることなく、予約、稼働時間の読み取り、および派遣の進捗を確認できます。
AI支援のブートストラップ
1つの構造化されたプロンプトから、レンタルワークフローのスキーマ、セキュリティルール、および統合ガイダンスを生成します。
発電機レンタルアプリを起動する準備はできましたか?
Back4app AIエージェントにあなたの発電機レンタルバックエンドをスカフォールし、1つのプロンプトから予約、燃料、稼働時間、派遣のワークフローを生成させます。
無料で開始 — 月50のAIエージェントプロンプト、クレジットカード不要
ジェネレーターレンタルテクスタック
このジェネレーターレンタルバックエンドテンプレートにすべてが含まれています。
ER図ジェネレーター
ジェネレータレンタルバックエンドスキーマのためのエンティティ関係モデル。
ユーザー、ジェネレータ、予約、発送、ランタイムログ、燃料チェックをカバーするスキーマ。
図のソースを表示
erDiagram
User ||--o{ Generator : "owner"
User ||--o{ Booking : "customer"
User ||--o{ RuntimeLog : "loggedBy"
User ||--o{ FuelCheck : "checkedBy"
Generator ||--o{ Booking : "reserved"
Generator ||--o{ Dispatch : "dispatched"
Generator ||--o{ RuntimeLog : "measured"
Generator ||--o{ FuelCheck : "checked"
Booking ||--o{ Dispatch : "fulfills"
Booking ||--o{ RuntimeLog : "tracks"
RuntimeLog ||--o{ FuelCheck : "references"
User {
String objectId PK
String username
String email
String password
String role
String companyName
String phone
Date createdAt
Date updatedAt
}
Generator {
String objectId PK
String assetTag
String make
String model
String fuelType
Number kWRating
String availabilityStatus
Number dailyRate
String locationBase
String ownerId FK
Date createdAt
Date updatedAt
}
Booking {
String objectId PK
String bookingNumber
String generatorId FK
String customerId FK
Date rentalStart
Date rentalEnd
String siteAddress
String status
String fuelTypeRequested
Boolean emergencyDispatch
Date createdAt
Date updatedAt
}
Dispatch {
String objectId PK
String bookingId FK
String generatorId FK
String dispatchStatus
Date dispatchedAt
Date arrivedAt
String driverName
Boolean emergency
String notes
Date createdAt
Date updatedAt
}
RuntimeLog {
String objectId PK
String generatorId FK
String bookingId FK
String loggedById FK
Date logTime
Number engineHours
Number runMinutes
Number loadPercent
String statusNote
Date createdAt
Date updatedAt
}
FuelCheck {
String objectId PK
String generatorId FK
String runtimeLogId FK
String checkedById FK
Date checkTime
String fuelType
Number fuelLevelPercent
Boolean topUpRequired
String remarks
Date createdAt
Date updatedAt
}
レンタル統合フロー
ログイン、ジェネレータ検索、予約作成、発送マーク、ランタイムログ、燃料チェック記録のための典型的なランタイムフロー。
図のソースを表示
sequenceDiagram
participant User
participant App as Industrial Generator Rental App
participant Back4app as Back4app Cloud
User->>App: Sign in to the rental desk or customer portal
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open generator roster by fuel type
App->>Back4app: GET /classes/Generator?order=-updatedAt
Back4app-->>App: Generator list with fuelType, availabilityStatus, and kWRating
User->>App: Create a booking with rentalStart, rentalEnd, and fuelTypeRequested
App->>Back4app: POST /classes/Booking
Back4app-->>App: Booking objectId and bookingNumber
User->>App: Mark dispatch or emergencyDispatch
App->>Back4app: POST /classes/Dispatch
Back4app-->>App: Dispatch status and delivery timestamps
User->>App: Record runtime hours and fuel check
App->>Back4app: POST /classes/RuntimeLog
App->>Back4app: POST /classes/FuelCheck
Back4app-->>App: Saved runtimeLog and fuelCheck entries
App->>Back4app: Subscribe to live updates for dispatchStatus and availabilityStatus
Back4app-->>App: Realtime changes for bookings, dispatches, and generator statusフィールドガイド
ジェネレーターレンタルスキーマのすべてのクラスに対する完全なフィールドレベルの参照。
| フィールド | タイプ | 説明 | 必須 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Account role: admin, rentalDesk, owner, customer, technician | |
| companyName | String | Company or organization name | — |
| phone | String | Primary contact phone | — |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
9 フィールドが User にあります。
セキュリティとアクセス権
ACLおよびCLP戦略がユーザー、ジェネレーター、予約、ランタイムログ、燃料チェック、およびディスパッチ記録をどのように保護するか。
ユーザー記録コントロール
ユーザーエントリを作成または変更できるのは、認可されたスタッフのみであり、顧客向けのビューは承認された連絡先フィールドのみを表示する必要があります。
発電機と予約の所有権
レンタルスタッフと資産所有者は発電機と予約の記録を管理できますが、顧客は自分の予約のみを表示できます。
ランタイムとディスパッチの範囲
RuntimeLog、FuelCheck、およびDispatchの更新はスタッフに制限され、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
},
"companyName": {
"type": "String",
"required": false
},
"phone": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Generator",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"assetTag": {
"type": "String",
"required": true
},
"make": {
"type": "String",
"required": true
},
"model": {
"type": "String",
"required": true
},
"fuelType": {
"type": "String",
"required": true
},
"kWRating": {
"type": "Number",
"required": true
},
"availabilityStatus": {
"type": "String",
"required": true
},
"dailyRate": {
"type": "Number",
"required": true
},
"locationBase": {
"type": "String",
"required": false
},
"owner": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Booking",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"bookingNumber": {
"type": "String",
"required": true
},
"generator": {
"type": "Pointer",
"required": true,
"targetClass": "Generator"
},
"customer": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"rentalStart": {
"type": "Date",
"required": true
},
"rentalEnd": {
"type": "Date",
"required": true
},
"siteAddress": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"fuelTypeRequested": {
"type": "String",
"required": true
},
"emergencyDispatch": {
"type": "Boolean",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Dispatch",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"booking": {
"type": "Pointer",
"required": true,
"targetClass": "Booking"
},
"generator": {
"type": "Pointer",
"required": true,
"targetClass": "Generator"
},
"dispatchStatus": {
"type": "String",
"required": true
},
"dispatchedAt": {
"type": "Date",
"required": true
},
"arrivedAt": {
"type": "Date",
"required": false
},
"driverName": {
"type": "String",
"required": false
},
"emergency": {
"type": "Boolean",
"required": false
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "RuntimeLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"generator": {
"type": "Pointer",
"required": true,
"targetClass": "Generator"
},
"booking": {
"type": "Pointer",
"required": false,
"targetClass": "Booking"
},
"loggedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"logTime": {
"type": "Date",
"required": true
},
"engineHours": {
"type": "Number",
"required": true
},
"runMinutes": {
"type": "Number",
"required": false
},
"loadPercent": {
"type": "Number",
"required": false
},
"statusNote": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "FuelCheck",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"generator": {
"type": "Pointer",
"required": true,
"targetClass": "Generator"
},
"runtimeLog": {
"type": "Pointer",
"required": false,
"targetClass": "RuntimeLog"
},
"checkedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"checkTime": {
"type": "Date",
"required": true
},
"fuelType": {
"type": "String",
"required": true
},
"fuelLevelPercent": {
"type": "Number",
"required": true
},
"topUpRequired": {
"type": "Boolean",
"required": false
},
"remarks": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AIエージェントで構築
このテンプレートから、フロントエンド、バックエンド、認証、予約、ランタイム、燃料、発送フローを含むリアルな発電機レンタルアプリを生成するために Back4app AIエージェントを使用してください。
この正確なスキーマと動作で Back4app 上に安全な発電機レンタルアプリのバックエンドを作成します。 スキーマ: 1. ユーザー(Back4app 組み込みを使用):objectId、ユーザー名、メール、パスワード、役割、会社名、電話、作成日、更新日。 2. 発電機:objectId、資産タグ、メーカー、モデル、燃料タイプ、kW定格、利用状況、デイリーレート、ロケーションベース、所有者(ユーザーへのポインター)、作成日、更新日。 3. 予約:objectId、予約番号、発電機(発電機へのポインター)、顧客(ユーザーへのポインター)、レンタル開始、レンタル終了、サイト住所、ステータス、要求された燃料タイプ、緊急発送、作成日、更新日。 4. 発送:objectId、予約(予約へのポインター)、発電機(発電機へのポインター)、発送状況、発送日時、到着日時、ドライバー名、緊急、メモ、作成日、更新日。 5. ランタイムログ:objectId、発電機(発電機へのポインター)、予約(予約へのポインター)、記録者(ユーザーへのポインター)、ログ時間、エンジン時間、運転分、負荷パーセント、ステータスノート、作成日、更新日。 6. 燃料チェック:objectId、発電機(発電機へのポインター)、ランタイムログ(ランタイムログへのポインター)、チェック者(ユーザーへのポインター)、チェック時間、燃料タイプ、燃料レベルパーセント、補充要件、備考、作成日、更新日。 セキュリティ: - レンタルデスクスタッフは予約と発送記録を作成できます。 - 資産所有者は発電機の利用状況、デイリーレート、ロケーションベースを更新できます。 - 顧客は自分の予約エントリを作成および表示し、関連する発送、ランタイムログ、燃料チェック記録を確認できます。 - ランタイムログと燃料チェックのエントリは保存後、管理者と元の記録ユーザーを除いて追加のみ可能にするべきです。 - 緊急発送の更新を割り当てられたレンタルデスクチームに迅速に表示させましょう。 認証: - サインアップ、ログイン、ログアウト。 動作: - 発電機を燃料タイプおよび利用状況でフィルタリングします。 - 要求された燃料タイプおよび緊急発送フラグを使用して予約を作成します。 - 配送、到着、返却のために発送状況を更新します。 - レンタル期間中にランタイムログと燃料チェックをキャプチャします。 配信: - スキーマ、CLP、ACL、およびフリート検索、予約、緊急発送、ランタイムログ、燃料監視のためのフロントエンドビューを持つ Back4app アプリ。
下のボタンを押して、このテンプレートのプロンプトが事前に入力されたエージェントを開いてください。
これは技術のサフィックスがない基本プロンプトです。生成されたフロントエンドスタックは後で適応できます。
APIプレイグラウンド
ジェネレーターレンタルスキーマに対してRESTとGraphQLエンドポイントを試してください。レスポンスはモックデータを使用し、Back4appアカウントは必要ありません。
このテンプレートと同じスキーマを使用しています。
テクノロジーを選択
各カードを展開して、選択したスタックでジェネレーター、予約、および配送を統合する方法を確認してください。
Flutter ジェネレーター賃貸バックエンド
React ジェネレーター賃貸バックエンド
React ネイティブ ジェネレーター賃貸バックエンド
Next.js ジェネレーター賃貸バックエンド
JavaScript ジェネレーター賃貸バックエンド
Android ジェネレーター賃貸バックエンド
iOS ジェネレーター賃貸バックエンド
Vue ジェネレーター賃貸バックエンド
Angular ジェネレーター賃貸バックエンド
GraphQL ジェネレーター賃貸バックエンド
REST API ジェネレーター賃貸バックエンド
PHP ジェネレーター賃貸バックエンド
.NET ジェネレーター賃貸バックエンド
すべてのテクノロジーで得られるもの
すべてのスタックは同じジェネレーターレンタルバックエンドスキーマとAPI契約を使用します。
ジェネレーターのレンタル のための統一されたレンタルオペレーションモデル
ユーザー、ジェネレーター、予約、ランタイムログ、燃料チェック、および出 Dispatch記録を1つのスキーマで管理します。
ジェネレーターのレンタルの燃料タイプ認識
Generator.fuelTypeでフィルタリングし、各サイト要件に対して正しい単位を表示します。
ジェネレーターのレンタルのランタイムとメーター追跡
サービスウィンドウがずれる前にRuntimeLog.engineHoursとRuntimeLog.loadPercentを確認してください。
ジェネレーターのレンタルの緊急出 Dispatchの可視性
Dispatch.dispatchStatusを追跡し、作成からクローズアウトまでの緊急を管理します。
ジェネレーターのレンタルのREST/GraphQL APIs
柔軟なAPIを通じて出 Dispatchデスク、顧客ポータル、およびサービスタブレットを統合します。
ジェネレーターレンタルスタック比較
すべてのサポートされている技術のセットアップ速度、SDKスタイル、AIサポートを比較します。
| フレームワーク | セットアップ時間 | ジェネレーターレンタルの利点 | SDKタイプ | AIサポート |
|---|---|---|---|---|
| 約5分 | ディスパッチャーと顧客モバイルアプリのための単一コードベース。 | 型付きSDK | フル | |
| 5分未満 | レンタルデスクの運営のための高速ウェブダッシュボード。 | 型付きSDK | フル | |
| 約3〜7分 | ランタイムおよび燃料チェックのためのクロスプラットフォームフィールドアプリ。 | 型付きSDK | フル | |
| 迅速な(5分)セットアップ | 発電機予約のためのサーバーレンダリング予約ポータル。 | タイプされたSDK | フル | |
| 約3~5分 | 発電機レンタルワークフローのための軽量ウェブ統合。 | タイプされたSDK | フル | |
| 約5分 | 配送と現場確認のためのネイティブAndroidアプリ。 | タイプされたSDK | フル | |
| 5分以内 | 現場の技術者向けのネイティブ iOS アプリ。 | タイプされたSDK | フル | |
| 〜3~7分 | 予約と資産状況のための React web UI。 | タイプされたSDK | フル | |
| 迅速な(5分)セットアップ | フリートとディスパッチ管理のためのエンタープライズダッシュボード。 | タイプされたSDK | フル | |
| 2分未満 | 予約とランタイムクエリのための柔軟な GraphQL API。 | GraphQL API | フル | |
| クイック(2分)セットアップ | レンタルデスクシステム用のREST API統合。 | REST API | フル | |
| 約3分 | 予約フォーム用のサーバーサイドPHPバックエンド。 | REST API | フル | |
| 約3~7分 | フリートおよびディスパッチサービス用の.NETバックエンド。 | タイプされたSDK | フル |
セットアップ時間は、プロジェクトのブートストラップから最初のジェネレーターまたは予約クエリまでの予想期間を反映しています。このテンプレートスキーマを使用。
よくある質問
このテンプレートを使用して発電機レンタルバックエンドを構築することに関する一般的な質問。