Planification de Quarts
Construire avec l'Agent IA
Backend de planification des quarts

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.

  1. Conception de planification centrée sur l'utilisateurModélisez les utilisateurs avec des quarts de travail et des plannings dans des structures claires et interrogeables.
  2. Mises à jour de planification en temps réelUtilisez les capacités en temps réel de Back4app pour les changements de quart et les notifications.
  3. 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.
  4. Logique d'échange de postesPermettre aux utilisateurs d'échanger des postes sans heurts avec des flux de travail d'approbation.
  5. Backend de planification multiplateformeServir 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 :

Applications de planification de postesPlateformes de gestion de la main-d'œuvreApplications de suivi du temps et de présenceApplications de planification mobile-firstLancements de MVPÉquipes sélectionnant BaaS pour les produits de planification

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.

Frontend
13+ technologies
Backend
Back4app
Base de données
MongoDB
Authentification
Authentification intégrée + sessions
API
REST et GraphQL
Temps réel
Live Queries

Diagramme ER

Modèle de relation d'entité pour le schéma backend de planification des quarts.

Voir la source du diagramme
Mermaid
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
Mermaid
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 confirmation

Dictionnaire de données

Référence complète au niveau des champs pour chaque classe dans le schéma de planification des quarts.

ChampTypeDescriptionRequis
objectIdStringAuto-generated unique identifierAuto
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringRole of the user (e.g., manager, employee)
createdAtDateAuto-generated creation timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

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.

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
        },
        "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.

Agent IA Back4app
Prêt à construire
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.

Déployer en quelques minutes50 invites gratuites / moisAucune carte de crédit requise

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.

Chargement de l'aire de jeu…

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.

FrameworkTemps de configurationAvantages de la planification des quartsType de SDKSupport AI
Environ 5 minBase de code unique pour la planification des quarts sur mobile et web.Typed SDKComplet
Moins de 5 minutesTableau de bord web rapide pour la planification des quarts.Typed SDKComplet
~3–7 minApplication mobile multiplateforme pour la planification des quarts.Typed SDKComplet
Configuration rapide (5 min)Application web rendue par serveur pour la planification des quarts.Typed SDKComplet
~3 minIntégration web légère pour la planification des quarts.Typed SDKComplet
Environ 5 minApplication native Android pour la planification des quarts.Typed SDKComplet
Moins de 5 minutesApplication native iOS pour la planification des quarts.Typed SDKComplet
~3–7 minInterface utilisateur web Reactive pour la planification des quarts.Typed SDKComplet
Configuration rapide (5 min)Application web d'entreprise pour la planification des quarts.Typed SDKComplet
Configuration rapide (2 min)API GraphQL flexible pour la planification des quarts.GraphQL APIComplet
~2 minIntégration REST API pour la planification des quarts.REST APIComplet
Moins de 5 minBackend PHP côté serveur pour la planification des quarts.REST APIComplet
~3–7 minBackend .NET pour la planification des quarts.Typed SDKComplet

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.

Qu'est-ce qu'un backend de planification de shifts ?
Que comprend le modèle de planification de shifts ?
Pourquoi utiliser Back4app pour une application de planification ?
Comment exécuter des requêtes pour les utilisateurs et les quarts de travail avec Flutter ?
Comment créer un planning avec Next.js Server Actions ?
React Native peut-il mettre en cache les utilisateurs et les quarts de travail hors ligne ?
Comment éviter les quarts de travail en double ?
Quelle est la meilleure façon d'afficher les profils d'utilisateurs et les quarts de travail sur Android ?
Comment fonctionne le flux de pointage de bout en bout ?

Fiable par les développeurs du monde entier

Rejoignez les équipes qui livrent des produits de planification plus rapidement avec les modèles Back4app

G2 Users Love Us Badge

Prêt à construire votre application de planification de quarts ?

Commencez votre projet de planification en quelques minutes. Aucune carte de crédit requise.

Choisir la technologie