이사 노동 시장 백엔드 템플릿
크루 검색, 예약 접수, 할당 및 검토
생산 준비가 완료된 이사 노동 시장 백엔드가 Back4app에 있습니다: 크루 목록 검색, 예약 요청 접수, 크루 할당 로그 및 크루 검토 기록이 포함되어 있습니다. ER 다이어그램, 데이터 사전, JSON 스키마, API 샌드박스 및 빠른 부팅을 위한 AI 에이전트 프롬프트가 포함됩니다.
주요 요점
이 템플릿은 이사 노동 마켓플레이스 백엔드를 제공하며, 크루 리스팅 검색(CrewListing search), 예약 요청 접수(BookingRequest intake), 크루 배정 추적(CrewAssignment tracking) 기능이 있어 운영자들이 수요에 맞춰 사용 가능한 크루들을 더 빠르게 매칭할 수 있습니다.
- 크루 리스팅 검색 — 시간당 요금(hourlyRate), 크루 규모(crewSize), 중량 운반 능력(heavyLiftingCapability), 서비스 지역(serviceArea), 장비 노트(equipmentNotes), 및 가용성 상태(availabilityStatus)를 사용하여 크루 리스팅을 모델링하여 구매자가 예약하기 전에 크루를 비교할 수 있도록 합니다.
- 예약 요청 접수 — 작업 제목(jobTitle), 이동 날짜(moveDate), 시작 시간(startTime), 필요한 시간(hoursNeeded), 픽업 우편번호(pickupZip), 드롭오프 우편번호(dropoffZip), 중량 품목(heavyItems)과 함께 예약 요청을 저장하여 이사 세부정보를 기록합니다.
- 크루 배정 로그 — 각 배정된 작업에 대해 예약 요청(bookingRequest), 크루 리스팅(crewListing), 배정자(assignedBy), 기록된 크루 규모(crewSizeLogged), 도착 상태(arrivalStatus)를 연동하여 크루 배정을 유지합니다.
- 크루 리뷰 이력 — 완료된 예약 요청 기록 후 결과를 추적하기 위해 크루 리뷰를 사용하여 평가, 댓글 및 안전 플래그를 씁니다.
이동 노동 시장 백엔드 이해
이동 노동 시장에서는 운영적인 진실이 일정입니다. 일정이 잘못되면 모든 후속 약속도 잘못됩니다. 신뢰성은 주석이 아닌 기능입니다. Back4app에서 핵심 엔티티를 모델링하여 이동 노동 시장 팀에게 단일 구역에서 다수의 운영으로 성장할 수 있는 백엔드를 제공합니다. 스키마는 사용자, 크루 목록, 예약 요청, 크루 할당 및 인증 및 시장 작업 흐름 기능이 내장된 크루 리뷰를 포함합니다. 원하는 프론트엔드를 연결하고 더 빠르게 배송하십시오.
최고의 용도:
이동 노동 거래 시장 백엔드 개요
고객은 귀사의 내부 도구에 대해 신경 쓰지 않습니다. 그들은 이동 노동 거래 시장 약속이 제때, 올바른 자산과 올바른 서류와 함께 나타나는지에 관심이 있습니다.
이 요약은 팀들이 ER 다이어그램이나 JSON 내보내기 전에 사용자 계정 및 역할, 승무원 목록 거래 시장 프로필, 예약 요청 처리를 중심으로 정리합니다.
핵심 이동 노동 마켓플레이스 기능
이 허브의 모든 기술 카드에서는 User, CrewListing, BookingRequest, CrewAssignment 및 CrewReview와 동일한 이동 인력 백엔드 스키마를 사용합니다.
사용자 계정 및 역할
사용자는 사용자 이름, 이메일, 역할, 표시 이름, 전화번호 및 서비스 지역을 저장합니다.
CrewListing 마켓플레이스 프로필
CrewListing은 제목, 시간당 요금, 크루 규모, 중량물 반송 능력, 서비스 지역 및 가용성 상태를 저장합니다.
BookingRequest 접수
BookingRequest는 직무 제목, 이동 날짜, 시작 시간, 필요한 시간, 픽업 우편번호, 배송 우편번호, 및 중량 품목을 캡처합니다.
승무원 배정 추적
CrewAssignment는 bookingRequest, crewListing, assignedBy, crewSizeLogged 및 arrivalStatus를 연결합니다.
CrewReview 피드백
CrewReview는 bookingRequest, reviewer, crewListing, rating, comment 및 safetyFlag를 저장합니다.
왜 Back4app로 이동 노동 거래 시장 백엔드를 구축해야 할까요?
Back4app는 사용자, BookingRequest 및 CrewListing 기본 요소를 제공하여 귀하의 팀이 인프라 설정 대신 승무원과 이동 작업을 일치시키는 데 집중할 수 있도록 합니다.
- •크루 목록 및 예약 관리: User, CrewListing, 및 BookingRequest 클래스는 로그인 아이디, serviceArea, moveDate, pickupZip, 및 dropoffZip을 한 곳에 저장합니다.
- •할당 및 검토 흐름 제어: CrewAssignment 및 CrewReview 기록은 dispatch 후 crewSizeLogged, arrivalStatus, rating, 및 safetyFlag를 볼 수 있도록 만듭니다.
- •실시간 + API 유연성: 예약 요청 업데이트를 위해 Live Queries를 사용하면서 REST와 GraphQL는 배차 대시보드에 계속 사용할 수 있습니다.
모든 플랫폼에서 하나의 백엔드 계약으로 이동 노동 기능을 빠르게 구축하고 반복합니다.
핵심 이점
리드에서 크루 할당까지 데이터를 다시 작성하지 않고 이동할 수 있도록 돕는 이동 노동 백엔드입니다.
더 빠른 예약 수집
새 이동 양식을 발명하는 대신 moveDate, startTime, hoursNeeded, pickupZip 및 dropoffZip으로 BookingRequest에서 시작하세요.
명확한 크루 능력 검사
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 에이전트 프롬프트, 신용 카드 없이 사용 가능
이사 노동 기술 스택
이 이사 노동 마켓플레이스 백엔드 템플릿에 모든 것이 포함되어 있습니다.
마켓플레이스 클래스 다이어그램
이동 노동 마켓플레이스 백엔드 스키마에 대한 엔터티 관계 모델.
사용자, 크루 목록, 예약 요청, 크루 배정 및 크루 리뷰를 포함하는 스키마.
다이어그램 소스 보기
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 전략이 사용자, 팀리스트, 예약요청, 팀배정 및 팀리뷰를 어떻게 보호하는지.
사용자 프로필 제어
계정 소유자 또는 운영자만 사용자 이름, 역할, 표시 이름, 전화번호 및 서비스 지역을 업데이트할 수 있습니다.
예약 무결성
구매자 또는 파견인만이 BookingRequest 및 CrewAssignment 행을 생성, 편집 또는 취소할 수 있습니다.
범위가 지정된 검토 가시성
CrewReview 읽기를 일치하는 BookingRequest 참가자와 승인된 운영자에게 제한합니다.
JSON 스키마
복사할 준비가 된 원시 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에서 안전한 이동 노동 마켓플레이스 앱 백엔드를 만듭니다. 스키마: 1. 사용자: 사용자 이름 (문자열, 필수), 이메일 (문자열, 필수), 비밀번호 (문자열, 필수), 역할 (문자열, 필수), 표시 이름 (문자열, 필수), 전화번호 (문자열, 선택적), 서비스 지역 (문자열, 선택적); objectId, createdAt, updatedAt (시스템). 2. 크루 리스트: 제목 (문자열, 필수), 시간당 요금 (숫자, 필수), 크루 크기 (숫자, 필수), 중량 운반 능력 (부울, 필수), 서비스 지역 (문자열, 필수), 장비 노트 (문자열, 선택적), 가용성 상태 (문자열, 필수), 소유자 (사용자에 대한 포인터, 필수); objectId, createdAt, updatedAt (시스템). 3. 예약 요청: 작업 제목 (문자열, 필수), 이동 날짜 (날짜, 필수), 시작 시간 (문자열, 필수), 필요한 시간 (숫자, 필수), 픽업 우편번호 (문자열, 필수), 하차 우편번호 (문자열, 필수), 중량 물품 (부울, 필수), 상태 (문자열, 필수), 구매자 (사용자에 대한 포인터, 필수), 선호하는 크루 (크루 리스트에 대한 포인터, 선택적); objectId, createdAt, updatedAt (시스템). 4. 크루 배정: 예약 요청 (예약 요청에 대한 포인터, 필수), 크루 리스트 (크루 리스트에 대한 포인터, 필수), 배정자 (사용자에 대한 포인터, 필수), 기록된 크루 크기 (숫자, 필수), 도착 상태 (문자열, 필수), 시작 시간 (날짜, 선택적), 완료 시간 (날짜, 선택적); objectId, createdAt, updatedAt (시스템). 5. 크루 리뷰: 예약 요청 (예약 요청에 대한 포인터, 필수), 리뷰어 (사용자에 대한 포인터, 필수), 크루 리스트 (크루 리스트에 대한 포인터, 필수), 평점 (숫자, 필수), 댓글 (문자열, 선택적), 안전 플래그 (부울, 선택적); objectId, createdAt, updatedAt (시스템). 보안: - 구매자는 예약 요청 기록을 생성하고 자신의 예약을 읽을 수 있습니다. - 판매자는 자신의 크루 리스트 기록을 관리할 수 있습니다. - 운영자는 크루 배정 기록을 생성하고 예약 요청 상태를 업데이트할 수 있습니다. - 크루 리뷰 기록은 완료된 예약 후에만 생성해야 합니다. 동작: - 시간당 요금, 크루 크기, 중량 운반 능력 및 서비스 지역으로 크루를 검색합니다. - 이동 날짜와 필요한 시간으로 예약 요청을 생성합니다. - 크루를 배정하고 기록된 크루 크기를 기록합니다. - 작업 후 평가 및 안전 피드백을 수집합니다. 전달: - 구매자, 판매자 및 운영자를 위한 스키마, ACL, CLP 및 UI 흐름을 포함하여 Back4app 앱, 크루 리스트 검색, 예약 요청 접수, 크루 배정 추적 및 크루 리뷰 캡처.
아래 버튼을 눌러 이 템플릿 프롬프트가 미리 채워진 에이전트를 엽니다.
이것은 기술 접미사가 없는 기본 프롬프트입니다. 생성된 프론트엔드 스택을 나중에 조정할 수 있습니다.
API 샌드박스
이동 노동 시장 스키마에 대해 REST 및 GraphQL 엔드포인트를 시도하세요. 응답은 모의 데이터를 사용하며 Back4app 계정이 필요하지 않습니다.
이 템플릿과 동일한 스키마를 사용합니다.
스택 선택하기
각 카드를 확장하여 선택한 스택과 CrewListing, BookingRequest 및 CrewAssignment를 통합하는 방법을 확인하세요.
Flutter 이동 노동 시장 백엔드
React 이동 노동 시장 백엔드
React 네이티브 이동 노동 시장 백엔드
Next.js 이동 노동 시장 백엔드
JavaScript 이동 노동 시장 백엔드
Android 이동 노동 시장 백엔드
iOS 이동 노동 시장 백엔드
Vue 이동 노동 시장 백엔드
Angular 이동 노동 시장 백엔드
GraphQL 이동 노동 시장 백엔드
REST API 이동 노동 시장 백엔드
PHP 이동 노동 시장 백엔드
.NET 이동 노동 시장 백엔드
모든 기술에서 얻는 것
모든 스택은 동일한 이사 노동 백엔드 스키마 및 API 계약을 사용합니다.
통합된 이사 노동 데이터 구조
일관된 스키마로 User, CrewListing, BookingRequest, CrewAssignment 및 CrewReview를 쉽게 관리하세요.
요금 및 크기에 따른 승무원 매칭
이사 요청마다 적절한 승무원 크기를 할당하기 위해 CrewListing 행을 비교하세요.
중량물 운반 능력 추적
각 승무원 목록에 중량물 운반 능력과 장비 노트를 첨부하세요.
사용자 정의 가능한 운영자 워크플로우
구매자, 판매자 및 운영자에 맞춘 접근 수준 및 권한 정의.
이사 노동 마켓플레이스 프레임워크 매치업
지원되는 모든 기술 간의 설정 속도, SDK 스타일 및 AI 지원을 비교하세요.
| 프레임워크 | 설정 시간 | 이동 노동 시장의 이점 | SDK 유형 | AI 지원 |
|---|---|---|---|---|
| 약 5분 | 모바일 및 웹에서 이사 파견을 위한 단일 코드베이스입니다. | 타입된 SDK | 전체 | |
| 5분 미만 | 크루 목록 및 예약을 위한 빠른 웹 대시보드입니다. | 타입된 SDK | 전체 | |
| ~3–7분 | 이사 배차를 위한 크로스 플랫폼 모바일 앱. | 타입된 SDK | 전체 | |
| 빠른(5분) 설정 | 이사 노동 작업을 위한 서버 렌더링 웹 앱. | 타입된 SDK | 전체 | |
| ~3–5분 | 노동 매칭을 위한 경량 웹 통합. | 타입된 SDK | 전체 | |
| 약 5분 | 이사 및 배차자를 위한 네이티브 Android 앱입니다. | 입력된 SDK | 전체 | |
| 5분 미만 | 이사 조정을 위한 네이티브 iOS 앱입니다. | 입력된 SDK | 전체 | |
| 약 3–7분 | 노동 시장 운영을 위한 React 웹 UI입니다. | 입력된 SDK | 전체 | |
| 신속한 (5분) 설정 | 디스패처 워크플로우를 위한 엔터프라이즈 웹 앱입니다. | 입력된 SDK | 전체 | |
| 2분 이내 | 노동 매칭을 위한 유연한 GraphQL API. | GraphQL API | 전체 | |
| 빠른 (2분) 설정 | 노동 시스템 전환을 위한 REST API 통합. | REST API | 전체 | |
| 약 3분 | 노동 배치를 위한 서버측 PHP 백엔드. | REST API | 전체 | |
| ~3–7 분 | .NET 백엔드로 이사 노동 운영을 관리하세요. | 입력된 SDK | 전체 |
설정 시간은 프로젝트 부트스트랩부터 첫 번째 CrewListing 또는 BookingRequest 쿼리까지의 예상 기간을 반영합니다.
도움 센터
이 템플릿을 사용하여 이동 노동 마켓플레이스 백엔드를 구축하는 것에 대한 일반적인 질문들.