Modèle Backend du marché de travail de déménagement
Recherche d'équipage, Intake de réservation, Assignation et Révision
Un backend de marché de travail de déménagement prêt pour la production sur Back4app avec recherche CrewListing, intake de BookingRequest, journaux CrewAssignment et dossiers CrewReview. Inclut le diagramme ER, le dictionnaire de données, le schéma JSON, la sandbox API, et un prompt Agent IA pour un démarrage rapide.
Principaux enseignements
Ce modèle vous offre un backend de marketplace de main-d'œuvre en mouvement avec une recherche CrewListing, une réception de BookingRequest, et un suivi de CrewAssignment afin que les opérateurs puissent faire correspondre la demande aux équipes disponibles plus rapidement.
- Recherche CrewListing — Modèle CrewListing avec hourlyRate, crewSize, heavyLiftingCapability, serviceArea, equipmentNotes, et availabilityStatus pour que les acheteurs puissent comparer les équipes avant de réserver.
- Réception de BookingRequest — Stockez BookingRequest avec jobTitle, moveDate, startTime, hoursNeeded, pickupZip, dropoffZip, et heavyItems pour capturer les détails du déménagement.
- Journal CrewAssignment — Gardez CrewAssignment lié à bookingRequest, crewListing, assignedBy, crewSizeLogged, et arrivalStatus pour chaque job dispatché.
- Historique de CrewReview — Utilisez CrewReview avec l'évaluation, le commentaire et le safetyFlag pour suivre les résultats après l'enregistrement des BookingRequest terminés.
Comprendre l'arrière-plan du marché de travail de déménagement
Dans le marché de travail de déménagement, la vérité opérationnelle est le calendrier - si le calendrier est erroné, chaque promesse en aval est également erronée. La fiabilité est une fonctionnalité, pas une note de bas de page. Modélisez les entités principales sur Back4app pour donner aux équipes du marché de travail de déménagement un backend qui peut évoluer d'une seule cour à des opérations multi-sites. Le schéma couvre User, CrewListing, BookingRequest, CrewAssignment et CrewReview avec des fonctionnalités d'authentification et de flux de travail de marché intégrées. Connectez votre frontend préféré et expédiez plus rapidement.
Meilleur pour :
Aperçu du backend du marché de main-d'œuvre de déménagement
Les clients ne se soucient pas de vos outils internes ; ils se soucient de savoir si les promesses du marché de main-d'œuvre de déménagement arrivent à temps, avec les bons actifs et les bonnes paperasses.
Ce résumé oriente les équipes autour des comptes utilisateurs et des rôles, des profils de marché de listing d'équipe, de la réception des demandes de réservation avant que quiconque ne plonge dans des diagrammes ER ou des exportations JSON.
Fonctionnalités principales du marché de la main-d'œuvre de déménagement
Chaque carte de technologie dans ce hub utilise le même schéma de backend de main-d'œuvre en mouvement avec User, CrewListing, BookingRequest, CrewAssignment, et CrewReview.
Comptes utilisateurs et rôles
L'utilisateur stocke le nom d'utilisateur, l'e-mail, le rôle, le nom affiché, le numéro de téléphone et la zone de service.
Profils de marché CrewListing
CrewListing stocke le titre, le taux horaire, la taille de l'équipe, la capacité de levage lourd, la zone de service et l'état de disponibilité.
Intake de BookingRequest
BookingRequest capture le titre de poste, la date de déménagement, l'heure de début, le nombre d'heures nécessaires, le code postal de ramassage, le code postal de dépôt et les articles lourds.
Suivi des affectations d'équipage
L'affectation de l'équipage lie bookingRequest, crewListing, assignedBy, crewSizeLogged, et arrivalStatus.
Retour d'expérience sur l'équipage
La révision de l'équipage stocke bookingRequest, reviewer, crewListing, rating, comment, et safetyFlag.
Pourquoi construire votre backend de marché de main-d'œuvre de déménagement avec Back4app ?
Back4app vous fournit des primitives Utilisateur, DemandeDeRéservation et CrewListing afin que votre équipe puisse se concentrer sur l'appariement des équipes et des emplois de déménagement au lieu de câbler l'infrastructure.
- •Gestion de l'affichage et de la réservation de l'équipage: Les classes User, CrewListing et BookingRequest conservent l'identité de connexion, serviceArea, moveDate, pickupZip et dropoffZip au même endroit.
- •Contrôle du flux d'affectation et de révision: Les enregistrements CrewAssignment et CrewReview rendent visible crewSizeLogged, arrivalStatus, rating et safetyFlag après l'envoi.
- •Flexibilité en temps réel + API: Utilisez Live Queries pour les mises à jour de BookingRequest tout en gardant REST et GraphQL disponibles pour les tableaux de bord de dispatch.
Construisez et faites évoluer rapidement les fonctionnalités de main-d'œuvre de déménagement avec un contrat backend unique sur toutes les plateformes.
Avantages principaux
Un backend de main-d'œuvre mobile qui vous aide à passer de la piste à l'attribution de l'équipe sans réécrire la couche de données.
Prise en charge des réservations plus rapide
Commencez par BookingRequest avec moveDate, startTime, hoursNeeded, pickupZip et dropoffZip au lieu d'inventer un nouveau formulaire de déménagement.
Vérifications des capacités de l'équipe claires
Utilisez CrewListing avec heavyLiftingCapability, crewSize et equipmentNotes pour garder les transports d'escalier, les chariots et les sangles visibles avant l'envoi.
Attribution de l'équipe que vous pouvez auditer
CrewAssignment garde bookingRequest, crewListing, assignedBy, crewSizeLogged et arrivalStatus visibles lors de la confirmation d'un emploi.
Accès ciblé pour les opérateurs et les déménageurs
Utilisez ACL/CLP afin que seuls les bons utilisateurs puissent modifier les lignes User, CrewListing, BookingRequest et CrewAssignment.
Historique des travaux et de révision
Stocker les changements de statut de BookingRequest, les horodatages de CrewAssignment et les évaluations de CrewReview sans rompre le schéma.
Flux de travail de bootstrap AI
Générez des échafaudages backend et des conseils d'intégration rapidement avec une seule invite structurée.
Prêt à lancer votre marché de main-d'œuvre pour déménagement ?
Laissez l'agent AI Back4app échafauder votre backend de main-d'œuvre pour déménagement et générer des flux CrewListing, BookingRequest, CrewAssignment et CrewReview à partir d'une seule invite.
Gratuit pour commencer - 50 invites d'agent AI/mois, sans carte de crédit requise
Technologie de travail de déménagement
Tout inclus dans ce modèle de backend de marché de travail de déménagement.
Diagramme de classe du marché
Modèle de relation d'entité pour le schéma backend du marché de main-d'œuvre mobile.
Schéma couvrant les utilisateurs, les annonces d'équipage, les demandes de réservation, les attributions d'équipage et les évaluations d'équipage.
Afficher la source du diagramme
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
}
Séquence de flux de réservation
Flux d'exécution typique pour la connexion, la recherche d'annonces d'équipage, la création de demandes de réservation, l'enregistrement des attributions d'équipage et les mises à jour des évaluations.
Afficher la source du diagramme
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 ratingsDictionnaire de champs
Référence complète au niveau des champs pour chaque classe dans le schéma du marché de travail mobile.
| Champ | Type | Description | Obligatoire |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Auto |
| 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 | Auto |
| updatedAt | Date | Auto-generated last-update timestamp | Auto |
10 champs dans User
Règles d'accès pour les utilisateurs, les équipes et les réservations
Comment la stratégie ACL et CLP sécurise User, CrewListing, BookingRequest, CrewAssignment et CrewReview.
Contrôles de profil utilisateur
Seul le propriétaire ou l'opérateur du compte peut mettre à jour le nom d'utilisateur, le rôle, le nom affiché, le numéro de téléphone et la zone de service.
Intégrité des réservations
Seul l'acheteur ou le répartiteur peut créer, modifier ou annuler des lignes de BookingRequest et CrewAssignment.
Visibilité de l'examen ciblée
Restreindre les lectures de CrewReview aux participants correspondants de BookingRequest et aux opérateurs approuvés.
Schéma JSON
Définition de schéma JSON brute prête à être copiée dans Back4app ou utilisée comme référence d'implémentation.
{
"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
}
}
}
]
}Construire avec l'Agent IA
Utilisez l'Agent IA Back4app pour générer une application réelle de marché de main-d'œuvre en mouvement à partir de ce modèle, y compris le frontend, le backend, l'authentification, ainsi que les flux de CrewListing, BookingRequest, CrewAssignment et CrewReview.
Créez une application backend sécurisée pour un marché de main-d'œuvre en mouvement sur Back4app avec ce schéma et ce comportement exacts. Schéma: 1. Utilisateur : nom d'utilisateur (String, requis), email (String, requis), mot de passe (String, requis), rôle (String, requis), nomAffiché (String, requis), numéroDeTéléphone (String, optionnel), zoneDeService (String, optionnel) ; objectId, createdAt, updatedAt (système). 2. AnnonceDeÉquipe : titre (String, requis), tarifHoraire (Number, requis), tailleDeÉquipe (Number, requis), capacitéDeLevageLourd (Boolean, requis), zoneDeService (String, requis), notesÉquipement (String, optionnel), statutDisponibilité (String, requis), propriétaire (Pointeur vers Utilisateur, requis) ; objectId, createdAt, updatedAt (système). 3. DemandeDeRéservation : titreDuTravail (String, requis), dateDeDéménagement (Date, requis), heureDeDébut (String, requis), heuresNécessaires (Number, requis), zipPickup (String, requis), zipDropoff (String, requis), objetsLourds (Boolean, requis), statut (String, requis), acheteur (Pointeur vers Utilisateur, requis), équipePréférée (Pointeur vers AnnonceDeÉquipe, optionnel) ; objectId, createdAt, updatedAt (système). 4. AffectationDeÉquipe : demandeDeRéservation (Pointeur vers DemandeDeRéservation, requis), annonceDeÉquipe (Pointeur vers AnnonceDeÉquipe, requis), assignéPar (Pointeur vers Utilisateur, requis), tailleDeÉquipeEnregistrée (Number, requis), statutD'arrivée (String, requis), débutéÀ (Date, optionnel), terminéÀ (Date, optionnel) ; objectId, createdAt, updatedAt (système). 5. ÉvaluationDeÉquipe : demandeDeRéservation (Pointeur vers DemandeDeRéservation, requis), évaluateur (Pointeur vers Utilisateur, requis), annonceDeÉquipe (Pointeur vers AnnonceDeÉquipe, requis), évaluation (Number, requis), commentaire (String, optionnel), drapeauDeSécurité (Boolean, optionnel) ; objectId, createdAt, updatedAt (système). Sécurité: - Les acheteurs peuvent créer des enregistrements de DemandeDeRéservation et lire leurs propres réservations. - Les vendeurs peuvent gérer leurs propres enregistrements d'AnnonceDeÉquipe. - Les opérateurs peuvent créer des enregistrements d'AffectationDeÉquipe et mettre à jour le statut de DemandeDeRéservation. - Les enregistrements d'ÉvaluationDeÉquipe ne doivent être créés qu'après une réservation réussie. Comportement: - Recherchez des équipes par tarifHoraire, tailleDeÉquipe, capacitéDeLevageLourd et zoneDeService. - Créez des demandes de réservation avec dateDeDéménagement et heuresNécessaires. - Assignez des équipes et enregistrez tailleDeÉquipeEnregistrée. - Collectez des évaluations et des retours de sécurité après le travail. Livrer: - application Back4app avec schéma, ACL, CLP et flux d'interface utilisateur pour acheteurs, vendeurs et opérateurs, y compris recherche d'AnnonceDeÉquipe, collecte de DemandeDeRéservation, suivi d'AffectationDeÉquipe et capture d'ÉvaluationDeÉquipe.
Appuyez sur le bouton ci-dessous pour ouvrir l'Agent avec cette invite de modèle pré-remplie.
Ceci est l'invite de base sans suffixe technologique. Vous pouvez adapter la pile frontend générée par la suite.
API Sandbox
Essayez les points de terminaison REST et GraphQL contre le schéma du marché du travail en mouvement. Les réponses utilisent des données fictives et ne nécessitent pas de compte Back4app.
Utilise le même schéma que ce modèle.
Choisissez votre pile
Développez chaque carte pour voir comment intégrer CrewListing, BookingRequest et CrewAssignment avec votre pile choisie.
Flutter Marché du travail de déménagement Backend
React Marché du travail de déménagement Backend
React Natif Marché du travail de déménagement Backend
Next.js Marché du travail de déménagement Backend
JavaScript Marché du travail de déménagement Backend
Android Marché du travail de déménagement Backend
iOS Marché du travail de déménagement Backend
Vue Marché du travail de déménagement Backend
Angular Marché du travail de déménagement Backend
GraphQL Marché du travail de déménagement Backend
REST API Marché du travail de déménagement Backend
PHP Marché du travail de déménagement Backend
.NET Marché du travail de déménagement Backend
Ce que vous obtenez avec chaque technologie
Chaque pile utilise le même schéma de backend de main-d'œuvre mobile et les contrats API.
Structure de données de main-d'œuvre mobile unifiée
Gérez facilement User, CrewListing, BookingRequest, CrewAssignment et CrewReview avec un schéma cohérent.
Appariement d'équipage par tarif et taille
Comparer les lignes de CrewListing et attribuer la bonne taille d'équipage pour chaque demande de déménagement.
Suivi de la capacité de levage lourd
Garder la capacitéDeLevageHaut et les notes d'équipement attachées à chaque liste d'équipage.
Flux de travail personnalisables pour les opérateurs
Définir des niveaux d'accès et des permissions adaptés aux acheteurs, vendeurs et opérateurs.
Comparaison du cadre du marché de la main-d'œuvre mobile
Comparez la rapidité de configuration, le style SDK et le support AI à travers toutes les technologies prises en charge.
| Cadre | Temps de configuration | Avantage du marché de la main-d'œuvre mobile | Type de SDK | Support IA |
|---|---|---|---|---|
| Environ 5 minutes | Base de code unique pour le dispatch des déménageurs sur mobile et web. | SDK typé | Complet | |
| Moins de 5 minutes | Tableau de bord web rapide pour les listes d'équipes et les réservations. | SDK typé | Complet | |
| ~3–7 min | Application mobile multiplateforme pour l'expédition de déménageurs. | SDK tapé | Complet | |
| Configuration rapide (5 min) | Application web rendue côté serveur pour les opérations de travail de déménagement. | SDK tapé | Complet | |
| ~3–5 min | Intégration web légère pour le jumelage de main-d'œuvre. | SDK tapé | Complet | |
| Environ 5 min | Application Android native pour les déménageurs et les expéditeurs. | SDK tapé | Complet | |
| Moins de 5 minutes | Application iOS native pour la coordination des déménageurs. | SDK tapé | Complet | |
| ~3–7 min | Interface web Reactive pour les opérations du marché du travail. | SDK tapé | Complet | |
| Configuration rapide (5 min) | Application web d'entreprise pour les flux de travail des répartiteurs. | SDK tapé | Complet | |
| Moins de 2 minutes | API flexible GraphQL pour l'appariement de main-d'œuvre. | API GraphQL | Complet | |
| Configuration rapide (2 min) | Intégration REST API pour déplacer les systèmes de main-d'œuvre. | REST API | Complet | |
| ~3 minutes | Backend PHP côté serveur pour le dispatching de main-d'œuvre. | REST API | Complet | |
| ~3–7 min | .NET backend pour déplacer les opérations de main-d'œuvre. | SDK tapé | Complet |
Le temps de configuration reflète la durée prévue entre le lancement du projet et la première requête CrewListing ou BookingRequest utilisant ce schéma de modèle.
Centre d'aide
Questions courantes sur la création d'une infrastructure de marché de main-d'œuvre pour déménagement avec ce modèle.
Prêt à construire votre marché de main-d'œuvre ?
Commencez votre projet de main-d'œuvre en quelques minutes. Aucune carte de crédit requise.