移动劳动力市场
与 AI Agent 一起构建
搬家劳动力市场后端

搬家劳动力市场后端模板
团队搜索、预订申请、分配和审核

一个生产就绪的 搬家劳动力市场后端 在 Back4app,具有 CrewListing 搜索、BookingRequest 接收、CrewAssignment 日志和 CrewReview 记录。包括 ER 图、数据字典、JSON 架构、API 沙盒,以及快速启动的 AI 代理 提示。

关键要点

此模板为您提供一个搬运工市场后端,具有 CrewListing 搜索、BookingRequest 录入及 CrewAssignment 跟踪,使运营商可以更快地将需求与可用的团队进行匹配。

  1. CrewListing 搜索使用 hourlyRate、crewSize、heavyLiftingCapability、serviceArea、equipmentNotes 和 availabilityStatus 模型 CrewListing,以便买家在预订前可以比较不同的团队。
  2. BookingRequest 录入存储 BookingRequest,包括 jobTitle、moveDate、startTime、hoursNeeded、pickupZip、dropoffZip 和 heavyItems,以捕获搬家详情。
  3. CrewAssignment 日志将 CrewAssignment 与 bookingRequest、crewListing、assignedBy、crewSizeLogged 和 arrivalStatus 关联,以便每个派遣的工作都有详细记录。
  4. CrewReview 历史使用 CrewReview 记录评级、评论和安全标志,以跟踪完成的 BookingRequest 记录后的结果。

理解移动劳动力市场后台

在移动劳动力市场中,运营的真相是时间表——如果日历错误,那么每一个下游承诺也都是错误的。可靠性是一个特性,而不是脚注。在 Back4app 上建模核心实体,为移动劳动力市场团队提供一个可以从单个场地扩展到多地点运营的后台。该架构涵盖用户、CrewListing、BookingRequest、CrewAssignment 和 CrewReview,并内置身份验证和市场工作流功能。连接您首选的前端并更快交付。

最佳用于:

移动劳动力市场按小时匹配搬运工的平台重型搬运团队预订应用本地搬运运营商仪表板MVP发布团队为劳动力市场选择BaaS

搬运劳动力市场后端概述

客户关心的不是您的内部工具;他们关心搬运劳动力市场的承诺是否能按时兑现,拥有正确的资产和正确的文件。

此摘要使团队围绕用户账户和角色、CrewListing市场简介、BookingRequest收集进行定位,以便在任何人深入ER图或JSON导出之前。

核心搬运劳动力市场功能

此中心中的每个技术卡片都使用相同的移动劳动力后端架构,包括用户、机组人员列表、预定请求、机组人员分配和机组人员评审。

用户账户和角色

用户存储用户名、电子邮件、角色、显示名称、电话号码和服务区域。

CrewListing 市场档案

CrewListing 存储标题、每小时费率、人员规模、重物搬运能力、服务区域和可用状态。

BookingRequest 收集

BookingRequest 捕获职位名称、搬家日期、开始时间、所需小时数、取件邮政编码、送达邮政编码和重物。

机组人员分配跟踪

机组人员分配链接预定请求、机组人员列表、分配人、记录的机组人员数量和到达状态。

机组人员评审反馈

机组人员评审存储预定请求、评论者、机组人员列表、评级、评论和安全标志。

为什么要使用Back4app构建您的搬运劳动力市场后端?

Back4app为您提供用户、BookingRequest和CrewListing原语,使您的团队可以专注于匹配团队和搬迁工作,而不是接线基础设施。

  • 船员列表和预订管理: 用户、船员列表和预订请求类将登录身份、服务区域、移动日期、取件邮政编码和送达邮政编码集中在一个地方。
  • 分配和审核流程控制: 船员分配和船员审核记录在派遣后使船员数量、到达状态、评分和安全标志可见。
  • 实时 + API 灵活性: 使用 Live Queries 更新预订请求,同时保持 REST 和 GraphQL 可用于派遣仪表板。

通过一个后端合同快速构建和迭代搬运劳动力功能,涵盖所有平台。

核心优势

一个移动劳动后端,帮助您从潜在客户转变为团队分配,而无需重写数据层。

更快的预订处理

从BookingRequest开始,包含moveDate、startTime、hoursNeeded、pickupZip和dropoffZip,而不是发明新的移动表单。

清晰的团队能力检查

使用CrewListing和heavyLiftingCapability、crewSize和equipmentNotes,确保在调度前可以看到楼梯搬运、小车和绳索。

您可以审计的团队分配

CrewAssignment在工作确认时保持bookingRequest、crewListing、assignedBy、crewSizeLogged和arrivalStatus可见。

为操作员和搬运工提供有限访问

使用ACL/CLP,以便只有合适的用户可以编辑User、CrewListing、BookingRequest和CrewAssignment行。

劳动和审核历史

存储BookingRequest状态更改、CrewAssignment时间戳和CrewReview评分而不破坏架构。

AI引导工作流

通过一个结构化提示快速生成后端脚手架和集成指导。

准备好启动您的搬运劳动市场了吗?

让Back4app AI代理搭建您的搬运劳动后端,并通过一个提示生成CrewListing、BookingRequest、CrewAssignment和CrewReview流程。

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

搬运劳动技术栈

此搬运劳动市场后台模板中包含所有内容。

前端
13 种以上技术
后端
Back4app
数据库
__品牌0__
身份验证
内置身份验证 + 会话
API
REST 和 __品牌0__
实时
__品牌0__

市场类图

移动劳动力市场后端架构的实体关系模型。

查看图表源
Mermaid
erDiagram
    User ||--o{ CrewListing : "owner"
    User ||--o{ BookingRequest : "buyer"
    User ||--o{ CrewAssignment : "assignedBy"
    User ||--o{ CrewReview : "reviewer"
    CrewListing ||--o{ BookingRequest : "preferredCrew"
    CrewListing ||--o{ CrewAssignment : "crewListing"
    CrewListing ||--o{ CrewReview : "crewListing"
    BookingRequest ||--o{ CrewAssignment : "bookingRequest"
    BookingRequest ||--o{ CrewReview : "bookingRequest"

    User {
        String objectId PK
        String username
        String email
        String password
        String role
        String displayName
        String phoneNumber
        String serviceArea
        Date createdAt
        Date updatedAt
    }

    CrewListing {
        String objectId PK
        String title
        Number hourlyRate
        Number crewSize
        Boolean heavyLiftingCapability
        String serviceArea
        String equipmentNotes
        String availabilityStatus
        String ownerId FK
        Date createdAt
        Date updatedAt
    }

    BookingRequest {
        String objectId PK
        String jobTitle
        Date moveDate
        String startTime
        Number hoursNeeded
        String pickupZip
        String dropoffZip
        Boolean heavyItems
        String status
        String buyerId FK
        String preferredCrewId FK
        Date createdAt
        Date updatedAt
    }

    CrewAssignment {
        String objectId PK
        String bookingRequestId FK
        String crewListingId FK
        String assignedById FK
        Number crewSizeLogged
        String arrivalStatus
        Date startedAt
        Date finishedAt
        Date createdAt
        Date updatedAt
    }

    CrewReview {
        String objectId PK
        String bookingRequestId FK
        String reviewerId FK
        String crewListingId FK
        Number rating
        String comment
        Boolean safetyFlag
        Date createdAt
        Date updatedAt
    }

预订工作流程顺序

登录、船员列表搜索、预订请求创建、船员分配记录和船员评审更新的典型运行流程。

查看图表源
Mermaid
sequenceDiagram
  participant Buyer
  participant App as Moving Labor Marketplace App
  participant Back4app as Back4app Cloud

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

  Buyer->>App: Search crew listings by hourlyRate, crewSize, and heavyLiftingCapability
  App->>Back4app: GET /classes/CrewListing?where=...
  Back4app-->>App: Matching CrewListing rows

  Buyer->>App: Submit BookingRequest for a moveDate and hoursNeeded
  App->>Back4app: POST /classes/BookingRequest
  Back4app-->>App: BookingRequest objectId

  Operator->>App: Assign CrewAssignment and log crewSizeLogged
  App->>Back4app: POST /classes/CrewAssignment
  Back4app-->>App: Assignment saved

  App->>Back4app: Live query updates for BookingRequest status and CrewReview
  Back4app-->>App: Updated move workflow and ratings

字段字典

移动劳动力市场架构中每个类的完整字段级参考。

字段类型描述必需的
objectIdStringAuto-generated unique identifier自动
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringRole of the user (buyer, seller, operator)
displayNameStringPublic name shown in the marketplace
phoneNumberStringContact phone number
serviceAreaStringPrimary metro area or region served
createdAtDateAuto-generated creation timestamp自动
updatedAtDateAuto-generated last-update timestamp自动

10 字段在 User 中

用户、团队和预订的访问规则

ACL 和 CLP 策略如何保护用户、CrewListing、BookingRequest、CrewAssignment 和 CrewReview。

用户资料控制

只有账户拥有者或操作员可以更新用户名、角色、显示名称、电话号码和服务区域。

预订完整性

只有买方或调度员可以创建、编辑或取消 BookingRequest 和 CrewAssignment 行。

范围审核可见性

限制 CrewReview 阅读仅限于匹配的 BookingRequest 参与者和已批准的操作人员。

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
        },
        "displayName": {
          "type": "String",
          "required": true
        },
        "phoneNumber": {
          "type": "String",
          "required": false
        },
        "serviceArea": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "CrewListing",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "title": {
          "type": "String",
          "required": true
        },
        "hourlyRate": {
          "type": "Number",
          "required": true
        },
        "crewSize": {
          "type": "Number",
          "required": true
        },
        "heavyLiftingCapability": {
          "type": "Boolean",
          "required": true
        },
        "serviceArea": {
          "type": "String",
          "required": true
        },
        "equipmentNotes": {
          "type": "String",
          "required": false
        },
        "availabilityStatus": {
          "type": "String",
          "required": true
        },
        "owner": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "BookingRequest",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "jobTitle": {
          "type": "String",
          "required": true
        },
        "moveDate": {
          "type": "Date",
          "required": true
        },
        "startTime": {
          "type": "String",
          "required": true
        },
        "hoursNeeded": {
          "type": "Number",
          "required": true
        },
        "pickupZip": {
          "type": "String",
          "required": true
        },
        "dropoffZip": {
          "type": "String",
          "required": true
        },
        "heavyItems": {
          "type": "Boolean",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "buyer": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "preferredCrew": {
          "type": "Pointer",
          "required": false,
          "targetClass": "CrewListing"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "CrewAssignment",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "bookingRequest": {
          "type": "Pointer",
          "required": true,
          "targetClass": "BookingRequest"
        },
        "crewListing": {
          "type": "Pointer",
          "required": true,
          "targetClass": "CrewListing"
        },
        "assignedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "crewSizeLogged": {
          "type": "Number",
          "required": true
        },
        "arrivalStatus": {
          "type": "String",
          "required": true
        },
        "startedAt": {
          "type": "Date",
          "required": false
        },
        "finishedAt": {
          "type": "Date",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "CrewReview",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "bookingRequest": {
          "type": "Pointer",
          "required": true,
          "targetClass": "BookingRequest"
        },
        "reviewer": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "crewListing": {
          "type": "Pointer",
          "required": true,
          "targetClass": "CrewListing"
        },
        "rating": {
          "type": "Number",
          "required": true
        },
        "comment": {
          "type": "String",
          "required": false
        },
        "safetyFlag": {
          "type": "Boolean",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

与 AI 代理一起构建

使用 Back4app AI 代理从此模板生成一个真正的移动劳动力市场应用,包括前端、后端、身份验证,以及 CrewListing、BookingRequest、CrewAssignment 和 CrewReview 流程。

Back4app AI 代理
准备构建
在 Back4app 上创建一个安全的移动劳动力市场应用程序后端,使用此确切的模式和行为。

模式:
1. 用户: 用户名 (字符串,必填),电子邮件 (字符串,必填),密码 (字符串,必填),角色 (字符串,必填),显示名称 (字符串,必填),电话号码 (字符串,选填),服务区域 (字符串,选填); objectId,创建时间,更新时间 (系统)。
2. 创建列表: 标题 (字符串,必填),小时费率 (数字,必填),团队规模 (数字,必填),重物搬运能力 (布尔,必填),服务区域 (字符串,必填),设备说明 (字符串,选填),可用状态 (字符串,必填),所有者 (指向用户的指针,必填); objectId,创建时间,更新时间 (系统)。
3. 预订请求: 工作名称 (字符串,必填),搬家日期 (日期,必填),开始时间 (字符串,必填),所需小时数 (数字,必填),提货邮政编码 (字符串,必填),送货邮政编码 (字符串,必填),重物 (布尔,必填),状态 (字符串,必填),买家 (指向用户的指针,必填),首选团队 (指向创建列表的指针,选填); objectId,创建时间,更新时间 (系统)。
4. 队伍分配: 预订请求 (指向预订请求的指针,必填),团队列表 (指向创建列表的指针,必填),分配人 (指向用户的指针,必填),记录的团队规模 (数字,必填),到达状态 (字符串,必填),开始时间 (日期,选填),结束时间 (日期,选填); objectId,创建时间,更新时间 (系统)。
5. 团队评价: 预订请求 (指向预订请求的指针,必填),评审人 (指向用户的指针,必填),团队列表 (指向创建列表的指针,必填),评分 (数字,必填),评论 (字符串,选填),安全标记 (布尔,选填); objectId,创建时间,更新时间 (系统)。

安全性:
- 买家可以创建预订请求记录并查看自己的预订。
- 卖家可以管理自己的团队列表记录。
- 操作员可以创建团队分配记录并更新预订请求状态。
- 团队评价记录必须在完成的预订后创建。

行为:
- 按小时费率、团队规模、重物搬运能力和服务区域搜索团队。
- 创建带有搬家日期和所需小时数的预订请求。
- 分配团队并记录团队规模。 
- 收集工作后评分和安全反馈。

交付:
- 一个包含模式、ACL、CLP 以及面向买家、卖家和操作员的 UI 流程的 Back4app 应用,包括团队列表搜索、预订请求录入、团队分配跟踪和团队评价记录。

按下面的按钮打开带有此模板提示已预填的代理。

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

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

API 沙盒

尝试对移动劳动力市场架构使用 REST 和 GraphQL 端点。响应使用模拟数据,无需 Back4app 账户。

加载演示环境…

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

选择您的技术栈

展开每个卡片以查看如何将 CrewListing、BookingRequest 和 CrewAssignment 与您选择的技术栈集成。

Flutter 移动劳工市场后端

React 移动劳工市场后端

React 原生 移动劳工市场后端

Next.js 移动劳工市场后端

JavaScript 移动劳工市场后端

Android 移动劳工市场后端

iOS 移动劳工市场后端

Vue 移动劳工市场后端

Angular 移动劳工市场后端

GraphQL 移动劳工市场后端

REST API 移动劳工市场后端

PHP 移动劳工市场后端

.NET 移动劳工市场后端

您从每项技术中获得的内容

每个技术栈使用相同的移动劳动力后端架构和 API 合同。

统一的移动劳动力数据结构

使用一致的架构轻松管理用户、CrewListing、BookingRequest、CrewAssignment 和 CrewReview。

按费率和规模进行人员匹配

比较 CrewListing 行并为每个移动请求分配合适的人员规模。

重型搬运能力跟踪

将 heavyLiftingCapability 和 equipmentNotes 附加到每个 Crew Listing。

可定制的操作员工作流程

定义针对买方、卖方和操作员量身定制的访问级别和权限。

移动劳动力市场框架对比

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

框架设置时间搬运工市场优势SDK 类型AI支持
大约5分钟移动和网络上的搬运调度单一代码库。类型化SDK完整
少于5分钟快速的网络仪表板用于人员名单和预订。类型化SDK完整
~3–7分钟用于调度搬运工的跨平台移动应用。输入型SDK完整
快速(5分钟)设置用于搬运劳动力操作的服务器渲染网络应用。输入型SDK完整
~3–5分钟用于劳动力匹配的轻量级网络集成。输入型SDK完整
大约5分钟适用于搬运工和调度员的本地Android应用程序。输入的SDK完整
少于5分钟适用于搬运协调的本地iOS应用程序。输入的SDK完整
大约3-7分钟用于劳动市场操作的Reactive网页用户界面。输入的SDK完整
快速(5分钟)设置调度工作流程的企业网页应用。输入的SDK完整
少于 2 分钟灵活的 GraphQL API 用于劳动匹配。GraphQL API完整
快速(2分钟)设置REST API 与劳动系统的集成。REST API完整
约 3 分钟服务器端 PHP 后端用于劳动调度。REST API完整
~3–7分钟.NET 后端用于搬运劳动力操作。输入的SDK完整

设置时间反映从项目启动到第一次使用此模板架构的CrewListing或BookingRequest查询的预期持续时间。

帮助中心

关于使用此模板构建搬运劳动力市场后端的常见问题。

搬运劳动力市场运营商在扩展到第二个位置时应该首先做什么?
搬运劳动力市场应该如何在一个一致的图中建模预约、冲突和押金?
当搬运劳动力市场目录复杂性季节性跳跃时,迁移的样子是什么?
我如何使用 Flutter 运行船员和预约的查询?
我如何使用 Next.js Server Actions 管理搬运劳动力市场的访问?
React 本地缓存车队列表和搬家请求可以离线工作吗?
我该如何防止未经授权的车队分配更改?
在 Android 上显示车队和分配的最佳方法是什么?
搬家劳动力流程是如何全面运作的?

全球开发者信任的

与 Back4app 模板一起,加快团队发布搬运劳动力市场产品的速度

G2 Users Love Us Badge

准备好构建您的搬运劳动力市场了吗?

在几分钟内开始您的搬运劳动力项目。无需信用卡。

选择技术