车队要点
此模板为您提供了电动滑板车库存、电池健康、马达日志和部署区域的车队后台,以便运营可以从纸面检查转向实时跟踪。
- 电池健康跟踪 — 在电池类中存储电池电量、循环次数和健康评分以进行维护计划。
- 马达日志历史 — 在 MotorLog 中捕获马达事件,记录运行时间、温度和故障备注以供现场审查。
- 部署区域控制 — 将每个电动滑板车与部署区域关联,以便调度员能够根据区域管理覆盖情况。
理解电动滑板车车队库存后端
在电动滑板车车队中,重复预订不仅令人尴尬;它比任何营销活动更快地侵蚀信任。在 Back4app 上建模运营商、滑板车、电池、电动机日志和部署区域,为电动滑板车车队团队提供一个能够从单一场地扩展到多地点运营的后端。该架构涵盖运营商(用户名、电子邮件、密码)、滑板车(车队代码、序列号、状态、电池、区域)、电池(滑板车、健康分数、充电水平、循环次数)、电动机日志(滑板车、运行分钟数、温度、故障码)和部署区域(名称、城市、覆盖半径公里、活动),并内置身份验证和车队控制。连接您首选的前端并更快启动。
最佳用例:
电动滑板车车队:后端快照
电动滑板车车队不仅仅是关于速度;当有人问“给我看看你是怎么知道这是真的。”时,这关乎防御性。
该中心突出了操作员、滑板车和电池,以便您可以将客户端堆栈与相同的实体、字段和关系进行比较。
核心电动滑板车车队功能
此中心中的每个技术卡都使用相同的电动滑板车车队架构,包括运营商、滑板车、电池、电机日志和部署区域。
滑板车库存控制
滑板车存储fleetCode、serialNumber、status、battery和zone。
电池健康监测
电池保持电量水平、健康分数和循环次数。
电动机诊断
电动机日志存储运行时分钟数、温度(摄氏)和故障代码。
部署区域管理
DeploymentZone 定义名称、城市、覆盖半径公里和活动状态。
为什么使用 Back4app 构建您的电动滑板车车队后端?
Back4app 为运营团队提供了一个清晰的滑板车库存、电池健康和电机日志的家,因此调度和维护工作保持在相同的数据模型上。
- •滑板车和电池记录保持连接: 滑板车类指向电池和部署区域字段,这使得现场检查、交换和区域移动可追踪。
- •MotorLog条目易于审核: 在MotorLog中存储runtimeMinutes、temperatureC和faultCode,以便现场工作人员在服务呼叫前查看发生了什么。
- •实时车队可见性,无需额外基础设施: 在保持REST和GraphQL用于仪表板、调度工具和维护应用的同时,使用Live Queries进行滑板车和电池更新。
从一个后端合同管理每个客户的滑板车、电池和区域。
车队优势
一个滑板车后端,将现场工作和调度决策与真实的车队数据相结合。
更快速的维护分类
使用 Battery.healthScore 和 MotorLog.faultCode 来决定哪些滑板车需要优先检查。
更清晰的区域分配
在覆盖范围变化时,更新滑板车的区域与 DeploymentZone.name 相对应。
可追溯的字段历史
存储 MotorLog.runtimeMinutes 和 temperatureC 以便服务团队比较重复出现的问题。
一致的调度视图
在将车辆重新投入使用之前查询 Scooter.status 和 Battery.chargeLevel。
共享运营合同
将滑板车、电池、日志和区域字段保留在一个模式中,以便网页和移动工具读取相同的车队状态。
AI辅助引导工作流程
通过一个结构化提示为车队模型生成后端框架和集成指导。
准备好启动您的滑板车车队应用了吗?
让 Back4app AI 代理搭建您的电动滑板车车队后端,并从一个提示生成滑板车、电池、马达和区域工作流程。
免费开始 — 每月 50 次 AI 代理提示,无需信用卡
技术栈
此电动滑板车车队后端模板中包含所有内容。
ER图
电动滑板车车队模式的实体关系模型。
涵盖操作员、滑板车、电池健康记录、马达日志和部署区域的架构。
查看图表源
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
}
集成流程
典型的运行流程,包括登录、滑板车库存查询、电池检查、马达日志和部署区域更新。
查看图表源
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 模式中每个类的字段级参考。
| 字段 | 类型 | 描述 | 必需 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自动 |
| username | String | Staff login name | |
| String | Staff email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Operator role such as manager, coordinator, or field technician | |
| createdAt | Date | Auto-generated creation timestamp | 自动 |
| updatedAt | Date | Auto-generated last-update timestamp | 自动 |
7 字段在 Operator 中
安全与权限
如何通过ACL和CLP策略保护操作员、电动滑板车、电池、日志和区域。
操作员访问控制
只有经过认证的操作员才能创建或更改属于他们团队的车队记录。
电动滑板车和电池完整性
在一个单位被标记为可用之前,使用云代码验证Scooter.battery和Battery.healthScore。
范围内的操作读取
限制区域和日志的可见性,仅限于那些需要记录以进行调度、服务或审计工作的员工。
架构(JSON)
准备复制到Back4app的原始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 上使用此确切架构和行为创建一个电动滑板车车队应用后端。 架构: 1. 操作员(使用 Back4app 内置):用户名、电子邮件、密码;objectId、createdAt、updatedAt(系统)。 2. 滑板车:fleetCode(字符串,必填)、serialNumber(字符串,必填)、status(字符串,必填)、battery(指向电池的指针,可选)、zone(指向部署区域的指针,可选);objectId、createdAt、updatedAt(系统)。 3. 电池:scooter(指向滑板车的指针,必填)、healthScore(数字,必填)、chargeLevel(数字,必填)、cycleCount(数字,必填)、lastCheckedAt(日期,必填);objectId、createdAt、updatedAt(系统)。 4. 电机日志:scooter(指向滑板车的指针,必填)、runtimeMinutes(数字,必填)、temperatureC(数字,必填)、faultCode(字符串)、notes(字符串);objectId、createdAt、updatedAt(系统)。 5. 部署区域:name(字符串,必填)、city(字符串,必填)、coverageRadiusKm(数字,必填)、active(布尔,必填);objectId、createdAt、updatedAt(系统)。 安全性: - 只有经过认证的操作员才能创建或更改属于其团队的车队记录。使用云代码在标记单元为可用之前验证滑板车.battery和电池.healthScore。 认证: - 注册、登录、注销。 行为: - 列出滑板车、检查电池健康、撰写电机日志以及在部署区域之间移动滑板车。 交付: - Back4app 应用程序,带架构、ACL、CLP;滑板车、电池、日志和区域的前端。
按下面的按钮打开此模板提示预填的代理。
这是没有技术后缀的基本提示。您可以在此之后调整生成的前端栈。
API 演练场
对电动滑板车车队架构测试 REST 和 GraphQL 端点。响应使用虚拟数据,无需 Back4app 账户。
使用与此模板相同的架构。
选择您的技术
展开每个卡片以查看如何将运营商、电动滑板车和电池与您选择的技术栈集成。
Flutter 电动滑板车车队后端
React 电动滑板车车队后端
React 原生 电动滑板车车队后端
Next.js 电动滑板车车队后端
JavaScript 电动滑板车车队后端
Android 电动滑板车车队后端
iOS 电动滑板车车队后端
Vue 电动滑板车车队后端
Angular 电动滑板车车队后端
GraphQL 电动滑板车车队后端
REST API 电动滑板车车队后端
PHP 电动滑板车车队后端
.NET 电动滑板车车队后端
每种技术为您提供的内容
每个堆栈都使用相同的电动滑板车车队后端架构和 API 合同。
统一的车队数据结构
通过一个一致的架构管理滑板车、电池、日志和区域。
车队运营的电池健康工作流程
跟踪充电水平、健康评分和循环次数以做出维护决策。
服务团队的电机日志历史
存储运行时间、温度和故障代码以进行诊断。
调度的区域分配控制
使用部署区记录将滑板车引导到正确的服务区域。
用于车队工具的 REST/GraphQL API
通过灵活的API集成Web、移动和运营仪表盘。
车队技术比较
比较所有支持技术的设置速度、SDK 风格和 AI 支持。
| 框架 | 设置时间 | 车队利益 | SDK 类型 | AI 支持 |
|---|---|---|---|---|
| 关于 5 分钟 | 用于移动和 Web 的滑板车操作单一代码库。 | 类型化 SDK | 完整 | |
| 不到 5 分钟 | 用于车队调度的快速 Web 仪表板。 | 类型化 SDK | 完整 | |
| ~3–7 分钟 | 适用于滑板车团队的跨平台现场应用。 | 类型化 SDK | 完整 | |
| 快速(5 分钟)设置 | 用于车队控制的服务器渲染操作控制台。 | 输入的 SDK | 完整 | |
| 约 3-5 分钟 | 轻量级网络集成,用于滑板车库存。 | 输入的 SDK | 完整 | |
| 大约 5 分钟 | 用于现场维护的原生 Android 应用。 | 输入的 SDK | 完整 | |
| 少于 5 分钟 | 本地 iOS 应用用于派遣和检查。 | 输入的 SDK | 完整 | |
| ~3–7分钟 | React 派遣网页用户界面用于车队调度。 | 输入的SDK | 完整 | |
| 快速(5分钟)设置 | 企业网页应用程序用于运营团队。 | 输入的SDK | 完整 | |
| 少于2分钟 | 灵活的 GraphQL API 用于电动滑板车、电池和区域查询。 | GraphQL API | 完整 | |
| 快速(2分钟)设置 | REST API 集成用于调度和维护工具。 | REST API | 完整 | |
| ~3分钟 | 服务器端 PHP 后端用于车队管理工具。 | REST API | 完整 | |
| ~3-7分钟 | .NET 后端用于滑板车操作。 | 已键入的 SDK | 完整 |
设置时间反映从项目引导到首次电动滑板车、电池或区域查询的预期持续时间,使用此模板架构。
常见问题解答
关于使用此模板构建电动滑板车车队后端的常见问题。