Marketplace di Lavoro di Trasloco
Crea con AI Agent
Backend del Mercato del Lavoro di Trasloco

Modello del Backend del Mercato del Lavoro di Trasloco
Ricerca Crew, Accettazione Prenotazione, Assegnazione e Revisione

Un backend del mercato del lavoro di trasloco pronto per la produzione su Back4app con ricerca di CrewListing, accettazione di BookingRequest, registri di CrewAssignment e registri di CrewReview. Include diagramma ER, dizionario dei dati, schema JSON, sandbox API e un prompt AI Agent per un avvio rapido.

Punti chiave

Questo modello ti fornisce un backend per un marketplace di manodopera in movimento con ricerca CrewListing, acquisizione BookingRequest e tracciamento CrewAssignment in modo che gli operatori possano abbinare più rapidamente la domanda alle squadre disponibili.

  1. Ricerca CrewListingModella CrewListing con hourlyRate, crewSize, heavyLiftingCapability, serviceArea, equipmentNotes e availabilityStatus in modo che gli acquirenti possano confrontare le squadre prima di prenotare.
  2. Acquisizione BookingRequestMemorizza BookingRequest con jobTitle, moveDate, startTime, hoursNeeded, pickupZip, dropoffZip e heavyItems per catturare i dettagli del movimento.
  3. Log CrewAssignmentMantieni CrewAssignment legato a bookingRequest, crewListing, assignedBy, crewSizeLogged e arrivalStatus per ogni lavoro assegnato.
  4. Storia di CrewReviewUtilizza CrewReview con valutazione, commento e safetyFlag per monitorare i risultati dopo aver completato i registri di BookingRequest.

Comprendere il Backend del Mercato di Manodopera per Traslochi

Nel mercato della manodopera per traslochi, la verità operativa è il programma — se il calendario è sbagliato, ogni promessa successiva è sbagliata. L'affidabilità è una funzionalità, non una nota a piè di pagina. Modella le entità principali su Back4app per fornire ai team del mercato di manodopera per traslochi un backend che può crescere da un singolo cantiere a operazioni multi-sito. Lo schema copre Utente, CrewListing, BookingRequest, CrewAssignment e CrewReview con funzionalità di autenticazione e flusso di lavoro del mercato integrate. Collega il tuo frontend preferito e spedisci più velocemente.

Ottimale per:

Mercati di manodopera per traslochiPiattaforme di abbinamento dei traslocatori pagate a oreApp di prenotazione squadre per sollevamento pesanteDashboard degli operatori di trasloco localeLanci MVPTeam che selezionano BaaS per i mercati del lavoro

Panoramica del backend del mercato del lavoro per traslochi

Ai clienti non importa dei tuoi strumenti interni; a loro interessa se le promesse del mercato del lavoro per traslochi arrivano in tempo, con le risorse giuste e la documentazione corretta.

Questo riepilogo orienta i team sugli account utente e i ruoli, i profili del mercato delle liste di personale, l'acquisizione delle richieste di prenotazione prima che chiunque si immerga nei diagrammi ER o nelle esportazioni JSON.

Funzionalità principali del mercato del lavoro di movimentazione

Ogni scheda tecnologica in questo hub utilizza lo stesso schema backend di lavoro di movimentazione con User, CrewListing, BookingRequest, CrewAssignment e CrewReview.

Account utente e ruoli

L'utente memorizza nome utente, email, ruolo, nome visualizzato, numero di telefono e area di servizio.

Profili di mercato CrewListing

CrewListing memorizza titolo, tariffa oraria, dimensione del team, capacità di sollevamento pesante, area di servizio e stato di disponibilità.

Accettazione richiesta di prenotazione

La richiesta di prenotazione cattura titolo di lavoro, data di trasloco, ora di inizio, ore richieste, codice postale di ritiro, codice postale di consegna e articoli pesanti.

Tracciamento delle assegnazioni dell'equipaggio

Le assegnazioni dell'equipaggio collegano bookingRequest, crewListing, assignedBy, crewSizeLogged e arrivalStatus.

Feedback della revisione dell'equipaggio

La revisione dell'equipaggio memorizza bookingRequest, reviewer, crewListing, rating, comment e safetyFlag.

Perché costruire il tuo backend per il mercato del lavoro per traslochi con Back4app?

Back4app ti offre primitive User, BookingRequest e CrewListing in modo che il tuo team possa concentrarsi sul far corrispondere squadre e lavori di trasloco invece di cablare l'infrastruttura.

  • Gestione delle liste di equipaggio e delle prenotazioni: Le classi User, CrewListing e BookingRequest mantengono l'identità di accesso, l'area di servizio, la data di movimento, il codice postale di ritiro e il codice postale di consegna in un unico posto.
  • Controllo del flusso di assegnazione e revisione: I record CrewAssignment e CrewReview rendono visibili crewSizeLogged, arrivalStatus, rating e safetyFlag dopo la spedizione.
  • Flessibilità in tempo reale + API: Usa Live Queries per gli aggiornamenti di BookingRequest mantenendo disponibili REST e GraphQL per i cruscotti di spedizione.

Costruisci e sviluppa rapidamente funzionalità di lavoro di movimentazione con un contratto backend su tutte le piattaforme.

Vantaggi principali

Un backend per il lavoro di movimentazione che ti aiuta a passare da lead all'assegnazione dell'equipaggio senza riscrivere il layer dei dati.

Immissione delle prenotazioni più veloce

Inizia da BookingRequest con moveDate, startTime, hoursNeeded, pickupZip e dropoffZip invece di inventare un nuovo modulo di movimenti.

Controlli chiari delle capacità dell'equipaggio

Utilizza CrewListing con heavyLiftingCapability, crewSize e equipmentNotes per mantenere visibili trasporti di scale, carrelli e cinghie prima della spedizione.

Assegnazione dell'equipaggio che puoi auditare

CrewAssignment mantiene bookingRequest, crewListing, assignedBy, crewSizeLogged e arrivalStatus visibili quando un lavoro è confermato.

Accesso mirato per operatori e traslocatori

Utilizza ACL/CLP in modo che solo gli utenti giusti possano modificare le righe di User, CrewListing, BookingRequest e CrewAssignment.

Storia di lavoro e revisione

Memorizza le modifiche dello stato della BookingRequest, i timestamp delle CrewAssignment e le valutazioni delle CrewReview senza rompere lo schema.

Flusso di lavoro di avvio AI

Genera rapidamente il backend e le linee guida per l'integrazione con un prompt strutturato.

Pronto a lanciare il tuo mercato del lavoro per i traslochi?

Lascia che l'Agente AI di Back4app crei il tuo backend per il lavoro di trasloco e generi CrewListing, BookingRequest, CrewAssignment e flussi CrewReview da un prompt.

Gratuito per iniziare — 50 prompt dell'Agente AI/mese, senza carta di credito richiesta

Stack tecnologico per lavori di movimentazione

Tutto incluso in questo modello di backend per il mercato del lavoro di movimentazione.

Frontend
13+ tecnologie
Backend
Back4app
Database
MongoDB
Autenticazione
Autenticazione integrata + sessioni
API
REST e GraphQL
In tempo reale
Live Queries

Diagramma delle classi Marketplace

Modello di relazione tra entità per lo schema del backend del marketplace di lavoro in movimento.

Visualizza sorgente diagramma
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
    }

Sequenza del flusso di lavoro di prenotazione

Flusso di esecuzione tipico per il login, ricerca di CrewListing, creazione di BookingRequest, registrazione di CrewAssignment e aggiornamenti di CrewReview.

Visualizza sorgente diagramma
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

Dizionario dei campi

Riferimento completo a livello di campo per ogni classe nello schema del mercato del lavoro mobile.

CampoTipoDescrizioneRichiesto
objectIdStringAuto-generated unique identifierAuto
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 timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

10 campi in User

Regole di accesso per utenti, squadre e prenotazioni

Come la strategia ACL e CLP protegge Utente, ElencoSquadre, RichiestaPrenotazione, AssegnazioneSquadra e RecensioneSquadra.

Controlli del profilo utente

Solo il proprietario dell'account o l'operatore possono aggiornare nome utente, ruolo, nome da visualizzare, numero di telefono e area di servizio.

Integrità della prenotazione

Solo l'acquirente o il dispatcher possono creare, modificare o annullare righe di BookingRequest e CrewAssignment.

Visibilità della revisione limitata

Limitare le letture di CrewReview ai partecipanti di BookingRequest corrispondenti e agli operatori approvati.

Schema JSON

Definizione dello schema JSON grezzo pronta per essere copiata in Back4app o utilizzata come riferimento di implementazione.

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
        }
      }
    }
  ]
}

Costruisci con l'agente AI

Utilizza l'agente AI di Back4app per generare un'app reale per il mercato del lavoro mobile a partire da questo modello, inclusi frontend, backend, autenticazione, e flussi di CrewListing, BookingRequest, CrewAssignment e CrewReview.

Back4app Ai Agent
Pronto a costruire
Crea un backend per un'app di mercato per manodopera mobile sicura su Back4app con questo schema e comportamento esatti.

Schema:
1. Utente: nome utente (Stringa, obbligatorio), email (Stringa, obbligatorio), password (Stringa, obbligatorio), ruolo (Stringa, obbligatorio), nomeVisualizzato (Stringa, obbligatorio), numeroDiTelefono (Stringa, facoltativo), areaDiServizio (Stringa, facoltativo); objectId, createdAt, updatedAt (sistema).
2. CrewListing: titolo (Stringa, obbligatorio), tariffaOraria (Numero, obbligatorio), dimensioneSquadra (Numero, obbligatorio), capacitàSollevamentoPesante (Booleano, obbligatorio), areaDiServizio (Stringa, obbligatorio), noteEquipaggiamento (Stringa, facoltativo), statoDisponibilità (Stringa, obbligatorio), proprietario (Puntatore a Utente, obbligatorio); objectId, createdAt, updatedAt (sistema).
3. RichiestaPrenotazione: titoloOfferta (Stringa, obbligatorio), dataTrasloco (Data, obbligatorio), oraInizio (Stringa, obbligatorio), oreNecessarie (Numero, obbligatorio), zipRitiro (Stringa, obbligatorio), zipConsegna (Stringa, obbligatorio), articoliPesanti (Booleano, obbligatorio), stato (Stringa, obbligatorio), compratore (Puntatore a Utente, obbligatorio), squadraPreferita (Puntatore a CrewListing, facoltativo); objectId, createdAt, updatedAt (sistema).
4. AssegnazioneSquadra: richiestaPrenotazione (Puntatore a RichiestaPrenotazione, obbligatorio), crewListing (Puntatore a CrewListing, obbligatorio), assegnatoDa (Puntatore a Utente, obbligatorio), dimensioneSquadraRegistrata (Numero, obbligatorio), statoArrivo (Stringa, obbligatorio), iniziatoIl (Data, facoltativo), finitoIl (Data, facoltativo); objectId, createdAt, updatedAt (sistema).
5. RecensioneSquadra: richiestaPrenotazione (Puntatore a RichiestaPrenotazione, obbligatorio), revisore (Puntatore a Utente, obbligatorio), crewListing (Puntatore a CrewListing, obbligatorio), valutazione (Numero, obbligatorio), commento (Stringa, facoltativo), segnalazioneSicurezza (Booleano, facoltativo); objectId, createdAt, updatedAt (sistema).

Sicurezza:
- I compratori possono creare record di RichiestaPrenotazione e leggere le proprie prenotazioni.
- I venditori possono gestire i propri record di CrewListing.
- Gli operatori possono creare record di AssegnazioneSquadra e aggiornare lo stato della RichiestaPrenotazione.
- I record di RecensioneSquadra devono essere creati solo dopo una prenotazione completata.

Comportamento:
- Cerca squadre per tariffaOraria, dimensioneSquadra, capacitàSollevamentoPesante e areaDiServizio.
- Crea richieste di prenotazione con dataTrasloco e oreNecessarie.
- Assegna squadre e registra dimensioneSquadraRegistrata.
- Raccogli valutazioni post-lavoro e feedback sulla sicurezza.

Consegna:
- App Back4app con schema, ACL, CLP e flussi UI per compratori, venditori e operatori, inclusa la ricerca CrewListing, l'assunzione di RichiestaPrenotazione, il tracciamento dell'AssegnazioneSquadra e la raccolta di RecensioneSquadra.

Premi il pulsante qui sotto per aprire l'Agente con questo modello di prompt precompilato.

Questo è il prompt di base senza un suffisso tecnologico. Puoi adattare lo stack frontend generato in seguito.

Distribuisci in pochi minuti50 prompt gratuiti / meseNessuna carta di credito richiesta

API Sandbox

Prova gli endpoint REST e GraphQL contro lo schema del mercato del lavoro in movimento. Le risposte utilizzano dati di esempio e non richiedono un account Back4app.

Caricamento playground…

Utilizza lo stesso schema di questo modello.

Scegli la tua stack

Espandi ogni scheda per vedere come integrare CrewListing, BookingRequest e CrewAssignment con il tuo stack scelto.

Flutter Mercato del lavoro mobile Backend

React Mercato del lavoro mobile Backend

React Nativo Mercato del lavoro mobile Backend

Next.js Mercato del lavoro mobile Backend

JavaScript Mercato del lavoro mobile Backend

Android Mercato del lavoro mobile Backend

iOS Mercato del lavoro mobile Backend

Vue Mercato del lavoro mobile Backend

Angular Mercato del lavoro mobile Backend

GraphQL Mercato del lavoro mobile Backend

REST API Mercato del lavoro mobile Backend

PHP Mercato del lavoro mobile Backend

.NET Mercato del lavoro mobile Backend

Cosa ottieni con ogni tecnologia

Ogni stack utilizza lo stesso schema backend di manodopera in movimento e contratti API.

Struttura dei dati di manodopera unificata

Gestisci facilmente User, CrewListing, BookingRequest, CrewAssignment e CrewReview con uno schema coerente.

Abbinamento dell'equipaggio per tariffa e dimensione

Confronta le righe di CrewListing e assegna la giusta dimensione dell'equipaggio per ogni richiesta di movimento.

Tracciamento della capacità di sollevamento pesante

Mantieni la heavyLiftingCapability e le note sull'attrezzatura collegate a ciascun elenco di equipaggi.

Flussi di lavoro degli operatori personalizzabili

Definisci livelli di accesso e permessi su misura per acquirenti, venditori e operatori.

Confronto del Framework di Marketplace per Lavoro in Movimento

Confronta la velocità di configurazione, lo stile dell'SDK e il supporto AI attraverso tutte le tecnologie supportate.

FrameworkTempo di ConfigurazioneVantaggio del mercato del lavoro di movimentazioneTipo di SDKSupporto AI
Circa 5 minBase di codice unica per la gestione dei trasportatori su mobile e web.SDK tipizzatoCompleto
Meno di 5 minutiDashboard web veloce per elenchi di squadre e prenotazioni.SDK tipizzatoCompleto
~3–7 minApp mobile multipiattaforma per la gestione delle spedizioni.SDK digitatoCompleto
Configurazione rapida (5 min)App web renderizzata lato server per le operazioni di lavoro di trasloco.SDK digitatoCompleto
~3–5 minIntegrazione web leggera per l'abbinamento del lavoro.SDK digitatoCompleto
Circa 5 minApp nativa Android per trasportatori e spedizionieri.SDK digitatoCompleto
Meno di 5 minutiApp nativa iOS per il coordinamento dei trasportatori.SDK digitatoCompleto
~3–7 minInterfaccia web Reactive per le operazioni del marketplace del lavoro.SDK digitatoCompleto
Impostazione rapida (5 min)Applicazione web enterprise per flussi di lavoro dei dispatcher.SDK digitatoCompleto
Meno di 2 minAPI flessibile di GraphQL per l'abbinamento della manodopera.GraphQL APICompleto
Impostazione rapida (2 min)Integrazione di REST API per i sistemi di movimento della manodopera.REST APICompleto
~3 minBackend PHP lato server per il dispatch della manodopera.REST APICompleto
~3–7 min.NET backend per operazioni di manodopera di trasloco.SDK digitatoCompleto

Il tempo di configurazione riflette la durata prevista dal bootstrap del progetto alla prima query CrewListing o BookingRequest utilizzando questo schema di modello.

Centro assistenza

Domande comuni sulla costruzione di un backend per un mercato di lavoro di traslochi con questo modello.

Cosa dovrebbero realizzare per primi gli operatori del marketplace del lavoro di trasloco quando si espandono in una seconda località?
Come dovrebbe il marketplace del lavoro di trasloco modellare prenotazioni, conflitti e depositi in un unico grafo coerente?
Com'è la migrazione quando la complessità del catalogo del marketplace del lavoro di trasloco aumenta stagionalmente?
Come eseguo query per equipaggi e prenotazioni con Flutter?
Come gestisco l'accesso al marketplace del lavoro di trasloco con Next.js Server Actions?
React può memorizzare le liste dell'equipaggio e le richieste di movimento offline?
Come posso prevenire cambiamenti non autorizzati nelle assegnazioni dell'equipaggio?
Qual è il modo migliore per mostrare gli equipaggi e le assegnazioni su Android?
Come funziona il flusso di lavoro del lavoro di movimentazione end-to-end?

Affidato a sviluppatori in tutto il mondo

Unisciti ai team che lanciano prodotti per il mercato della manodopera di trasloco più velocemente con i modelli di Back4app

G2 Users Love Us Badge

Pronto per costruire il tuo mercato della manodopera di trasloco?

Inizia il tuo progetto di manodopera di trasloco in pochi minuti. Nessuna carta di credito richiesta.

Scegli Tecnologia