移動作業市場バックエンドテンプレート
クルー検索、ブッキング受付、割り当て、レビュー
プロダクション準備完了の 移動作業市場バックエンド が Back4app にあります。CrewListing検索、BookingRequest受付、CrewAssignmentログ、CrewReview記録を含みます。ER図、データ辞書、JSONスキーマ、APIサンドボックス、迅速なブートストラップ用のAIエージェントプロンプトが含まれています。
主なポイント
このテンプレートは、CrewListing検索、BookingRequest受け入れ、CrewAssignment追跡を備えた移動労働マーケットプレイスのバックエンドを提供し、オペレーターが需要と利用可能なクルーをより迅速にマッチングできるようにします。
- CrewListing検索 — 時間単価、クルーサイズ、重い物の持ち上げ能力、サービスエリア、機器メモ、可用性ステータスを用いてCrewListingモデルを作成し、購入者が予約前にクルーを比較できるようにします。
- BookingRequest受け入れ — 求人タイトル、移動日、開始時刻、必要な時間、ピックアップ郵便番号、配送郵便番号、重いアイテムを含むBookingRequestを保存し、移動の詳細を把握します。
- CrewAssignmentログ — 各派遣された仕事のために、CrewAssignmentをbookingRequest、crewListing、assignedBy、クルーサイズログ、到着ステータスに結びつけておきます。
- CrewReviewの履歴 — CrewReviewを使用して、評価、コメント、安全フラグを用いて、完了したBookingRequestレコードの結果を追跡します。
移動労働マーケットプレースバックエンドの理解
移動労働マーケットプレースにおいて、運用上の真実はスケジュールです — カレンダーが間違っていると、すべての下流の約束も間違っています。信頼性は特徴であり、脚注ではありません。Back4appのコアエンティティをモデル化して、移動労働マーケットプレースチームに単一のヤードから複数のサイトオペレーションに成長できるバックエンドを提供します。このスキーマは、認証およびマーケットプレースワークフローフィーチャーを備えたUser、CrewListing、BookingRequest、CrewAssignment、CrewReviewをカバーしています。好みのフロントエンドを接続して、迅速に出荷します。
目的に最適:
移動労働市場のバックエンド概要
顧客はあなたの内部ツールを気にしません。彼らは、移動労働市場の約束が時間通りに、適切な資産と適切な書類と共に届くかどうかを気にします。
この概要は、誰もがERダイアグラムやJSONエクスポートに飛び込む前に、ユーザーアカウントと役割、クルーリストマーケットプレイスのプロフィール、ブッキングリクエストの取り込みに関してチームを指導します。
コア移動労働マーケットプレイス機能
このハブのすべてのテクノロジーカードは、User、CrewListing、BookingRequest、CrewAssignment、CrewReviewを使用して同じ移動作業バックエンドスキーマを利用しています。
ユーザーアカウントと役割
ユーザーはユーザー名、メールアドレス、役割、表示名、電話番号、およびサービスエリアを保存します。
クルーリスティングのマーケットプレプロフィール
クルーリスティングはタイトル、時給、クルーサイズ、重い物の運搬能力、サービスエリア、および可用ステータスを保存します。
予約リクエストの受け入れ
予約リクエストには職種、移動日、開始時刻、必要時間、ピックアップの郵便番号、ドロップオフの郵便番号、および重いアイテムが記録されます。
クルー割り当ての追跡
クルー割り当ては、bookingRequest、crewListing、assignedBy、crewSizeLogged、およびarrivalStatusをリンクします。
クルー評価フィードバック
クルー評価は、bookingRequest、reviewer、crewListing、rating、comment、およびsafetyFlagを保存します。
なぜBack4appで移動労働市場のバックエンドを構築するのか?
Back4appは、あなたのチームがインフラを配線するのではなく、クルーをマッチングし、移動作業に集中できるように、ユーザー、ブッキングリクエスト、およびクルーリストのプリミティブを提供します。
- •クルーリストと予約管理: User、CrewListing、BookingRequestクラスは、ログインID、serviceArea、moveDate、pickupZip、dropoffZipを1か所に保持します。
- •割り当てとレビューのフロー管理: CrewAssignmentとCrewReviewのレコードは、dispatch後にcrewSizeLogged、arrivalStatus、rating、safetyFlagを可視化します。
- •リアルタイム + APIの柔軟性: 予約リクエストの更新にはLive Queriesを使用し、同時にdispatchダッシュボードのためにRESTとGraphQLを利用可能にします。
すべてのプラットフォームで1つのバックエンド契約により、移動労働機能を迅速に構築および反復します。
コアの利点
データレイヤーを再構築することなくリードからクルーアサインメントへの移行を助ける動く労働バックエンド。
より速い予約受付
新しい移動フォームを考案するのではなく、moveDate、startTime、hoursNeeded、pickupZip、およびdropoffZipを使用してBookingRequestから始める。
明確なクルー能力チェック
CrewListingを使用してheavyLiftingCapability、crewSize、およびequipmentNotesを表示し、出発前に階段の運搬、ドーリー、およびストラップを確認できるようにする。
監査可能なクルーアサインメント
CrewAssignmentは、予約リクエスト、クルーリスト、割り当て者、記録されたクルーサイズ、および到着状況をジョブが確認されたときに表示します。
オペレーターと作業者のためのスコープアクセス
ACL/CLPを使用して、適切なユーザーだけがUser、CrewListing、BookingRequest、およびCrewAssignmentの行を編集できるようにします。
労働とレビューの履歴
スキーマを壊すことなく、BookingRequest ステータスの変更、CrewAssignment タイムスタンプ、および CrewReview 評価を保存します。
AI ブートストラップワークフロー
1 つの構造化されたプロンプトで、バックエンドスキャフォールディングと統合ガイダンスを迅速に生成します。
移動労働マーケットプレイスを立ち上げる準備はできましたか?
Back4app AI エージェントに、移動労働のバックエンドをスキャフォールディングし、CrewListing、BookingRequest、CrewAssignment、CrewReview のフローを 1 つのプロンプトから生成させましょう。
開始は無料 - 月に 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スキーマ
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エージェントで構築
このテンプレートからフロントエンド、バックエンド、認証、CrewListing、BookingRequest、CrewAssignment、およびCrewReviewのフローを含む実際の動的労働市場アプリを生成するためにBack4app AIエージェントを使用します。
この正確なスキーマと動作を使用して、Back4app 上に安全な移動作業マーケットプレイスアプリのバックエンドを作成します。 スキーマ: 1. ユーザー: ユーザー名 (文字列, 必須), メール (文字列, 必須), パスワード (文字列, 必須), ロール (文字列, 必須), 表示名 (文字列, 必須), 電話番号 (文字列, オプション), サービスエリア (文字列, オプション); objectId, createdAt, updatedAt (システム). 2. クルーリスティング: タイトル (文字列, 必須), 時間単価 (数値, 必須), クルーサイズ (数値, 必須), 重量物持ち上げ能力 (真偽値, 必須), サービスエリア (文字列, 必須), 機材ノート (文字列, オプション), 利用状況 (文字列, 必須), オーナー (ユーザーへのポインタ, 必須); objectId, createdAt, updatedAt (システム). 3. 予約リクエスト: 職務名 (文字列, 必須), 移動日 (日付, 必須), 開始時間 (文字列, 必須), 必要時間 (数値, 必須), ピックアップZIP (文字列, 必須), ドロップオフZIP (文字列, 必須), 重量物 (真偽値, 必須), ステータス (文字列, 必須), バイヤー (ユーザーへのポインタ, 必須), 希望するクルー (クルーリスティングへのポインタ, オプション); objectId, createdAt, updatedAt (システム). 4. クルー割り当て: 予約リクエスト (予約リクエストへのポインタ, 必須), クルーリスティング (クルーリスティングへのポインタ, 必須), 割り当てたユーザー (ユーザーへのポインタ, 必須), 登録クルーサイズ (数値, 必須), 到着状況 (文字列, 必須), 開始時刻 (日付, オプション), 終了時刻 (日付, オプション); objectId, createdAt, updatedAt (システム). 5. クルーレビュー: 予約リクエスト (予約リクエストへのポインタ, 必須), レビュアー (ユーザーへのポインタ, 必須), クルーリスティング (クルーリスティングへのポインタ, 必須), 評価 (数値, 必須), コメント (文字列, オプション), 安全対策フラグ (真偽値, オプション); objectId, createdAt, updatedAt (システム). セキュリティ: - バイヤーは予約リクエストレコードを作成し、自分の予約を読むことができます。 - 売り手は自分のクルーリスティングレコードを管理できます。 - オペレーターはクルー割り当てレコードを作成し、予約リクエストのステータスを更新できます。 - クルーレコードは完了した予約後にのみ作成する必要があります。 動作: - 時間単価、クルーサイズ、重量物持ち上げ能力、サービスエリアでクルーを検索します。 - 移動日と必要時間を指定した予約リクエストを作成します。 - クルーを割り当て、登録クルーサイズをログします。 - 仕事後の評価と安全フィードバックを収集します。 提供: - Back4app アプリ、スキーマ、ACL、CLP、バイヤー、売り手、オペレーター用のUIフローを含む、クルーリスティング検索、予約リクエストの受け入れ、クルー割り当ての追跡、クルーレビューのキャプチャを行います。
下のボタンを押して、このテンプレートのプロンプトが事前に記入されたエージェントを開いてください。
これはテクノロジーサフィックスなしの基本プロンプトです。生成されたフロントエンドスタックはその後に適応できます。
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 を簡単に管理できます。
レートとサイズによるクルーのマッチング
クルーリストの行を比較し、各移動リクエストに適切なクルーサイズを割り当てます。
重い荷物の運搬能力追跡
各クルーリストにheavyLiftingCapabilityとequipmentNotesを添付してください。
カスタマイズ可能なオペレーターのワークフロー
バイヤー、売り手、オペレーター向けに調整されたアクセスレベルと権限を定義します。
移動労働マーケットプレイスフレームワークの比較
すべてのサポートされている技術におけるセットアップ速度、SDKスタイル、およびAIサポートを比較します。
| フレームワーク | セットアップ時間 | 移動労働マーケットプレイスの利点 | SDKタイプ | AIサポート |
|---|---|---|---|---|
| 約5分 | モバイルとウェブ用の移動業者派遣のための単一のコードベース。 | 型安全SDK | フル | |
| 5分未満 | クルーのリストと予約のための高速ウェブダッシュボード。 | 型安全SDK | フル | |
| ~3〜7分 | 移動業者 dispatch のためのクロスプラットフォームモバイルアプリ。 | 型付きSDK | フル | |
| 迅速(5分)設定 | 移動労働作業のためのサーバーレンダリングウェブアプリ。 | 型付きSDK | フル | |
| ~3〜5分 | 労働マッチングのための軽量ウェブ統合。 | 型付きSDK | フル | |
| 約5分 | 引越し業者と配達員のためのネイティブAndroidアプリ。 | タイプされたSDK | フル | |
| 5分未満 | 引越し業者調整のためのネイティブiOSアプリ。 | タイプされたSDK | フル | |
| 約3〜7分 | 労働市場オペレーションのためのReact的なウェブUI。 | タイプされたSDK | フル | |
| 急速(5分)セットアップ | ディスパッチワークフローのためのエンタープライズWebアプリ。 | タイプされたSDK | フル | |
| 2分未満 | 労働マッチングのための柔軟なGraphQL API。 | GraphQL API | フル | |
| 迅速な(2分)セットアップ | 労働システムを移動するためのREST API統合。 | REST API | フル | |
| 約3分 | 労働派遣のためのサーバーサイドPHPバックエンド。 | REST API | フル | |
| ~3〜7分 | .NETは移動労働操作のためのバックエンドです。 | タイプされたSDK | フル |
セットアップ時間は、このテンプレートスキーマを使用したプロジェクトのブートストラップから最初のCrewListingまたはBookingRequestクエリまでの予想される期間を反映しています。
ヘルプセンター
このテンプレートを使用して移動労働マーケットプレイスのバックエンドを構築する際の一般的な質問。