Plantilla de Backend de Inventario de Flota de Patinetes Eléctricos
Estado de la batería, registros del motor y control de zonas de despliegue
Un backend de Flota de Patinetes Eléctricos listo para producción en Back4app con registros de scooters, verificaciones de salud de baterías, registros de motores y control de zonas de despliegue. Incluye diagrama ER, diccionario de datos, esquema JSON, entorno de pruebas de API y un aviso de Agente de IA para un arranque rápido.
Resumen de la flota
Esta plantilla te ofrece un backend de flota para inventario de scooters, estado de las baterías, registros de motor y zonas de despliegue para que las operaciones puedan pasar de controles en papel a seguimiento en vivo.
- Seguimiento de la salud de la batería — Almacena el nivel de batería, el conteo de ciclos y la puntuación de salud en la clase Battery para la planificación del mantenimiento.
- Historial de registros de motor — Captura eventos del motor en MotorLog con tiempo de ejecución, temperatura y notas de fallas para revisión en el campo.
- Control de zona de despliegue — Vincula cada Scooter a una DeploymentZone para que los despachadores puedan gestionar la cobertura por área.
Entendiendo el backend del inventario de flota de scooters eléctricos
La sobreventa no solo es embarrasing en la flota de scooters eléctricos; erosiona la confianza más rápido de lo que cualquier campaña de marketing puede reconstruirla. Modela Operator, Scooter, Battery, MotorLog y DeploymentZone en Back4app para proporcionar a los equipos de flota de scooters eléctricos un backend que puede crecer de un solo patio a operaciones multi-sitio. El esquema cubre Operator (nombre de usuario, correo electrónico, contraseña), Scooter (código de flota, número de serie, estado, batería, zona), Battery (scooter, puntaje de salud, nivel de carga, conteo de ciclos), MotorLog (scooter, minutos de tiempo de funcionamiento, temperaturaC, código de falla) y DeploymentZone (nombre, ciudad, radio de coberturaKm, activo) con controles de autenticación y flota incorporados. Conecta tu frontend preferido y lanza más rápido.
Mejor para:
Flota de patinetes eléctricos: instantánea del backend
la flota de patinetes eléctricos no solo se trata de velocidad; se trata de la defendibilidad cuando alguien pregunta “muestra cómo sabías que eso era cierto.”
El hub destaca Operador, Patinete y Batería para que puedas comparar pilas de clientes contra las mismas entidades, campos y relaciones.
Características principales de la flota de scooters eléctricos
Cada tarjeta de tecnología en este hub utiliza el mismo esquema de Flota de Scooters Eléctricos con Operador, Scooter, Batería, RegistroDeMotor y DeploymentZone.
Control de inventario de scooters
El scooter almacena fleetCode, serialNumber, status, battery y zone.
Seguimiento de la salud de la batería
La batería mantiene chargeLevel, healthScore y cycleCount.
Diagnósticos del motor
MotorLog almacena runtimeMinutes, temperatureC y faultCode.
Gestión de zona de despliegue
DeploymentZone define nombre, ciudad, coberturaRadioKm y activo.
¿Por qué construir tu backend de flota de patinetes eléctricos con Back4app?
Back4app ofrece a los equipos de operaciones un hogar limpio para el inventario de patinetes, la salud de las baterías y los registros de motores, para que el despacho y el mantenimiento se mantengan en el mismo modelo de datos.
- •Los registros de patinete y batería se mantienen conectados: La clase Patinete apunta a los campos de Batería y Zona de Despliegue, lo que mantiene los chequeos de campo, los cambios y los movimientos de zona trazables.
- •Las entradas de MotorLog son fáciles de auditar: Almacene runtimeMinutes, temperatureC y faultCode en MotorLog para que el personal de campo pueda revisar lo que ocurrió antes de una llamada de servicio.
- •Visibilidad de flota en tiempo real sin infraestructura adicional: Utilice Live Queries para actualizaciones de Scooter y Batería mientras mantiene REST y GraphQL abiertos para tableros, herramientas de despacho y aplicaciones de mantenimiento.
Administre scooters, baterías y zonas desde un contrato de backend en todos los clientes.
Beneficios de la Flota
Un backend de scooters que mantiene el trabajo de campo y las decisiones de despacho vinculados a datos reales de la flota.
Clasificación de mantenimiento más rápida
Utiliza Battery.healthScore y MotorLog.faultCode para decidir qué scooters necesitan inspección primero.
Asignaciones de zona más limpias
Actualiza Scooter.zone contra DeploymentZone.name cuando la cobertura cambia durante el día.
Historial de campos trazables
Almacene MotorLog.runtimeMinutes y temperatureC para que los equipos de servicio puedan comparar problemas recurrentes.
Vista de despacho consistente
Consulta Scooter.status y Battery.chargeLevel antes de volver a poner un vehículo en servicio.
Contrato operativo compartido
Mantenga los campos de scooter, batería, registro y zona en un solo esquema para que las herramientas web y móviles lean el mismo estado de la flota.
Flujo de trabajo de arranque asistido por IA
Genere andamiaje de backend y orientación de integración con un aviso estructurado para el modelo de flota.
¿Listo para lanzar su aplicación de flota de scooters?
Deja que el agente de IA de Back4app estructure el backend de tu flota de patinetes eléctricos y genere flujos de trabajo de patinente, batería, motor y zona a partir de un solo aviso.
Gratis para comenzar — 50 avisos de agente de IA/mes, no se requiere tarjeta de crédito
Tecnología
Todo incluido en esta plantilla de backend de flota de patinetes eléctricos.
Diagrama ER
Modelo de relación de entidades para el esquema de flota de scooters eléctricos.
Esquema que cubre operadores, scooters, registros de salud de baterías, registros de motores y zonas de despliegue.
Ver fuente del diagrama
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
}
Flujo de integración
Flujo de ejecución típico para el inicio de sesión, búsquedas de inventario de scooters, verificaciones de baterías, registros de motores y actualizaciones de zonas de despliegue.
Ver fuente del diagrama
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 changesDiccionario de datos
Referencia a nivel de campo para cada clase en el esquema de la flota de scooters eléctricos.
| Campo | Tipo | Descripción | Requerido |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Automático |
| 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 | Automático |
| updatedAt | Date | Auto-generated last-update timestamp | Automático |
7 campos en Operator
Seguridad y Permisos
Cómo la estrategia de ACL y CLP asegura operadores, scooters, baterías, registros y zonas.
Controles de acceso para operadores
Sólo los operadores autenticados pueden crear o cambiar registros de flota que pertenezcan a su equipo.
Integridad del scooter y la batería
Utiliza Cloud Code para validar Scooter.battery y Battery.healthScore antes de que una unidad sea marcada como disponible.
Lecturas operativas con alcance limitado
Limitar la visibilidad de zonas y registros al personal que necesita el registro para trabajo de despacho, servicio o auditoría.
Esquema (JSON)
Definición de esquema JSON en bruto lista para copiar en Back4app o utilizar como referencia de implementación.
{
"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
}
}
}
]
}Construir con Agente de IA
Utiliza el agente de IA de Back4app para generar una aplicación real de flota de scooters eléctricos a partir de esta plantilla, incluyendo frontend, backend, autenticación y flujos de scooters, baterías, registros de motores y zonas.
Crea un backend de aplicación de flota de scooters eléctricos en Back4app con este esquema y comportamiento exactos. Esquema: 1. Operador (usa la función integrada de Back4app): nombre de usuario, correo electrónico, contraseña; objectId, createdAt, updatedAt (sistema). 2. Scooter: fleetCode (Cadena, requerido), serialNumber (Cadena, requerido), status (Cadena, requerido), battery (Puntero a Batería, opcional), zone (Puntero a DeploymentZone, opcional); objectId, createdAt, updatedAt (sistema). 3. Batería: scooter (Puntero a Scooter, requerido), healthScore (Número, requerido), chargeLevel (Número, requerido), cycleCount (Número, requerido), lastCheckedAt (Fecha, requerido); objectId, createdAt, updatedAt (sistema). 4. MotorLog: scooter (Puntero a Scooter, requerido), runtimeMinutes (Número, requerido), temperatureC (Número, requerido), faultCode (Cadena), notes (Cadena); objectId, createdAt, updatedAt (sistema). 5. DeploymentZone: name (Cadena, requerido), city (Cadena, requerido), coverageRadiusKm (Número, requerido), active (Booleano, requerido); objectId, createdAt, updatedAt (sistema). Seguridad: - Solo los operadores autenticados pueden crear o cambiar registros de flota que pertenecen a su equipo. Usa Cloud Code para validar Scooter.battery y Battery.healthScore antes de que una unidad sea marcada como disponible. Autenticación: - Registro, inicio de sesión, cierre de sesión. Comportamiento: - Listar scooters, inspeccionar la salud de la batería, escribir registros de motores y mover scooters entre zonas de despliegue. Entrega: - Aplicación Back4app con esquema, ACLs, CLPs; frontend para scooters, baterías, registros y zonas.
Presiona el botón de abajo para abrir el Agente con este aviso de plantilla completado previamente.
Este es el aviso base sin un sufijo de tecnología. Puedes adaptar la pila de frontend generada después.
API Playground
Prueba los endpoints REST y GraphQL contra el esquema de la flota de scooters eléctricos. Las respuestas utilizan datos de ejemplo y no requieren una cuenta de Back4app.
Usa el mismo esquema que esta plantilla.
Elige tu tecnología
Expande cada tarjeta para ver cómo integrar Operador, Scooter y Batería con tu pila elegida.
Flutter Backend de flota de scooters eléctricos
React Backend de flota de scooters eléctricos
React Nativo Backend de flota de scooters eléctricos
Next.js Backend de flota de scooters eléctricos
JavaScript Backend de flota de scooters eléctricos
Android Backend de flota de scooters eléctricos
iOS Backend de flota de scooters eléctricos
Vue Backend de flota de scooters eléctricos
Angular Backend de flota de scooters eléctricos
GraphQL Backend de flota de scooters eléctricos
REST API Backend de flota de scooters eléctricos
PHP Backend de flota de scooters eléctricos
.NET Backend de flota de scooters eléctricos
Lo que obtienes con cada tecnología
Cada flota utiliza el mismo esquema de backend y contratos de API de Electric Scooter Fleet.
Estructura de datos de flota unificada
Gestiona scooters, baterías, registros y zonas con un esquema consistente.
Flujos de trabajo de salud de la batería para operaciones de flota
Rastrea chargeLevel, healthScore y cycleCount para decisiones de mantenimiento.
Historial de registros de motor para equipos de servicio
Almacena runtimeMinutes, temperatureC y faultCode para diagnósticos.
Control de asignación de zona para despachos
Utiliza los registros de DeploymentZone para dirigir scooters a la área de servicio adecuada.
REST/GraphQL APIs para herramientas de flota
Integra tableros web, móviles y de operaciones a través de APIs flexibles.
Comparación de Tecnología de Flota
Comparar la velocidad de configuración, el estilo de SDK y el soporte de IA a través de todas las tecnologías compatibles.
| Marco | Tiempo de Configuración | Beneficio de Flota | Tipo de SDK | Soporte de IA |
|---|---|---|---|---|
| Acerca de 5 min | Código base único para operaciones de scooters en móvil y web. | SDK tipado | Completo | |
| Menos de 5 minutos | Tablero web rápido para despacho de flota. | SDK tipado | Completo | |
| ~3–7 min | Aplicación de campo multiplataforma para equipos de scooters. | SDK tipado | Completo | |
| Configuración rápida (5 min) | Consola de operaciones renderizadas en servidor para el control de flotas. | SDK escrito | Completo | |
| ~3–5 min | Integración web ligera para el inventario de scooters. | SDK escrito | Completo | |
| Alrededor de 5 min | Aplicación nativa Android para mantenimiento en campo. | SDK escrito | Completo | |
| Menos de 5 minutos | Aplicación nativa de iOS para despacho e inspecciones. | SDK escrito | Completo | |
| ~3–7 min | Interfaz web Reactiva para enrutamiento de flotas. | SDK tipado | Completo | |
| Configuración rápida (5 min) | Aplicación web empresarial para equipos de operaciones. | SDK tipado | Completo | |
| Menos de 2 min | API flexible de GraphQL para consultas sobre scooters, baterías y zonas. | API de GraphQL | Completo | |
| Configuración rápida (2 min) | Integración de REST API para herramientas de despacho y mantenimiento. | REST API | Completo | |
| ~3 min | Backend de PHP del lado del servidor para herramientas de administración de flotas. | REST API | Completo | |
| ~3–7 min | Backend de .NET para operaciones de scooters. | SDK tipado | Completo |
El tiempo de configuración refleja la duración esperada desde el inicio del proyecto hasta la primera consulta de patinete, batería o zona utilizando este esquema de plantilla.
Preguntas Frecuentes
Preguntas comunes sobre la creación de un backend para una flota de scooters eléctricos con esta plantilla.
¿Listo para construir tu App de Flota de Patinetes Eléctricos?
Inicia tu proyecto de flota de patinetes en minutos. No se requiere tarjeta de crédito.