発電機レンタル
AIエージェントで構築
発電機レンタルバックエンド

発電機レンタルアプリバックエンドテンプレート
燃料タイプ追跡と緊急配送

生産準備が整った 発電機レンタルバックエンド が Back4app にあります。発電機、予約、配送、ランタイムログ、燃料チェックを含みます。ER図、データ辞書、JSONスキーマ、APIプレイグラウンド、および迅速なブートストラップのための AIエージェント プロンプトが含まれています。

発電機レンタルのポイント

このテンプレートには、Generator、Booking、RuntimeLog、FuelCheck、およびDispatchを備えた発電機レンタルのバックエンドが含まれており、あなたのチームは1つの場所から資産、レンタル、およびサービスコールを管理できます。

  1. 発電機に関連付けられた資産予約スタッフがサイトと日付ごとに空き状況を確認できるように、リンクされたGeneratorレコードを持つモデル予約エントリ。
  2. 燃料タイプと負荷の可視性Generator.fuelType、Booking.fuelTypeRequested、およびFuelCheck.fuelLevelPercentを追跡して、ディーゼル、天然ガス、またはプロパンユニットを作業に合わせて調整します。
  3. サービスコンテキストを持つ稼働ログRuntimeLog.engineHours、RuntimeLog.runMinutes、およびRuntimeLog.loadPercentを使用して、ユニットがシフトを逃さないようにメンテナンスのしきい値を特定します。

ジェネレーターレンタルアプリテンプレートとは?

最高のジェネレーターレンタル体験は、混乱する部分 — 競合、デポジット、リマインダー — が構造化されたワークフローによって処理されるため、 effortlessに感じます。解決策は、動機付けではなく運用にあります。Back4app のコアエンティティを使用して、ジェネレーターのレンタル可用性、価格フック、履行記録を1つの包括的なバックエンドでエンコードします。スキーマは、認証、予約、緊急対応ワークフローが組み込まれたユーザー、ジェネレーター、予約、ディスパッチ、ランタイムログ、燃料チェックをカバーしています。お気に入りのフロントエンドを接続して、迅速に出荷しましょう。

ベスト:

ジェネレーターレンタルアプリ機器予約プラットフォーム資産所有者ダッシュボードディスパッチおよびメンテナンストラッキングツールMVPローンチレンタル操作のためにBaaSを選択するチーム

発電機レンタルバックエンドの概要

発電機レンタルでは、小さな不一致が累積します:誤ったステータスが誤った出荷につながり、次に誤った請求書になり、最後には顧客を失います。

ここにあるすべてのテクノロジーカードは、同じユーザーアカウントと連絡先詳細、発電機の在庫と燃料タイプ、予約スケジュールモデルにマッピングされています — バックエンド契約を再交渉せずにスタックを選んでください。

ジェネレーターレンタルのコア機能

このハブのすべてのテクノロジーカードは、ユーザー、発電機、予約、ランタイムログ、燃料チェック、派遣を用いた同じ発電機レンタルバックエンドスキーマを使用しています。

ユーザーアカウントと連絡先の詳細

ユーザーはレンタルデスク用に、ユーザー名、メール、役割、会社名、電話番号を保存します。

発電機の在庫と燃料タイプ

発電機は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エージェントプロンプト、クレジットカード不要

ジェネレーターレンタルテクスタック

このジェネレーターレンタルバックエンドテンプレートにすべてが含まれています。

フロントエンド
13以上の技術
バックエンド
Back4app
データベース
MongoDB
認証
組み込みの認証 + セッション
API
REST と GraphQL
リアルタイム
Live Queries

ER図ジェネレーター

ジェネレータレンタルバックエンドスキーマのためのエンティティ関係モデル。

図のソースを表示
Mermaid
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
    }

レンタル統合フロー

ログイン、ジェネレータ検索、予約作成、発送マーク、ランタイムログ、燃料チェック記録のための典型的なランタイムフロー。

図のソースを表示
Mermaid
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

フィールドガイド

ジェネレーターレンタルスキーマのすべてのクラスに対する完全なフィールドレベルの参照。

フィールドタイプ説明必須
objectIdStringAuto-generated unique identifier自動
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringAccount role: admin, rentalDesk, owner, customer, technician
companyNameStringCompany or organization name
phoneStringPrimary contact phone
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

9 フィールドが User にあります。

セキュリティとアクセス権

ACLおよびCLP戦略がユーザー、ジェネレーター、予約、ランタイムログ、燃料チェック、およびディスパッチ記録をどのように保護するか。

ユーザー記録コントロール

ユーザーエントリを作成または変更できるのは、認可されたスタッフのみであり、顧客向けのビューは承認された連絡先フィールドのみを表示する必要があります。

発電機と予約の所有権

レンタルスタッフと資産所有者は発電機と予約の記録を管理できますが、顧客は自分の予約のみを表示できます。

ランタイムとディスパッチの範囲

RuntimeLog、FuelCheck、およびDispatchの更新はスタッフに制限され、Cloud Codeが緊急ステータスの変更を検証します。

JSONスキーマ

Back4appにコピーするための生のJSONスキーマ定義または実装参照として使用するためのもの。

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 AIエージェント
構築の準備完了
この正確なスキーマと動作で Back4app 上に安全な発電機レンタルアプリのバックエンドを作成します。

スキーマ:
1. ユーザー(Back4app 組み込みを使用):objectId、ユーザー名、メール、パスワード、役割、会社名、電話、作成日、更新日。
2. 発電機:objectId、資産タグ、メーカー、モデル、燃料タイプ、kW定格、利用状況、デイリーレート、ロケーションベース、所有者(ユーザーへのポインター)、作成日、更新日。
3. 予約:objectId、予約番号、発電機(発電機へのポインター)、顧客(ユーザーへのポインター)、レンタル開始、レンタル終了、サイト住所、ステータス、要求された燃料タイプ、緊急発送、作成日、更新日。
4. 発送:objectId、予約(予約へのポインター)、発電機(発電機へのポインター)、発送状況、発送日時、到着日時、ドライバー名、緊急、メモ、作成日、更新日。
5. ランタイムログ:objectId、発電機(発電機へのポインター)、予約(予約へのポインター)、記録者(ユーザーへのポインター)、ログ時間、エンジン時間、運転分、負荷パーセント、ステータスノート、作成日、更新日。
6. 燃料チェック:objectId、発電機(発電機へのポインター)、ランタイムログ(ランタイムログへのポインター)、チェック者(ユーザーへのポインター)、チェック時間、燃料タイプ、燃料レベルパーセント、補充要件、備考、作成日、更新日。

セキュリティ:
- レンタルデスクスタッフは予約と発送記録を作成できます。
- 資産所有者は発電機の利用状況、デイリーレート、ロケーションベースを更新できます。
- 顧客は自分の予約エントリを作成および表示し、関連する発送、ランタイムログ、燃料チェック記録を確認できます。
- ランタイムログと燃料チェックのエントリは保存後、管理者と元の記録ユーザーを除いて追加のみ可能にするべきです。
- 緊急発送の更新を割り当てられたレンタルデスクチームに迅速に表示させましょう。

認証:
- サインアップ、ログイン、ログアウト。

動作:
- 発電機を燃料タイプおよび利用状況でフィルタリングします。
- 要求された燃料タイプおよび緊急発送フラグを使用して予約を作成します。
- 配送、到着、返却のために発送状況を更新します。
- レンタル期間中にランタイムログと燃料チェックをキャプチャします。

配信:
- スキーマ、CLP、ACL、およびフリート検索、予約、緊急発送、ランタイムログ、燃料監視のためのフロントエンドビューを持つ Back4app アプリ。

下のボタンを押して、このテンプレートのプロンプトが事前に入力されたエージェントを開いてください。

これは技術のサフィックスがない基本プロンプトです。生成されたフロントエンドスタックは後で適応できます。

数分で展開月あたり50の無料プロンプトクレジットカードは不要

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フル

セットアップ時間は、プロジェクトのブートストラップから最初のジェネレーターまたは予約クエリまでの予想期間を反映しています。このテンプレートスキーマを使用。

よくある質問

このテンプレートを使用して発電機レンタルバックエンドを構築することに関する一般的な質問。

構造化された予約データがないと、どの発電機レンタルポリシーの実施が最も難しいですか?
ユーザーアカウントと連絡先情報、発電機在庫と燃料タイプ、予約スケジュールを履行および返却検査にリンクする正しい方法は何ですか?
予約ロジックを書き換えることなく、新しい発電機レンタル料金構造やバンドルを追加するにはどうすればよいですか?
Flutterで発電機の可用性を表示するにはどうすればよいですか?
Next.jsサーバーコードで予約を管理するにはどうすればよいですか?
Reactネイティブはオフラインでランタイムログをキャッシュできますか?
無許可のディスパッチ変更を防ぐにはどうすればよいですか?
Androidで発電機を表示する最良の方法は何ですか?
予約から出荷までの流れはどのように機能しますか?
この発電機レンタルテンプレートを支える Parse クラスは何ですか?

世界中の開発者に信頼されています。

より早く発電機レンタル製品を出荷するチームに Back4app テンプレートで参加しよう

G2 Users Love Us Badge

発電機レンタルアプリを構築する準備はできましたか?

数分で発電機レンタルプロジェクトを始めることができます。クレジットカードは不要です。

技術を選択