出租车应用
与 AI 代理一起构建
出租车共享后端

出租车和共享乘车应用后端模板
实时司机和乘车管理

一个适用于出租车共享后端 的生产就绪版,运行于 Back4app,具备实时司机派遣能力。包括 ER 图、数据字典、JSON 架构、API 游乐场,以及一个 AI 代理 提示以快速启动。

关键要点

该模板提供了一个带有实时司机调度的出租车拼车后端,以便您的团队能够专注于优化乘客和司机之间的互动。

  1. 实时司机调度实时高效管理和部署司机,以提升乘客体验。
  2. 行程追踪和更新使用 Back4app 的实时功能进行行程更新和通知。
  3. 无缝用户协作通过安全的拼车和状态更新促进协作。
  4. 访问控制功能通过强大的权限管理司机和乘客的访问。
  5. 跨平台后端通过单一的 REST 和 GraphQL API 为移动和网络客户端提供服务,适用于乘车和司机。

出租车和共享打车应用后端模板是什么?

Back4app 是一种后端即服务 (BaaS),用于快速产品交付。出租车和共享打车应用后端模板是一个为用户、乘车、司机和位置预构建的架构。连接您首选的前端(React、Flutter、Next.js 等),轻松部署。

最佳适用:

出租车和共享打车应用实时调度平台司机管理应用 ride tracking 解决方案 MVP 启动团队选择 BaaS 作为运输产品

概述

出租车拼车产品需要实时司机调度、行程跟踪和无缝协作。

此模板定义了用户、行程、司机和位置,具备实时调度功能以实现快速协作。

核心出租车与共享乘车功能

此中心中的每个技术卡都使用相同的出租车共享后端模式,包括用户、乘车、司机和位置。

用户管理

用户类存储名称、电子邮件、密码和角色。

乘车管理

乘车类链接乘客、司机和乘车状态。

司机可用性和管理

司机类存储地点、可用状态和任务。

位置跟踪

位置类存储地理坐标。

为什么要使用 Back4app 构建您的出租车与拼车应用的后端?

Back4app 为您提供乘车和司机原语,让您的团队专注于改善乘客和司机体验,而不是基础设施。

  • 乘车和司机管理: 乘车类与司机分配和乘客详情帮助管理物流。
  • 实时功能和可见性: 通过权限控制管理乘车状态更新,以增强安全性。
  • API 灵活性: 使用 Live Queries 进行实时更新,并使用 REST/GraphQL 满足所有客户端需求。

快速构建和迭代出租车共享功能,通过一个后端合同在所有平台上使用。

核心优势

一个出租车共享后端,帮助您快速迭代而不牺牲实时能力。

快速启动出租车应用

从完整的用户、骑乘和司机架构开始,而不是从头构建后端。

实时更新

利用实时骑乘追踪和调度来优化性能和用户满意度。

强大的权限模型

通过 ACL 和权限管理用户、骑乘和司机的访问。

可扩展的基础设施

利用基于云的服务支持不断增加的负载和需求,而无需服务器管理。

丰富的数据模型

通过全面的架构有效存储和管理骑乘和位置。

基于AI的开发

快速生成您的后端脚手架和集成指南,使用我们的 AI 代理。

准备好推出您的出租车共享应用了吗?

让 Back4app AI 代理为您的出租车共享后端构建脚手架,并从一个提示生成实时司机调度功能。

免费开始 — 每月 50 个 AI 代理提示,无需信用卡

技术栈

该出租车共享后端模板中包含所有内容。

前端
13+ 移动技术
后端
Back4app
数据库
MongoDB
认证
内置认证 + 会话
API
REST 和 GraphQL
实时
Live Queries

ER 图

出租车拼车后端架构的实体关系模型。

查看图表来源
Mermaid
erDiagram
    User ||--o{ Ride : "user"
    Driver ||--o{ Ride : "driver"
    Ride ||--o{ Invoice : "ride"
    User ||--o{ Invoice : "user"
    Invoice ||--o{ Payment : "invoice"
    User {
        String objectId PK
        String username
        String email
        String password
        String role
        Date createdAt
        Date updatedAt
    }

    Ride {
        String objectId PK
        String pickupLocation
        String dropoffLocation
        Pointer user FK
        Pointer driver FK
        String status
        Date createdAt
        Date updatedAt
    }

    Driver {
        String objectId PK
        String username
        String vehicleInfo
        Number rating
        Date createdAt
        Date updatedAt
    }

    Invoice {
        String objectId PK
        Pointer ride FK
        Number amount
        Pointer user FK
        Date createdAt
        Date updatedAt
    }

    Payment {
        String objectId PK
        Pointer invoice FK
        Pointer user FK
        String status
        Date createdAt
        Date updatedAt
    }

集成流程

用户身份验证、乘车请求、司机管理和实时更新的典型运行流程。

查看图表源
Mermaid
sequenceDiagram
  participant User
  participant App as Taxi & Ride-Sharing App
  participant Back4app as Back4app Cloud

  User->>App: Login
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Request ride
  App->>Back4app: POST /classes/Ride
  Back4app-->>App: Ride details

  User->>App: View invoice
  App->>Back4app: GET /classes/Invoice?user=User.objectId
  Back4app-->>App: Invoice details

  User->>App: Make payment
  App->>Back4app: POST /classes/Payment
  Back4app-->>App: Payment confirmation

数据字典

出租车拼车架构中每个类的完整字段级参考。

字段类型描述必需
objectIdStringAuto-generated unique identifier自动
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringRole of the user (e.g., passenger, driver)
createdAtDateAuto-generated creation timestamp自动
updatedAtDateAuto-generated last-update timestamp自动

7 字段在 User 中

安全和权限

ACL 和 CLP 策略如何保护用户、乘车、司机和地点。

用户拥有的个人资料控制

只有用户可以更新或删除他们的个人资料;其他人无法修改用户内容。

行程完整性和管理

只有拥有者可以创建或删除他们的行程,而司机可以更新行程状态。使用 Cloud Code 进行验证。

范围读取访问

限制乘客和司机的访问权限,仅对相关方可见(例如,用户可以查看自己的乘车状态)。

架构(JSON)

原始 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
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Ride",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "pickupLocation": {
          "type": "String",
          "required": true
        },
        "dropoffLocation": {
          "type": "String",
          "required": true
        },
        "user": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "driver": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Driver"
        },
        "status": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Driver",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "vehicleInfo": {
          "type": "String",
          "required": true
        },
        "rating": {
          "type": "Number",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Invoice",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "ride": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Ride"
        },
        "amount": {
          "type": "Number",
          "required": true
        },
        "user": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Payment",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "invoice": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Invoice"
        },
        "user": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "status": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

使用 AI 代理构建

使用 Back4app AI 代理从此模板生成真实的出租车共享应用程序,包括前端、后端、认证以及乘车和司机管理。

Back4app AI 代理
准备构建
在 Back4app 上创建一个出租车共享应用程序后端,使用此确切的架构和行为。

架构:
1. 用户(使用 Back4app 内置):姓名,电子邮件,密码;objectId,createdAt,updatedAt(系统)。
2. 乘车:乘客(指向用户的指针,必填),司机(指向司机的指针,必填),状态(字符串,必填);objectId,createdAt,updatedAt(系统)。
3. 司机:位置(地理坐标,必填),可用(布尔值,必填);objectId,createdAt,updatedAt(系统)。
4. 位置:纬度(数字,必填),经度(数字,必填);objectId,createdAt,updatedAt(系统)。

安全性:
- 只有用户可以更新/删除其个人资料。只有所有者可以创建/删除其乘车。使用云代码进行验证。

认证:
- 注册,登录,退出。

行为:
- 列出用户,请求乘车,分配司机,管理乘车状态。

交付:
- Back4app 应用程序,包含架构、ACL、CLP;前端用于用户个人资料、乘车、司机和位置。

按下面的按钮打开代理,并预填此模板提示。

这是没有技术后缀的基础提示。您可以在之后调整生成的前端架构。

几分钟内部署每月 50 次免费提示无需信用卡

API 游乐场

在出租车共享架构上尝试 REST 和 GraphQL 端点。响应使用模拟数据,无需 Back4app 账户。

加载游乐场…

使用与此模板相同的架构。

选择您的技术

展开每个卡片以获取集成步骤、状态模式、数据模型示例和离线笔记。

Flutter 出租车共享后端

React 出租车共享后端

React 原生 出租车共享后端

Next.js 出租车共享后端

JavaScript 出租车共享后端

Android 出租车共享后端

iOS 出租车共享后端

Vue 出租车共享后端

Angular 出租车共享后端

GraphQL 出租车共享后端

REST API 出租车共享后端

PHP 出租车共享后端

.NET 出租车共享后端

您获得的每项技术

每个技术栈使用相同的出租车共享后端架构和API合同。

统一的出租车共享数据结构

出租车 ride 共享中用户、行程和司机的一致架构。

出租车 ride 共享的实时行程跟踪

在出租车 ride 共享中实时跟踪行程以提升用户体验。

出租车 ride 共享的安全支付处理

通过集成支付解决方案确保出租车 ride 共享的安全交易。

司机和乘客评分系统

在出租车 ride 共享中为司机和乘客实施反馈循环和评分。

REST/GraphQL API 用于 出租车 ride 共享

灵活的 API 可与您的 出租车 ride 共享 后端无缝互动。

位置服务集成

与地图服务的轻松集成,以获取 出租车 ride 共享 中准确的位置数据。

出租车共享框架比较

比较所有支持技术的设置速度、SDK风格和AI支持。

框架设置时间出租车共享乘车利益SDK类型AI支持
约5分钟移动和网页上的出租车共享单一代码库。Typed SDK完整
关于5分钟共享出租车的快速网络仪表板。Typed SDK完整
少于5分钟跨平台出租车共享移动应用。Typed SDK完整
约3-7分钟服务器渲染的出租车共享 web 应用。Typed SDK完整
~3–5分钟轻量级 web 集成的出租车共享。Typed SDK完整
~5分钟原生 Android 应用程序用于出租车共享。Typed SDK完整
关于5分钟用于出租车共享的原生iOS应用。Typed SDK完整
少于5分钟用于出租车共享的Reactive Web UI。Typed SDK完整
约3–7分钟出租车共享的企业网络应用。Typed SDK完整
少于 2 分钟灵活的 GraphQL API 用于出租车共享。GraphQL API完整
快速(2 分钟)设置REST API 集成用于出租车共享。REST API完整
约3分钟服务器端 PHP 后端用于出租车共享。REST API完整
不到5分钟.NET 后端用于出租车共享。Typed SDK完整

设置时间反映从项目启动到使用此模板架构的第一次乘坐或司机查询的预期时间。

常见问题

关于使用此模板构建出租车共乘后端的常见问题。

什么是出租车共乘后端?
出租车和共乘模板包括什么?
为什么使用Back4app作为出租车共乘应用?
我如何使用Flutter运行乘车和司机的查询?
我如何管理与Next.js Server Actions的访问?
React 本地是否可以离线缓存骑行和司机信息?
我如何限制未经授权的骑行访问?
在 Android 上显示骑行和司机信息的最佳方法是什么?
骑行请求流程是如何运作的?

受到全球开发者的信任

加入团队,使用 Back4app 模板更快地交付出租车共享产品

G2 Users Love Us Badge

准备好构建您的出租车共享应用了吗?

在几分钟内开始您的出租车拼车项目。无需信用卡。

选择技术