スクーターのフリート
AIエージェントで構築
電動スクーターフリートバックエンド

電動スクーターフリート在庫バックエンドテンプレート
バッテリーの健康、モーターのログ、および配備区域の制御

電動スクーター フリートバックエンド が Back4app 上で運用可能です: スクーターの記録、バッテリーの健康チェック、モーターのログ、配備区域の制御を含みます。ERダイアグラム、データ辞書、JSONスキーマ、APIプレイグラウンド、そして迅速なブートストラップのためのAIエージェントプロンプトを含みます。

フリートの要点

このテンプレートは、スクーター在庫、バッテリーの健康、モーターログ、展開ゾーンのためのフリートバックエンドを提供し、オペレーションを紙のチェックからリアルタイムの追跡に移行できます。

  1. バッテリーの健康状態の追跡メンテナンス計画のために、Batteryクラスにバッテリーレベル、サイクル数、健康スコアを保存します。
  2. モーターログの履歴MotorLogにランタイム、温度、障害ノートをキャプチャしてフィールドレビューのために記録します。
  3. 展開ゾーンの管理各スクーターをDeploymentZoneに結び付けて、配車担当者が地域ごとにカバレッジを管理できるようにします。

電動スクーター艦隊在庫のバックエンドを理解する

二重予約は電動スクーター艦隊において単なる恥ずかしさではありません; それはどのマーケティングキャンペーンよりも早く信頼を損ないます。モデルオペレーター、スクーター、バッテリー、モーターログ、およびBack4appの配備ゾーンを使用して、電動スクーター艦隊チームに、単一のヤードから複数のサイト運営に成長できるバックエンドを提供します。スキーマはオペレーター(ユーザー名、メール、パスワード)、スクーター(艦隊コード、シリアル番号、ステータス、バッテリー、ゾーン)、バッテリー(スクーター、ヘルススコア、充電レベル、サイクル数)、モーターログ(スクーター、稼働分数、温度C、故障コード)、および配備ゾーン(名前、都市、カバレッジ半径Km、アクティブ)をカバーし、認証と艦隊管理が組み込まれています。お気に入りのフロントエンドを接続して、より早く開始してください。

最適:

電動スクーター艦隊ダッシュボードバッテリー保守ツールモーター診断アプリ配備ゾーン計画オペレーションMVPフリート製品のために BaaS を選定するチーム

電動スクーターのフリート:バックエンドスナップショット

電動スクーターのフリートはスピードだけではなく、「それが真実であるとわかった方法を見せて」と誰かに尋ねられたときの防御力についてもです。

ハブはオペレーター、スクーター、およびバッテリーを強調表示し、クライアントスタックを同じエンティティ、フィールド、およびリレーションシップに対して比較できるようにします。

コア電動スクーター艦隊機能

このハブのすべての技術カードは、Operator、Scooter、Battery、MotorLog、およびDeploymentZoneを使用して同じ電動スクーター艦隊スキーマを利用しています。

スリーターの在庫管理

スリーターはfleetCode、serialNumber、status、battery、およびzoneをストアします。

バッテリーの健康状態の追跡

バッテリーはchargeLevel、healthScore、およびcycleCountを保持します。

モーター診断

MotorLogはruntimeMinutes、temperatureC、およびfaultCodeを保存します。

デプロイメントゾーン管理

DeploymentZoneは、名称、市、カバレッジ半径(km)、およびアクティブ状態を定義します。

なぜ Back4app で電動スクーターのフリートバックエンドを構築するのか?

Back4app はオペレーションチームにスクーターの在庫、バッテリーの健康、モーターのログのためのクリーンなホームを提供し、 dispatch とメンテナンス作業が同じデータモデルで維持されます。

  • スクーターとバッテリーの記録は接続されたままです。: スクータークラスはバッテリーとデプロイメントゾーンフィールドを指し、フィールドチェック、スワップ、およびゾーン移動を追跡可能にします。
  • MotorLogのエントリは監査が簡単です: フィールドスタッフがサービスコールの前に何が起こったのかを確認できるように、MotorLogにruntimeMinutes、temperatureC、faultCodeを格納します。
  • 追加のインフラなしでのリアルタイムフリート可視化: ダッシュボード、ディスパッチツール、メンテナンスアプリのためにRESTとGraphQLを開いたままにして、スリーターとバッテリーの更新にLive Queriesを使用します。

すべてのクライアントに対して1つのバックエンド契約からスリーター、バッテリー、およびゾーンを管理します。

艦隊の利点

現場作業と配車の決定を実際の艦隊データに結びつけるスクーターのバックエンド。

迅速なメンテナンストリアージ

Battery.healthScoreとMotorLog.faultCodeを使用して、最初に検査が必要なスクーターを決定します。

クリーンなゾーン割り当て

日中にカバレッジが変わるときに、Scooter.zoneをDeploymentZone.nameに対して更新します。

トレース可能なフィールド履歴

サービスチームが再発問題を比較できるように、MotorLog.runtimeMinutesとtemperatureCを保存します。

一貫したディスパッチビュー

車両をサービスに戻す前に、Scooter.statusとBattery.chargeLevelを照会します。

共有の運用契約

Webおよびモバイルツールが同じフリート状態を読み取れるように、スクーター、バッテリー、ログ、およびゾーンフィールドを1つのスキーマにまとめます。

AI支援のブートストラップワークフロー

フリートモデルのために1つの構造化されたプロンプトでバックエンドの足場と統合ガイダンスを生成します。

スクーター フリート アプリの準備はできましたか?

Back4app AIエージェントに電動スクーターフリートのバックエンドを構築させ、1つのプロンプトからスクーター、バッテリー、モーター、ゾーンのワークフローを生成します。

無料で始められます — 月50回のAIエージェントプロンプト、クレジットカード不要

技術スタック

この電動スクーターのフリートバックエンドテンプレートにはすべてが含まれています。

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

ERダイアグラム

エレクトリックスクーターフリートスキーマのエンティティ関係モデル。

ダイアグラムソースを表示
Mermaid
erDiagram
    Operator ||--o{ Scooter : "assignedOperator"
    Operator ||--o{ BatteryCheck : "operator"
    Operator ||--o{ MotorLog : "operator"
    Operator ||--o{ ZoneAssignment : "assignedBy"
    DeploymentZone ||--o{ Scooter : "lastKnownZone"
    DeploymentZone ||--o{ ZoneAssignment : "zone"
    Scooter ||--o{ BatteryCheck : "scooter"
    Scooter ||--o{ MotorLog : "scooter"
    Scooter ||--o{ ZoneAssignment : "scooter"

    Operator {
        String objectId PK
        String username
        String email
        String password
        String role
        Date createdAt
        Date updatedAt
    }

    Scooter {
        String objectId PK
        String scooterTag
        String status
        Number batteryLevel
        String lastKnownZoneId FK
        String assignedOperatorId FK
        Date createdAt
        Date updatedAt
    }

    BatteryCheck {
        String objectId PK
        String scooterId FK
        String operatorId FK
        Number batteryLevel
        String batteryHealth
        Date checkedAt
        Date createdAt
        Date updatedAt
    }

    MotorLog {
        String objectId PK
        String scooterId FK
        String operatorId FK
        String motorStatus
        String logNotes
        Date capturedAt
        Date createdAt
        Date updatedAt
    }

    DeploymentZone {
        String objectId PK
        String zoneCode
        String name
        String city
        Boolean active
        Object boundaryGeoJSON
        Date createdAt
        Date updatedAt
    }

    ZoneAssignment {
        String objectId PK
        String scooterId FK
        String zoneId FK
        String assignedById FK
        Date assignedAt
        Date createdAt
        Date updatedAt
    }

統合フロー

サインイン、スクーター在庫の確認、バッテリーチェック、モーターログ、デプロイメントゾーンの更新のための典型的なランタイムフロー。

図のソースを表示
Mermaid
sequenceDiagram
  participant User
  participant FleetApp as Electric Scooter Fleet App
  participant Back4app as Back4app Cloud

  User->>FleetApp: Sign in as operator
  FleetApp->>Back4app: POST /login
  Back4app-->>FleetApp: Session token

  User->>FleetApp: Load scooters needing battery checks
  FleetApp->>Back4app: GET /classes/Scooter?order=-updatedAt
  Back4app-->>FleetApp: Scooter list with batteryLevel and lastKnownZone

  User->>FleetApp: Record a BatteryCheck
  FleetApp->>Back4app: POST /classes/BatteryCheck
  Back4app-->>FleetApp: BatteryCheck objectId

  User->>FleetApp: Review MotorLog history and zone assignments
  FleetApp->>Back4app: GET /classes/MotorLog and /classes/ZoneAssignment
  Back4app-->>FleetApp: MotorLog entries and deployment updates

  FleetApp->>Back4app: Subscribe to live Scooter updates
  Back4app-->>FleetApp: Scooters refresh when batteryLevel or status changes

データ辞書

Electric Scooter Fleetスキーマ内の各クラスのフィールドレベルリファレンス。

フィールドタイプ説明必須
objectIdStringAuto-generated unique identifier自動
usernameStringStaff login name
emailStringStaff email address
passwordStringHashed password (write-only)
roleStringOperator role such as manager, coordinator, or field technician
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

7フィールドがOperatorにあります

セキュリティと権限

ACLおよびCLP戦略がオペレーター、スクーター、バッテリー、ログ、およびゾーンをどのように保護するか。

オペレーターアクセス制御

認証されたオペレーターのみが、チームに属するフリートレコードを作成または変更できます。

スクーターとバッテリーの整合性

ユニットが利用可能としてマークされる前に、Cloud Codeを使用してScooter.batteryおよびBattery.healthScoreを検証します。

スコープ付き運用読み取り

ゾーンおよびログの可視性を、配信、サービス、または監査作業のためにレコードが必要なスタッフに制限します。

スキーマ(JSON)

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

JSON
{
  "classes": [
    {
      "className": "Operator",
      "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
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Scooter",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "scooterTag": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "batteryLevel": {
          "type": "Number",
          "required": true
        },
        "lastKnownZone": {
          "type": "Pointer",
          "required": true,
          "targetClass": "DeploymentZone"
        },
        "assignedOperator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Operator"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "BatteryCheck",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "scooter": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Scooter"
        },
        "operator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Operator"
        },
        "batteryLevel": {
          "type": "Number",
          "required": true
        },
        "batteryHealth": {
          "type": "String",
          "required": true
        },
        "checkedAt": {
          "type": "Date",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "MotorLog",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "scooter": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Scooter"
        },
        "operator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Operator"
        },
        "motorStatus": {
          "type": "String",
          "required": true
        },
        "logNotes": {
          "type": "String",
          "required": true
        },
        "capturedAt": {
          "type": "Date",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "DeploymentZone",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "zoneCode": {
          "type": "String",
          "required": true
        },
        "name": {
          "type": "String",
          "required": true
        },
        "city": {
          "type": "String",
          "required": true
        },
        "active": {
          "type": "Boolean",
          "required": true
        },
        "boundaryGeoJSON": {
          "type": "Object",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "ZoneAssignment",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "scooter": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Scooter"
        },
        "zone": {
          "type": "Pointer",
          "required": true,
          "targetClass": "DeploymentZone"
        },
        "assignedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Operator"
        },
        "assignedAt": {
          "type": "Date",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

AIエージェントで構築

Back4app AIエージェントを使用して、このテンプレートから実際の電動スクーターフリートアプリを生成します。フロントエンド、バックエンド、認証、スクーター、バッテリー、モーターログ、およびゾーンフローが含まれます。

Back4app AIエージェント
ビルドの準備完了
Back4appでこの正確なスキーマと動作を持つ電動スクーターフリートアプリのバックエンドを作成します。

スキーマ:
1. オペレーター(Back4app内蔵使用):ユーザー名、メール、パスワード;objectId、createdAt、updatedAt(システム)。
2. スクーター:fleetCode(文字列、必須)、serialNumber(文字列、必須)、status(文字列、必須)、battery(バッテリーへのポインタ、オプション)、zone(展開ゾーンへのポインタ、オプション);objectId、createdAt、updatedAt(システム)。
3. バッテリー:scooter(スクーターへのポインタ、必須)、healthScore(数値、必須)、chargeLevel(数値、必須)、cycleCount(数値、必須)、lastCheckedAt(日時、必須);objectId、createdAt、updatedAt(システム)。
4. MotorLog:scooter(スクーターへのポインタ、必須)、runtimeMinutes(数値、必須)、temperatureC(数値、必須)、faultCode(文字列)、notes(文字列);objectId、createdAt、updatedAt(システム)。
5. DeploymentZone:name(文字列、必須)、city(文字列、必須)、coverageRadiusKm(数値、必須)、active(ブール、必須);objectId、createdAt、updatedAt(システム)。

セキュリティ:
- 認証されたオペレーターのみが自分のチームに属するフリートレコードを作成または変更できます。Scooter.batteryとBattery.healthScoreを検証するためにCloud Codeを使用し、ユニットが利用可能としてマークされる前に確認してください。

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

動作:
- スクーターをリストし、バッテリーの健康を検査し、モーターログを書き、スクーターを展開ゾーン間で移動します。

配信:
- スキーマ、ACL、CLPを含むBack4appアプリ;スクーター、バッテリー、ログ、ゾーン用のフロントエンド。

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

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

数分でデプロイ月に50回の無料プロンプトクレジットカードは不要

APIプレイグラウンド

Electric Scooter Fleetスキーマに対してRESTとGraphQLエンドポイントを試してみてください。レスポンスはモックデータを使用し、Back4appアカウントは不要です。

プレイグラウンドを読み込み中…

このテンプレートと同じスキーマを使用しています。

テクノロジーを選択

各カードを展開して、選択したスタックにオペレーター、スクーター、およびバッテリーを統合する方法を確認してください。

Flutter 電動スクーターのフリートバックエンド

React 電動スクーターのフリートバックエンド

React ネイティブ 電動スクーターのフリートバックエンド

Next.js 電動スクーターのフリートバックエンド

JavaScript 電動スクーターのフリートバックエンド

Android 電動スクーターのフリートバックエンド

iOS 電動スクーターのフリートバックエンド

Vue 電動スクーターのフリートバックエンド

Angular 電動スクーターのフリートバックエンド

GraphQL 電動スクーターのフリートバックエンド

REST API 電動スクーターのフリートバックエンド

PHP 電動スクーターのフリートバックエンド

.NET 電動スクーターのフリートバックエンド

すべての技術で得られるもの

すべてのスタックは同じ電動スクーターのフリートバックエンドスキーマとAPI契約を使用します。

統一されたフリートデータ構造

一貫したスキーマでスクーター、バッテリー、ログ、ゾーンを管理します。

フリート運用のためのバッテリー健康ワークフロー

メンテナンスの判断のためにchargeLevel、healthScore、cycleCountを追跡します。

サービスチームのためのモーターログ履歴

診断のためにruntimeMinutes、temperatureC、faultCodeを保存します。

配信のためのゾーン割り当て制御

DeploymentZoneレコードを使用してスクーターを適切なサービスエリアに誘導します。

フリートツールのためのREST/GraphQL APIs

ウェブ、モバイル、オペレーションダッシュボードを柔軟なAPIを通じて統合します。

フリートテクノロジーの比較

すべてのサポートされているテクノロジーにわたるセットアップ速度、SDKスタイル、およびAIサポートを比較します。

フレームワークセットアップ時間フリートの利点SDKタイプAIサポート
約5分モバイルとウェブのスクーター運用のための単一コードベース。型付きSDKフル
5分未満フリート dispatch のための高速ウェブダッシュボード。型付きSDKフル
~3〜7分スクータークルーのためのクロスプラットフォームフィールドアプリ。型付きSDKフル
迅速(5分) 設定フリート管理のためのサーバーレンダリングされた操作コンソール。タイプされたSDKフル
約3~5分スクーター在庫用の軽量ウェブ統合。タイプされたSDKフル
約5分フィールドメンテナンス用のネイティブAndroidアプリ。タイプされたSDKフル
5分未満ネイティブ iOS アプリで、配達と検査を行います。タイプされたSDKフル
~3〜7分Reactive ウェブ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 Nativeはスクーターとバッテリーデータをオフラインでキャッシュできますか?
健康状態の低いバッテリーが利用可能としてマークされないようにするにはどうすればよいですか?
Androidでモーターログをレビューする最良の方法は何ですか?
デプロイメントゾーンの更新フローはどのように機能しますか?

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

Back4app テンプレートを使用して、電動スクーター フリート製品をより迅速に出荷するチームに参加しましょう

G2 Users Love Us Badge

あなたの電動スクーター フリート アプリを構築する準備はできていますか?

わずか数分であなたのスクーター フリート プロジェクトを開始できます。クレジットカードは不要です。

テクノロジーを選択する