Шаблон бэкэнда рынка услуг по搬家
Поиск экипажа, прием бронирования, назначение и отзыв
Готовый к производству бэкэнд рынка услуг по搬家 на Back4app с поиском CrewListing, приемом BookingRequest, журналами CrewAssignment и записями CrewReview. Включает диаграмму ER, словарь данных, схему JSON, песочницу API и AI Agent для быстрого развертывания.
Ключевые выводы
Этот шаблон предоставляет вам бэкенд рынка труда для переезда с поиском CrewListing, приемом BookingRequest и отслеживанием CrewAssignment, чтобы операторы могли быстрее сопоставлять спрос с доступными командами.
- Поиск CrewListing — Моделируйте CrewListing с hourlyRate, crewSize, heavyLiftingCapability, serviceArea, equipmentNotes и availabilityStatus, чтобы покупатели могли сравнивать команды перед бронированием.
- Прием BookingRequest — Храните BookingRequest с jobTitle, moveDate, startTime, hoursNeeded, pickupZip, dropoffZip и heavyItems, чтобы зафиксировать детали переезда.
- Журналы CrewAssignment — Держите CrewAssignment связанным с bookingRequest, crewListing, assignedBy, crewSizeLogged и arrivalStatus для каждой выданной работы.
- История CrewReview — Используйте CrewReview с оценкой, комментарием и safetyFlag для отслеживания результатов после завершенных записей BookingRequest.
Понимание бэкенда рынка рабочей силы по перемещению
На рынке рабочей силы по перемещению операционная правда — это расписание — если календарь неверен, каждое последующее обещание тоже неверно. Надежность — это функция, а не сноска. Моделируйте основные сущности на Back4app, чтобы предоставить командам рынка рабочей силы по перемещению бэкенд, который может расти от одного двора до многосайтовых операций. Схема охватывает User, CrewListing, BookingRequest, CrewAssignment и CrewReview с встроенными функциями авторизации и рабочими процессами рынка. Подключите ваш предпочтительный фронтенд и отправляйте быстрее.
Лучшее для:
Обзор бэкенда рынка труда по переездам
Клиенты не заботятся о ваших внутренних инструментах; им важно, чтобы обещания рынка труда по переездам выполнялись вовремя, с правильными активами и соответствующей документацией.
Этот обзор ориентирует команды вокруг учетных записей пользователей и ролей, профилей на рынке списков экипажей, поступления запросов на бронирование, прежде чем кто-то углубится в диаграммы 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 в месяц, без необходимости в кредитной карте
Технологический стек для перемещения труда
Всё включено в этот шаблон бэкенда рынка услуг по перемещению.
Диаграмма классов Marketplace
Модель взаимосвязей сущностей для схемы бэкенда рынка услуг по перемещению.
Схема, охватывающая пользователей, списки экипажей, запросы на бронирование, назначения экипажа и отзывы о экипаже.
Посмотреть источник диаграммы
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
}
Последовательность рабочего процесса бронирования
Типичный рабочий поток для входа, поиска СпискаЭкипажей, создания ЗапросаБронирования, ведения учета НазначенийЭкипажа и обновлений ОтзывовЭкипажа.
Посмотреть источник диаграммы
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Словарь полей
Полная ссылка на уровень полей для каждого класса в схеме рынка рабочей силы.
| Поле | Тип | Описание | Обязательно |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Авто |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role of the user (buyer, seller, operator) | |
| displayName | String | Public name shown in the marketplace | |
| phoneNumber | String | Contact phone number | — |
| serviceArea | String | Primary metro area or region served | — |
| createdAt | Date | Auto-generated creation timestamp | Авто |
| updatedAt | Date | Auto-generated last-update timestamp | Авто |
10 поля в User
Правила доступа для пользователей, команд и бронирований
Как стратегия ACL и CLP защищает User, CrewListing, BookingRequest, CrewAssignment и CrewReview.
Элементы управления профилем пользователя
Только владелец аккаунта или оператор может обновлять имя пользователя, роль, отображаемое имя, номер телефона и зону обслуживания.
Чистота бронирования
Только покупатель или диспетчер могут создавать, редактировать или отменять строки BookingRequest и CrewAssignment.
Объем видимости обзора
Ограничить чтение CrewReview участниками соответствующего BookingRequest и утверждёнными операторами.
JSON-схема
Сырая определение JSON-схемы готова к копированию в Back4app или для использования в качестве справочного материала по реализации.
{
"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.
Создайте безопасное приложение для рынка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.
Нажмите кнопку ниже, чтобы открыть Агент с заранее заполненным шаблоном запроса.
Это базовый запрос без суффикса технологии. Вы сможете адаптировать созданный стек фронтенда позже.
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 с использованием этой схемы шаблона.
Центр помощи
Распространенные вопросы о создании бэкенда рынка рабочей силы для перемещения с помощью этого шаблона.
Готовы создать свой рынок перемещения труда?
Начните свой проект по перемещению труда за считанные минуты. Кредитная карта не требуется.