Modèle de backend d'application de planification des quarts
Gestion des rotations et pointage géolocalisé
Un backend de planification des quarts prêt pour la production sur Back4app avec utilisateurs, quarts et horaires. Inclut diagramme ER, dictionnaire de données, schéma JSON, aire de jeu API, et une invite Agent IA pour un démarrage rapide.
Points clés à retenir
Ce modèle fournit un backend de planification des horaires avec des utilisateurs, des quarts de travail et des plannings afin que votre équipe puisse se concentrer sur une gestion efficace des plannings et des pointages horaires.
- Conception de planification centrée sur l'utilisateur — Modélisez les utilisateurs avec des quarts de travail et des plannings dans des structures claires et interrogeables.
- Mises à jour de planification en temps réel — Utilisez les capacités en temps réel de Back4app pour les changements de quart et les notifications.
- Pointage horaire géolocalisé — Assurez un suivi précis du temps avec des capacités de pointage d'entrée et de sortie géolocalisées.
- Logique d'échange de postes — Permettre aux utilisateurs d'échanger des postes sans heurts avec des flux de travail d'approbation.
- Backend de planification multiplateforme — Servir les clients mobiles et web via une API REST unique et GraphQL pour les utilisateurs, les postes et les horaires.
Qu'est-ce que le modèle de backend d'application de planification de postes ?
Back4app est un backend-as-a-service (BaaS) pour une livraison rapide de produits. Le modèle de backend d'application de planification de postes est un schéma pré-construit pour les utilisateurs, les postes et les horaires. Connectez votre frontend préféré (React, Flutter, Next.js, et plus) et livrez plus rapidement.
Idéal pour :
Aperçu
Un produit de planification de postes nécessite des profils d'utilisateur, des postes, des horaires et un pointage horaire.
Ce modèle définit Utilisateur, Poste et Horaire avec des fonctionnalités en temps réel et des règles de propriété afin que les équipes puissent implémenter rapidement des interactions de planification.
Fonctionnalités principales de planification des horaires
Chaque carte technologique de ce hub utilise le même schéma de backend de planification de quart avec Utilisateur, Quart, et Horaire.
Profils et rôles des utilisateurs
La classe utilisateur stocke le nom d'utilisateur, l'email, le mot de passe et le rôle.
Création et gestion des quarts
La classe quart lie l'utilisateur, l'heure de début, l'heure de fin et le lieu.
Planification et pointage
La classe Schedule stocke la référence utilisateur et les quarts associés.
Échange de quarts
Prendre en charge l'échange de quarts avec des flux de travail d'approbation.
Notifications en temps réel
Notifier les utilisateurs des changements d'horaire et des mises à jour de quarts.
Pourquoi construire votre backend de planification des horaires avec Back4app ?
Back4app vous offre des primitives pour les utilisateurs, les horaires et les plannings afin que votre équipe puisse se concentrer sur une planification efficace et la gestion du temps plutôt que sur l'infrastructure.
- •Gestion des utilisateurs et des horaires: La classe utilisateur avec des champs de rôle et la classe d'horaire pour la gestion des plannings soutiennent des opérations de rotation efficaces.
- •Pointage géolocalisé: Assurez un suivi précis du temps avec des capacités de pointage d'entrée et de sortie géolocalisées.
- •Flexibilité en temps réel + API: Utilisez Live Queries pour les mises à jour de planification tout en gardant REST et GraphQL disponibles pour chaque client.
Construisez et itérez rapidement sur les fonctionnalités de planification avec un seul contrat backend sur toutes les plateformes.
Avantages principaux
Un backend de planification qui vous aide à itérer rapidement sans sacrifier la structure.
Lancement rapide de la planification
Commencez avec un schéma complet d'utilisateur, de quart et d'horaire plutôt que de concevoir le backend à partir de zéro.
Support de planification en temps réel
Exploitez les notifications et mises à jour en temps réel pour un engagement utilisateur amélioré.
Gestion flexible des quarts
Gérez les quarts avec des workflows d'échange et d'approbation pour plus de flexibilité.
Modèle de permission évolutif
Utilisez ACL/CLP pour que seuls les utilisateurs puissent modifier leurs horaires et quarts, et gérer les demandes d'échange.
Suivi du temps précis
Utilisez le géorepérage pour garantir des enregistrements précis des heures d'arrivée et de départ.
Flux de travail de démarrage AI
Générez rapidement une structure de backend et des conseils d'intégration avec une seule invite structurée.
Prêt à lancer votre application de planification de quarts ?
Laissez l'Agent AI de Back4app structurer votre backend de planification de quarts et générer des utilisateurs, des quarts et des horaires à partir d'une seule invite.
Gratuit pour commencer — 50 invites d'agent IA par mois, aucune carte de crédit requise
Pile technique
Tout est inclus dans ce modèle de backend de planification des horaires.
Diagramme ER
Modèle de relation d'entité pour le schéma backend de planification des quarts.
Schéma couvrant les utilisateurs, les quarts, et les plannings.
Voir la source du diagramme
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
}
Flux d'intégration
Flux d'exécution typique pour l'authentification, les profils utilisateurs, les quarts, les plannings, et la gestion du temps.
Voir la source du diagramme
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 confirmationDictionnaire de données
Référence complète au niveau des champs pour chaque classe dans le schéma de planification des quarts.
| Champ | Type | Description | Requis |
|---|---|---|---|
| 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 (e.g., manager, employee) | |
| createdAt | Date | Auto-generated creation timestamp | Auto |
| updatedAt | Date | Auto-generated last-update timestamp | Auto |
champs 7 dans User
Sécurité et permissions
Comment la stratégie ACL et CLP sécurise les utilisateurs, les quarts et les horaires.
Contrôles d'emploi du temps détenus par l'utilisateur
Seul l'utilisateur peut mettre à jour ou supprimer son emploi du temps ; les autres ne peuvent pas modifier les quarts de l'utilisateur.
Intégrité des quarts et des emplois du temps
Seul le créateur peut créer ou supprimer ses quarts et emplois du temps. Utilisez Cloud Code pour la validation.
Accès en lecture limité
Restreindre la lecture des quarts et emplois du temps aux parties concernées (par exemple, les utilisateurs voient leurs propres emplois du temps et les quarts publics).
Schéma (JSON)
Définition brute du schéma JSON prête à être copiée dans Back4app ou à utiliser 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
},
"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
}
}
}
]
}Construire avec l'agent IA
Utilisez l'agent IA Back4app pour générer une véritable application de planification de quarts de travail à partir de ce modèle, y compris le frontend, le backend, l'authentification, et les flux utilisateur, quart, planning et pointage horaire.
Créez un backend d'application de planification de quarts de travail sur Back4app avec ce schéma et ce comportement exacts. Schéma : 1. Utilisateur (utilisez le Back4app intégré) : nom d'utilisateur, email, mot de passe ; objectId, createdAt, updatedAt (système). 2. Quart : utilisateur (Pointeur vers Utilisateur, requis), heure de début (Date, requise), heure de fin (Date, requise), emplacement (GeoPoint, optionnel) ; objectId, createdAt, updatedAt (système). 3. Planning : utilisateur (Pointeur vers Utilisateur, requis), quarts (Tableau de Pointeurs vers Quart, requis) ; objectId, createdAt, updatedAt (système). Sécurité : - Seul l'utilisateur peut mettre à jour/supprimer son planning. Seul le créateur peut créer/supprimer ses quarts. Utilisez le Cloud Code pour la validation. Auth : - Inscription, connexion, déconnexion. Comportement : - Lister les utilisateurs, créer des quarts, planifier des quarts, pointer à l'entrée/sortie, et gérer les échanges de quarts. Livraison : - Application Back4app avec schéma, ACLs, CLPs ; frontend pour les profils utilisateurs, quarts, plannings, et pointage horaire.
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.
Terrain de jeu API
Essayez les points de terminaison REST et GraphQL avec le schéma de planification des horaires. 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 technologie
Développez chaque carte pour les étapes d'intégration, les modèles d'état, les exemples de modèles de données et les notes hors ligne.
Flutter Backend de planification des quarts
React Backend de planification des quarts
React Native Backend de planification des quarts
Next.js Backend de planification des quarts
JavaScript Backend de planification des quarts
Android Backend de planification des quarts
iOS Backend de planification des quarts
Vue Backend de planification des quarts
Angular Backend de planification des quarts
GraphQL Backend de planification des quarts
REST API Backend de planification des quarts
PHP Backend de planification des quarts
.NET Backend de planification des quarts
Ce que vous obtenez avec chaque technologie
Chaque pile utilise le même schéma de backend de planification de quarts et les contrats d'API.
Structure de données de quarts unifiée
Gérez facilement les quarts et les utilisateurs avec un schéma de données cohérent pour planification des quarts.
Mises à jour de planification en temps réel
Notifications instantanées pour les changements dans les plannings, améliorant la gestion de planification des quarts.
Contrôle d'accès utilisateur sécurisé
Protégez les informations sensibles de planification des quarts avec des permissions d'accès robustes.
API REST/GraphQL pour planification des quarts
Intégrez facilement tout frontend en utilisant des APIs flexibles adaptées à planification des quarts.
Rappels de quart automatisés
Tenez les utilisateurs informés avec des notifications automatisées pour les quarts à venir dans planification des quarts.
Cadre extensible pour planification des quarts
Personnalisez et développez facilement des fonctionnalités pour répondre à vos besoins spécifiques en planification des quarts.
Comparaison des cadres de planification des quarts
Comparez la vitesse de configuration, le style SDK et le support AI à travers toutes les technologies prises en charge.
| Framework | Temps de configuration | Avantages de la planification des quarts | Type de SDK | Support AI |
|---|---|---|---|---|
| Environ 5 min | Base de code unique pour la planification des quarts sur mobile et web. | Typed SDK | Complet | |
| Moins de 5 minutes | Tableau de bord web rapide pour la planification des quarts. | Typed SDK | Complet | |
| ~3–7 min | Application mobile multiplateforme pour la planification des quarts. | Typed SDK | Complet | |
| Configuration rapide (5 min) | Application web rendue par serveur pour la planification des quarts. | Typed SDK | Complet | |
| ~3 min | Intégration web légère pour la planification des quarts. | Typed SDK | Complet | |
| Environ 5 min | Application native Android pour la planification des quarts. | Typed SDK | Complet | |
| Moins de 5 minutes | Application native iOS pour la planification des quarts. | Typed SDK | Complet | |
| ~3–7 min | Interface utilisateur web Reactive pour la planification des quarts. | Typed SDK | Complet | |
| Configuration rapide (5 min) | Application web d'entreprise pour la planification des quarts. | Typed SDK | Complet | |
| Configuration rapide (2 min) | API GraphQL flexible pour la planification des quarts. | GraphQL API | Complet | |
| ~2 min | Intégration REST API pour la planification des quarts. | REST API | Complet | |
| Moins de 5 min | Backend PHP côté serveur pour la planification des quarts. | REST API | Complet | |
| ~3–7 min | Backend .NET pour la planification des quarts. | Typed SDK | Complet |
Le temps de configuration reflète la durée prévue depuis le démarrage du projet jusqu'à la première requête planifiée en utilisant ce schéma de modèle.
Questions Fréquemment Posées
Questions courantes sur la création d'un backend de planification de shifts avec ce modèle.
Prêt à construire votre application de planification de quarts ?
Commencez votre projet de planification en quelques minutes. Aucune carte de crédit requise.