Рынок搬家公司
Создайте с AI Agent
Бэкэнд рынка услуг по搬家

Шаблон бэкэнда рынка услуг по搬家
Поиск экипажа, прием бронирования, назначение и отзыв

Готовый к производству бэкэнд рынка услуг по搬家 на Back4app с поиском CrewListing, приемом BookingRequest, журналами CrewAssignment и записями CrewReview. Включает диаграмму ER, словарь данных, схему JSON, песочницу API и AI Agent для быстрого развертывания.

Ключевые выводы

Этот шаблон предоставляет вам бэкенд рынка труда для переезда с поиском CrewListing, приемом BookingRequest и отслеживанием CrewAssignment, чтобы операторы могли быстрее сопоставлять спрос с доступными командами.

  1. Поиск CrewListingМоделируйте CrewListing с hourlyRate, crewSize, heavyLiftingCapability, serviceArea, equipmentNotes и availabilityStatus, чтобы покупатели могли сравнивать команды перед бронированием.
  2. Прием BookingRequestХраните BookingRequest с jobTitle, moveDate, startTime, hoursNeeded, pickupZip, dropoffZip и heavyItems, чтобы зафиксировать детали переезда.
  3. Журналы CrewAssignmentДержите CrewAssignment связанным с bookingRequest, crewListing, assignedBy, crewSizeLogged и arrivalStatus для каждой выданной работы.
  4. История CrewReviewИспользуйте CrewReview с оценкой, комментарием и safetyFlag для отслеживания результатов после завершенных записей BookingRequest.

Понимание бэкенда рынка рабочей силы по перемещению

На рынке рабочей силы по перемещению операционная правда — это расписание — если календарь неверен, каждое последующее обещание тоже неверно. Надежность — это функция, а не сноска. Моделируйте основные сущности на Back4app, чтобы предоставить командам рынка рабочей силы по перемещению бэкенд, который может расти от одного двора до многосайтовых операций. Схема охватывает User, CrewListing, BookingRequest, CrewAssignment и CrewReview с встроенными функциями авторизации и рабочими процессами рынка. Подключите ваш предпочтительный фронтенд и отправляйте быстрее.

Лучшее для:

Рынков рабочей силы по перемещениюПлатформ для соответствия часовым грузчикамПриложений для бронирования тяжёлых грузовых бригадПанели инструментов локальных операторов по переездамЗапуски MVPКоманды выбирают BaaS для рынков труда по переездам

Обзор бэкенда рынка труда по переездам

Клиенты не заботятся о ваших внутренних инструментах; им важно, чтобы обещания рынка труда по переездам выполнялись вовремя, с правильными активами и соответствующей документацией.

Этот обзор ориентирует команды вокруг учетных записей пользователей и ролей, профилей на рынке списков экипажей, поступления запросов на бронирование, прежде чем кто-то углубится в диаграммы ER или экспорт JSON.

Основные функции рынка трудозатрат при переезде

Каждая технологическая карта в этом центре использует одну и ту же базу данных перемещения рабочей силы с User, CrewListing, BookingRequest, CrewAssignment и CrewReview.

Учетные записи пользователей и роли

Пользователь хранит имя пользователя, адрес электронной почты, роль, имя для отображения, номер телефона и зону обслуживания.

Профили на рынке CrewListing

CrewListing хранит заголовок, почасовую ставку, размер команды, возможности тяжелой работы, зону обслуживания и статус доступности.

Прием бронирования BookingRequest

BookingRequest захватывает должность, дату переезда, время начала, нужные часы, почтовый индекс забора, почтовый индекс сдачи и тяжелые предметы.

Отслеживание назначения команды

Ссылка назначения команды на bookingRequest, crewListing, assignedBy, crewSizeLogged и arrivalStatus.

Отзывы о команде

Отзыв о команде хранит bookingRequest, рецензента, crewListing, оценку, комментарий и safetyFlag.

Почему стоит строить ваш бэкенд рынка труда по переездам с Back4app?

Back4app предоставляет вам примитивы User, BookingRequest и CrewListing, чтобы ваша команда могла сосредоточиться на подборе экипажей и выполнении работ вместо прокладывания инфраструктуры.

  • Управление списком экипажа и бронированием: Классы User, CrewListing и BookingRequest хранят данные о входе в систему, зоне обслуживания, дате переезда, почтовом индексе отправления и почтовом индексе назначения в одном месте.
  • Контроль потоков назначения и ревью: Записи CrewAssignment и CrewReview делают видимыми crewSizeLogged, arrivalStatus, rating и safetyFlag после отправки.
  • Гибкость в реальном времени + API: Используйте Live Queries для обновлений BookingRequest, сохраняя 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, не нарушая схему.

Искусственный интеллект bootstrap workflow

Быстро создавайте бэкэнд-скелет и руководство по интеграции с помощью одного структурированного запроса.

Готовы запустить свой рынок трудозатрат по перемещению?

Позвольте AI Agent от Back4app создать скелет вашего бэкэнда по перемещению труда и сгенерировать потоки CrewListing, BookingRequest, CrewAssignment и CrewReview из одного запроса.

Бесплатно для начала — 50 подсказок AI Agent в месяц, без необходимости в кредитной карте

Технологический стек для перемещения труда

Всё включено в этот шаблон бэкенда рынка услуг по перемещению.

Фронтенд
13+ технологий
Бэкенд
Back4app
База данных
MongoDB
Аутентификация
Встроенная аутентификация + сессии
API
REST и GraphQL
В реальном времени
Live Queries

Диаграмма классов Marketplace

Модель взаимосвязей сущностей для схемы бэкенда рынка услуг по перемещению.

Посмотреть источник диаграммы
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 защищает User, 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 Agent

Используйте AI Agent Back4app, чтобы создать настоящее приложение для рынка рабочей силы из этого шаблона, включая фронтенд, бэкенд, авторизацию и потоки CrewListing, BookingRequest, CrewAssignment и CrewReview.

AI Agent Back4app
Готовы строить
Создайте безопасное приложение для рынкаMoving Labor на Back4app с этой точно схемой и поведением.

Схема:
1. Пользователь: имя пользователя (String, обязательный), email (String, обязательный), пароль (String, обязательный), роль (String, обязательный), отображаемое имя (String, обязательный), номер телефона (String, необязательный), зона обслуживания (String, необязательный); objectId, createdAt, updatedAt (системный).
2. CrewListing: заголовок (String, обязательный), почасовая ставка (Number, обязательный), размер группы (Number, обязательный), возможность тяжелой работы (Boolean, обязательный), зона обслуживания (String, обязательный), заметки о снаряжении (String, необязательный), статус доступности (String, обязательный), владелец (Указатель на пользователя, обязательный); objectId, createdAt, updatedAt (системный).
3. BookingRequest: название работы (String, обязательный), дата перемещения (Дата, обязательная), время начала (String, обязательный), необходимое количество часов (Number, обязательный), почтовый индекс для забора (String, обязательный), почтовый индекс для доставки (String, обязательный), тяжелые предметы (Boolean, обязательный), статус (String, обязательный), покупатель (Указатель на пользователя, обязательный), предпочтительная группа (Указатель на CrewListing, необязательный); objectId, createdAt, updatedAt (системный).
4. CrewAssignment: bookingRequest (Указатель на BookingRequest, обязательный), crewListing (Указатель на CrewListing, обязательный), назначенный (Указатель на пользователя, обязательный), размер группы (Number, обязательный), статус прибытия (String, обязательный), началось (Дата, необязательная), завершено (Дата, необязательная); objectId, createdAt, updatedAt (системный).
5. CrewReview: bookingRequest (Указатель на BookingRequest, обязательный), рецензент (Указатель на пользователя, обязательный), crewListing (Указатель на CrewListing, обязательный), рейтинг (Number, обязательный), комментарий (String, необязательный), флаг безопасности (Boolean, необязательный); objectId, createdAt, updatedAt (системный).

Безопасность:
- Покупатели могут создавать записи BookingRequest и читать свои собственные бронирования.
- Продавцы могут управлять своими записями CrewListing.
- Операторы могут создавать записи CrewAssignment и обновлять статус BookingRequest.
- Записи CrewReview должны создаваться только после завершенного бронирования.

Поведение:
- Искать группы по почасовому тарифу, размеру группы, возможности тяжелой работы и зоне обслуживания.
- Создавать запросы на бронирование с датой перемещения и необходимыми часами.
- Назначать группы и фиксировать размер группы.
- Собирать постработу оценки и отзывы о безопасности.

Доставка:
- Приложение Back4app с схемой, ACL, CLP и пользовательскими потоками для покупателей, продавцов и операторов, включая поиск CrewListing, прием BookingRequest, отслеживание CrewAssignment и захват CrewReview.

Нажмите кнопку ниже, чтобы открыть Агент с заранее заполненным шаблоном запроса.

Это базовый запрос без суффикса технологии. Вы сможете адаптировать созданный стек фронтенда позже.

Развернуть за минуты50 бесплатных запросов / месяцКредитная карта не требуется

API Песочница

Попробуйте REST и GraphQL конечные точки против схемы рынка труда на основе временных работников. Ответы используют имитационные данные и не требуют учетной записи Back4app.

Загрузка рабочего пространства…

Использует ту же схему, что и этот шаблон.

Выберите свой стек

Разверните каждую карточку, чтобы увидеть, как интегрировать CrewListing, BookingRequest и CrewAssignment с вашим выбранным стеком.

Flutter Рынок услуг по перемещению

React Рынок услуг по перемещению

React Native Рынок услуг по перемещению

Next.js Рынок услуг по перемещению

JavaScript Рынок услуг по перемещению

Android Рынок услуг по перемещению

iOS Рынок услуг по перемещению

Vue Рынок услуг по перемещению

Angular Рынок услуг по перемещению

GraphQL Рынок услуг по перемещению

REST API Рынок услуг по перемещению

PHP Рынок услуг по перемещению

.NET Рынок услуг по перемещению

Что вы получаете с каждой технологией

Каждый стек использует одну и ту же схему и API-контракты для движимого труда.

Единая структура данных движимого труда

Легко управляйте User, CrewListing, BookingRequest, CrewAssignment и CrewReview с помощью единой схемы.

Сопоставление экипажа по ставке и размеру

Сравните строки CrewListing и назначьте правильный размер экипажа для каждого запроса на перемещение.

Отслеживание возможностей тяжелых грузоподъемников

Сохраняйте heavyLiftingCapability и equipmentNotes, прикрепленные к каждому списку экипажа.

Настраиваемые рабочие процессы операторов

Определите уровни доступа и разрешения, адаптированные к покупателям, продавцам и операторам.

Сравнение рамок рынка движимого труда

Сравните скорость настройки, стиль SDK и поддержку ИИ среди всех поддерживаемых технологий.

СтруктураВремя настройкиПреимущества рынка трудозатратТип SDKПоддержка ИИ
Около 5 минутЕдиная кодовая база для диспетчеризации грузчиков на мобильных и веб-платформах.Типизированный SDKПолный
Менее 5 минутБыстрая веб-панель для списков команд и бронирований.Типизированный 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Полный

Время настройки отражает ожидаемую продолжительность от начала проекта до первого запроса CrewListing или BookingRequest с использованием этой схемы шаблона.

Центр помощи

Распространенные вопросы о создании бэкенда рынка рабочей силы для перемещения с помощью этого шаблона.

Что должны внедрить операторы рынка рабочей силы для переездов в первую очередь при расширении на вторую локацию?
Как моделировать резервации, конфликты и депозиты на рынке рабочей силы для переездов в одной согласованной графе?
Как выглядит миграция, когда сложность каталога рынка рабочей силы для переездов резко увеличивается сезон за сезоном?
Как мне выполнять запросы для команд и бронирований с помощью Flutter?
Как мне управлять доступом к рынку рабочей силы для переездов с помощью Next.js Server Actions?
Может ли React Native кэшировать списки команды и запросы на перемещение в оффлайне?
Как предотвратить несанкционированные изменения в назначении команды?
Как лучше всего показать команды и назначения на Android?
Как работает поток рабочей силы для перемещения от начала до конца?

Доверяют разработчики по всему миру

Присоединяйтесь к командам, которые быстрее поставляют продукты на рынок перемещения труда с помощью шаблонов Back4app

G2 Users Love Us Badge

Готовы создать свой рынок перемещения труда?

Начните свой проект по перемещению труда за считанные минуты. Кредитная карта не требуется.

Выберите технологию