Modello di backend per l'app di pianificazione dei turni
Gestione dei turni e rilevazione oraria con geofencing
Un backend per la pianificazione dei turni pronto per la produzione su Back4app con utenti, turni e pianificazioni. Include diagramma ER, dizionario dati, schema JSON, playground API e un prompt AI Agent per un avvio rapido.
Punti chiave
Questo modello fornisce un backend per la pianificazione dei turni con utenti, turni e orari in modo che il tuo team possa concentrarsi sulla gestione efficiente dei turni e sulla rilevazione del tempo.
- Design di pianificazione incentrato sull'utente — Modella gli utenti con turni e orari in strutture chiare e interrogabili.
- Aggiornamenti in tempo reale della pianificazione — Utilizza le capacità in tempo reale di Back4app per i cambi di turno e le notifiche.
- Rilevazione del tempo con geofencing — Assicura un tracciamento del tempo accurato con capacità di clock-in e clock-out georeferenziate.
- Logica di scambio turni — Consenti agli utenti di scambiare turni senza problemi con flussi di lavoro di approvazione.
- Backend di pianificazione multipiattaforma — Servi clienti mobili e web attraverso un'unica API REST e GraphQL per utenti, turni e pianificazioni.
Che cos'è il modello di backend per la pianificazione dei turni?
Back4app è un backend-as-a-service (BaaS) per una consegna rapida del prodotto. Il modello di backend per la pianificazione dei turni è uno schema predefinito per utenti, turni e pianificazioni. Collega il tuo frontend preferito (React, Flutter, Next.js e altro) e spedici più velocemente.
Ideale per:
Panoramica
Un prodotto di pianificazione dei turni necessita di profili utente, turni, orari e rilevamento del tempo.
Questo modello definisce Utente, Turno e Programma con funzionalità in tempo reale e regole di proprietà in modo che i team possano implementare rapidamente le interazioni di pianificazione.
Funzionalità principali di pianificazione turni
Ogni scheda tecnologica in questo hub utilizza lo stesso schema di backend per la pianificazione dei turni con Utente, Turno e Programma.
Profili utente e ruoli
La classe utente memorizza nome utente, email, password e ruolo.
Creazione e gestione dei turni
La classe turno collega utente, ora di inizio, ora di fine e posizione.
Pianificazione e rilevazione oraria
La classe Schedule memorizza il riferimento utente e i turni associati.
Scambio di turni
Supporta lo scambio di turni con flussi di lavoro di approvazione.
Notifiche in tempo reale
Notifica agli utenti le modifiche al programma e gli aggiornamenti dei turni.
Perché costruire il tuo backend di pianificazione turni con Back4app?
Back4app ti offre primitive per utenti, turni e pianificazioni in modo che il tuo team possa concentrarsi su una pianificazione efficiente e sulla gestione del tempo invece che sull'infrastruttura.
- •Gestione di utenti e turni: La classe utente con campi di ruolo e la classe turno per la gestione delle pianificazioni supportano operazioni di rotazione efficienti.
- •Rilevamento del tempo georeferenziato: Garantisci un tracciamento del tempo accurato con funzionalità di clock-in e clock-out georeferenziate.
- •Flessibilità in tempo reale + API: Usa Live Queries per aggiornamenti di pianificazione mantenendo REST e GraphQL disponibili per ogni cliente.
Costruisci e itera rapidamente sulle funzionalità di pianificazione con un unico contratto backend su tutte le piattaforme.
Vantaggi principali
Un backend di pianificazione che ti aiuta a iterare rapidamente senza sacrificare la struttura.
Lancio rapido della pianificazione
Inizia da uno schema completo di utente, turno e programma piuttosto che progettare il backend da zero.
Supporto alla pianificazione in tempo reale
Sfrutta notifiche e aggiornamenti in tempo reale per un maggiore coinvolgimento degli utenti.
Gestione flessibile dei turni
Gestisci i turni con flussi di lavoro di scambio e approvazione per maggiore flessibilità.
Modello di permessi scalabile
Usa ACL/CLP in modo che solo gli utenti possano modificare i loro orari e turni, e gestire le richieste di scambio.
Tracciamento del tempo accurato
Usa il geofencing per garantire registrazioni precise di entrata e uscita.
Flusso di lavoro bootstrap AI
Genera rapidamente l'impalcatura del backend e la guida all'integrazione con un unico prompt strutturato.
Pronto a lanciare la tua app per la pianificazione dei turni?
Lascia che l'Agente AI di Back4app imposti l'impalcatura del tuo backend per la pianificazione dei turni e generi utenti, turni e orari da un unico prompt.
Inizia gratis — 50 prompt per Agenti AI al mese, nessuna carta di credito richiesta
Stack Tecnico
Tutto incluso in questo modello di backend per la pianificazione dei turni.
Diagramma ER
Modello di relazione tra entità per lo schema del backend di pianificazione turni.
Schema che copre utenti, turni e pianificazioni.
Visualizza sorgente diagramma
erDiagram
User ||--o{ Schedule : "user"
User ||--o{ SwapRequest : "fromUser"
User ||--o{ SwapRequest : "toUser"
User ||--o{ ClockIn : "user"
Shift ||--o{ Schedule : "shift"
Shift ||--o{ SwapRequest : "shift"
Shift ||--o{ ClockIn : "shift"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
Shift {
String objectId PK
String title
Date startTime
Date endTime
GeoPoint location
Date createdAt
Date updatedAt
}
Schedule {
String objectId PK
Pointer user FK
Pointer shift FK
String status
Date createdAt
Date updatedAt
}
SwapRequest {
String objectId PK
Pointer fromUser FK
Pointer toUser FK
Pointer shift FK
String status
Date createdAt
Date updatedAt
}
ClockIn {
String objectId PK
Pointer user FK
Pointer shift FK
Date clockInTime
GeoPoint location
Date createdAt
Date updatedAt
}
Flusso di integrazione
Flusso tipico di runtime per autenticazione, profili utente, turni, pianificazioni e registrazione oraria.
Visualizza sorgente diagramma
sequenceDiagram
participant User
participant App as Shift Scheduling App
participant Back4app as Back4app Cloud
User->>App: Login
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: View schedule
App->>Back4app: GET /classes/Schedule
Back4app-->>App: Schedule data
User->>App: Request shift swap
App->>Back4app: POST /classes/SwapRequest
Back4app-->>App: SwapRequest objectId
User->>App: Clock in
App->>Back4app: POST /classes/ClockIn
Back4app-->>App: ClockIn confirmationDizionario dei dati
Riferimento completo a livello di campo per ogni classe nello schema di pianificazione dei turni.
| Campo | Tipo | Descrizione | Obbligatorio |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Automatico |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role of the user (e.g., manager, employee) | |
| createdAt | Date | Auto-generated creation timestamp | Automatico |
| updatedAt | Date | Auto-generated last-update timestamp | Automatico |
campi 7 in User
Sicurezza e permessi
Come la strategia ACL e CLP protegge utenti, turni e pianificazioni.
Controlli del programma di proprietà dell'utente
Solo l'utente può aggiornare o eliminare il proprio programma; altri non possono modificare i turni dell'utente.
Integrità dei turni e dei programmi
Solo il creatore può creare o eliminare i propri turni e programmi. Usa Cloud Code per la convalida.
Accesso in lettura limitato
Limita la lettura di turni e programmi alle parti rilevanti (ad es. gli utenti vedono i propri programmi e i turni pubblici).
Schema (JSON)
Definizione dello schema JSON grezzo pronta per essere copiata in Back4app o utilizzata come riferimento per l'implementazione.
{
"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
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Shift",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"title": {
"type": "String",
"required": true
},
"startTime": {
"type": "Date",
"required": true
},
"endTime": {
"type": "Date",
"required": true
},
"location": {
"type": "GeoPoint",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Schedule",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"user": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"shift": {
"type": "Pointer",
"required": true,
"targetClass": "Shift"
},
"status": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SwapRequest",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"fromUser": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"toUser": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"shift": {
"type": "Pointer",
"required": true,
"targetClass": "Shift"
},
"status": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ClockIn",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"user": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"shift": {
"type": "Pointer",
"required": true,
"targetClass": "Shift"
},
"clockInTime": {
"type": "Date",
"required": true
},
"location": {
"type": "GeoPoint",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}Costruisci con AI Agent
Usa l'agente AI di Back4app per generare un'app reale di pianificazione turni da questo modello, inclusi frontend, backend, autenticazione e flussi di utente, turno, pianificazione e registrazione oraria.
Crea un backend per un'app di pianificazione turni su Back4app con questo schema e comportamento esatti. Schema: 1. Utente (usa il built-in di Back4app): nome utente, email, password; objectId, createdAt, updatedAt (sistema). 2. Turno: utente (Puntatore a Utente, richiesto), ora di inizio (Data, richiesta), ora di fine (Data, richiesta), posizione (GeoPoint, opzionale); objectId, createdAt, updatedAt (sistema). 3. Pianificazione: utente (Puntatore a Utente, richiesto), turni (Array di Puntatori a Turno, richiesto); objectId, createdAt, updatedAt (sistema). Sicurezza: - Solo l'utente può aggiornare/eliminare la propria pianificazione. Solo il creatore può creare/eliminare i propri turni. Usa il Cloud Code per la validazione. Autenticazione: - Registrazione, accesso, disconnessione. Comportamento: - Elenca utenti, crea turni, pianifica turni, registra entrata/uscita e gestisci scambi di turni. Consegna: - App Back4app con schema, ACL, CLP; frontend per profili utente, turni, pianificazioni e registrazione oraria.
Premi il pulsante qui sotto per aprire l'agente con questo prompt del modello precompilato.
Questo è il prompt base senza un suffisso tecnologico. Puoi adattare lo stack frontend generato in seguito.
API Playground
Prova gli endpoint REST e GraphQL contro lo schema di pianificazione dei turni. Le risposte utilizzano dati simulati e non richiedono un account Back4app.
Utilizza lo stesso schema di questo modello.
Scegli la tua tecnologia
Espandi ogni scheda per i passaggi di integrazione, i modelli di stato, gli esempi di modelli di dati e le note offline.
Flutter Backend di Pianificazione Turni
React Backend di Pianificazione Turni
React Native Backend di Pianificazione Turni
Next.js Backend di Pianificazione Turni
JavaScript Backend di Pianificazione Turni
Android Backend di Pianificazione Turni
iOS Backend di Pianificazione Turni
Vue Backend di Pianificazione Turni
Angular Backend di Pianificazione Turni
GraphQL Backend di Pianificazione Turni
REST API Backend di Pianificazione Turni
PHP Backend di Pianificazione Turni
.NET Backend di Pianificazione Turni
Cosa ottieni con ogni tecnologia
Ogni stack utilizza lo stesso schema di backend per la pianificazione dei turni e i contratti API.
Struttura di dati unificata per i turni
Gestisci facilmente turni e utenti con uno schema dati coeso per programmazione dei turni.
Aggiornamenti di programmazione in tempo reale
Notifiche istantanee per le modifiche nei programmi, migliorando la gestione di programmazione dei turni.
Controllo degli accessi utente sicuro
Proteggi le informazioni sensibili di programmazione dei turni con permessi di accesso robusti.
REST/GraphQL API per programmazione dei turni
Integra senza problemi con qualsiasi frontend utilizzando API flessibili su misura per programmazione dei turni.
Promemoria automatizzati per i turni
Tieni informati gli utenti con notifiche automatizzate per i turni imminenti in programmazione dei turni.
Framework estensibile per programmazione dei turni
Personalizza e amplia facilmente le funzionalità per soddisfare le tue specifiche esigenze di programmazione dei turni.
Confronto del Framework di Programmazione dei Turni
Confronta la velocità di configurazione, lo stile SDK e il supporto AI tra tutte le tecnologie supportate.
| Framework | Tempo di Configurazione | Benefici della Programmazione dei Turni | Tipo di SDK | Supporto AI |
|---|---|---|---|---|
| Circa 5 min | Codice sorgente unico per la programmazione dei turni su mobile e web. | Typed SDK | Completo | |
| Meno di 5 minuti | Dashboard web veloce per la programmazione dei turni. | Typed SDK | Completo | |
| ~3–7 min | App mobile cross-platform per la programmazione dei turni. | Typed SDK | Completo | |
| Configurazione rapida (5 min) | App web renderizzata dal server per la programmazione dei turni. | Typed SDK | Completo | |
| ~3 min | Integrazione web leggera per la programmazione dei turni. | Typed SDK | Completo | |
| Circa 5 min | App nativa Android per la programmazione dei turni. | Typed SDK | Completo | |
| Meno di 5 minuti | App nativa iOS per la programmazione dei turni. | Typed SDK | Completo | |
| ~3–7 min | Interfaccia utente web Reactive per la programmazione dei turni. | Typed SDK | Completo | |
| Configurazione rapida (5 min) | App web aziendale per la programmazione dei turni. | Typed SDK | Completo | |
| Configurazione veloce (2 min) | API flessibile GraphQL per la programmazione dei turni. | GraphQL API | Completo | |
| ~2 min | Integrazione REST API per la programmazione dei turni. | REST API | Completo | |
| Meno di 5 min | Backend PHP lato server per la programmazione dei turni. | REST API | Completo | |
| ~3–7 min | Backend .NET per la programmazione dei turni. | Typed SDK | Completo |
Il tempo di configurazione riflette la durata prevista dal bootstrap del progetto alla prima query pianificata utilizzando questo schema di modello.
Domande Frequenti
Domande comuni sulla creazione di un backend per la pianificazione dei turni con questo modello.
Pronto a costruire la tua app per la pianificazione dei turni?
Inizia il tuo progetto di pianificazione in pochi minuti. Nessuna carta di credito richiesta.