Journal d'Expédition de Matières Dangereuses
Construire avec Agent AI
Back-end du journal d'expédition de matières dangereuses

Modèle de back-end du journal d'expédition de matières dangereuses __PH0__
Journaux de placard, numéros UN et suivi des certifications des conducteurs

Un back-end de journal d'expédition de matières dangereuses prêt pour la production sur Back4app avec des journaux d'expédition, entrées de placard, numéros UN et suivi des certifications des conducteurs. Comprend le diagramme ER, le dictionnaire des données, le schéma JSON, l'aire de jeux API et une invite AI Agent pour une configuration rapide.

Points clés

Ce modèle vous offre un backend de registre d'expédition de matières dangereuses avec des logs d'expédition, des entrées d'étiquettes, des numéros d'ONU et un suivi des certifications des conducteurs afin que les équipes opérationnelles puissent travailler à partir d'une source de vérité partagée.

  1. Suivi des logs d'étiquettesModélisez chaque expédition et PlacardLog afin que le personnel d'expédition et de cour puisse confirmer les étiquettes de matières dangereuses correctes.
  2. Contrôle des numéros d'ONUGardez les entrées de numéros d'ONU liées aux expéditions pour une recherche rapide par code de matériau et classe de danger.
  3. Vérifications des certifications des conducteursSuivez les dates d'expiration des certifications des conducteurs avant qu'un chargement ne soit libéré.
  4. Flux de travail compatible avec les auditsEnregistrez les changements de statut, les mises à jour de manifeste et les notes de route dans des classes que vous pouvez interroger plus tard.
  5. Accès aux journaux multiplateformesServez des clients web et mobiles via une API REST et GraphQL pour les expéditions, les étiquettes et les certifications.

Qu'est-ce que le modèle de journal d'expédition de matières dangereuses ?

Si la documentation d'expédition de matières dangereuses se trouve dans des boîtes de réception, vous serez toujours à un fichier joint manqué d'une constatation que vous ne pouvez pas défendre. La solution est opérationnelle, pas motivationnelle. Modélisez les entités clés sur Back4app pour rendre les contrôles d'expédition de matières dangereuses opérationnels : approbations, preuves et exceptions capturées là où le travail se déroule réellement. Le schéma couvre Shipment, PlacardLog, UnNumber, DriverCertification et CarrierCheck avec des flux de travail d'authentification et de journal intégrés. Connectez votre frontend préféré et expédiez plus rapidement.

Meilleur pour :

Opérations d'expédition de matières dangereusesFlux de travail de log de placardsOutils de recherche de numéro UNSuivi de certification des conducteursApplications de coordination de flotteÉquipes sélectionnant BaaS pour des produits d'expédition axés sur la conformité

Aperçu du backend d'expédition de marchandises dangereuses

Vous pouvez enseigner l'empathie dans l'expédition de marchandises dangereuses, mais vous ne pouvez pas vous sortir d'un manque d'enregistrements lorsque la conformité demande une preuve.

Revoyez d'abord la gestion des journaux d'expéditions, le suivi des logs de placards et la recherche de numéro UN, puis ouvrez une carte de pile pour voir les notes spécifiques au SDK et les modèles d'intégration.

Caractéristiques principales du journal d'expédition de matières dangereuses

Chaque carte technologique dans ce hub utilise le même schéma d'expédition hazmat avec Shipment, PlacardLog, UnNumber, DriverCertification et CarrierCheck.

Gestion du journal des expéditions

La classe Shipment stocke shipmentId, route, statut et conducteur assigné.

Suivi du journal des étiquettes

La classe PlacardLog lie l'expédition, le placardCode et vérifiéPar.

Recherche de numéro UN

La classe UnNumber stocke unNumber, properShippingName et hazardClass.

Examen de la certification du conducteur

La classe DriverCertification suit le conducteur, le type de certification et la date d'expiration.

Pourquoi construire votre backend de journal d'expédition de matières dangereuses avec Back4app ?

Back4app vous fournit des primitives d'expédition, de panneau et de certification afin que votre équipe puisse se concentrer sur la libération de charge, les vérifications de trajet et les mises à jour sur le terrain au lieu de l'infrastructure.

  • Supervision des expéditions et des panneaux: Les classes Shipment et PlacardLog tiennent chaque chargement lié à la bonne entrée de panneau.
  • Recherche et vérification du numéro UN: Les enregistrements UnNumber restent liés à chaque expédition, facilitant les vérifications de matériel pour les expéditeurs.
  • Flexibilité en temps réel + API: Utilisez Live Queries pour les changements de statut d'expédition tout en gardant REST et GraphQL disponibles pour chaque appareil.

Construisez et mettez à jour rapidement les flux de travail d'expédition de matières dangereuses avec un seul contrat backend sur le web, mobile et les outils d'opérations.

Avantages principaux

Un backend de journal d'expédition hazmat qui aide les équipes à avancer plus vite sans perdre de vue les détails de l'envoi.

Libération de chargement plus rapide

Commencez à partir d'un schéma complet de Livraison et de Certification du Conducteur au lieu d'inventer des tables d'expédition à partir de zéro.

Vérification des placards en un seul endroit

Utilisez PlacardLog et UnNumber ensemble afin que le personnel de la cour puisse associer les placards au bon code de matériau.

Vérifications des conducteurs claires

Suivez la date d'expiration sur les enregistrements de Certification du Conducteur avant qu'une expédition soit assignée.

Accès opérationnel limité

Utilisez ACL/CLP afin que seuls les utilisateurs autorisés puissent modifier les expéditions, les placards et les notes de certification.

Historique d'expédition prêt pour l'audit

Stockez les changements de statut, les références de manifeste et les vérifications des transporteurs dans des classes interrogeables.

Flux de travail de démarrage IA

Générez rapidement le squelette du backend et les notes d'intégration des matières dangereuses avec une invite structurée.

Prêt à lancer votre application de journal d'expédition de matières dangereuses ?

Laissez l'agent IA Back4app créer le squelette de votre backend de journal d'expédition de matières dangereuses et générer des flux d'expédition, d'étiquetage, de numéro ONU et de certification du conducteur à partir d'une seule invite.

Gratuit pour commencer — 50 invites d'agent IA/mois, sans carte de crédit requise

Stack technique

Tout est inclus dans ce modèle de journal d'expédition de matières dangereuses.

Frontend
Plus de 13 technologies
Backend
Back4app
Base de données
MongoDB
Auth
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 du journal d'expédition de matières dangereuses.

Voir la source du diagramme
Mermaid
erDiagram
    User ||--o{ Shipment : "driver"
    User ||--o{ Shipment : "createdBy"
    User ||--o{ PlacardLog : "verifiedBy"
    User ||--o{ DriverCertification : "driver"
    User ||--o{ DriverCertification : "verifiedBy"
    User ||--o{ ShipmentAudit : "performedBy"
    Shipment ||--o{ PlacardLog : "shipment"
    Shipment ||--o{ ShipmentAudit : "shipment"

    User {
        String objectId PK
        String username
        String email
        String password
        String role
        Date createdAt
        Date updatedAt
    }

    Shipment {
        String objectId PK
        String shipmentNumber
        String unNumber
        String materialName
        String placardCode
        String status
        String driverId FK
        String createdById FK
        Date createdAt
        Date updatedAt
    }

    PlacardLog {
        String objectId PK
        String shipmentId FK
        String placardCode
        String verifiedById FK
        Date verifiedAt
        String notes
        Date createdAt
        Date updatedAt
    }

    DriverCertification {
        String objectId PK
        String driverId FK
        String certificationType
        String certificateNumber
        Date expiresOn
        String status
        String verifiedById FK
        Date createdAt
        Date updatedAt
    }

    ShipmentAudit {
        String objectId PK
        String shipmentId FK
        String action
        String performedById FK
        Date performedAt
        String details
        Date createdAt
        Date updatedAt
    }

Flux d'intégration

Flux d'exécution typique pour la connexion, la révision des expéditions, l'enregistrement des placards, la recherche de numéros UN et les vérifications de certification des conducteurs.

Voir la source du diagramme
Mermaid
sequenceDiagram
  participant User
  participant App as Hazmat Shipping Log App
  participant Back4app as Back4app Cloud

  User->>App: Sign in to the shipping log
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Load shipment logs
  App->>Back4app: GET /classes/Shipment?include=driver,createdBy
  Back4app-->>App: Shipment rows with UN numbers and placard codes

  User->>App: Add a placard verification
  App->>Back4app: POST /classes/PlacardLog
  Back4app-->>App: PlacardLog objectId

  User->>App: Update a driver certification status
  App->>Back4app: PUT /classes/DriverCertification/{objectId}
  Back4app-->>App: DriverCertification saved

  App->>Back4app: POST /classes/ShipmentAudit
  Back4app-->>App: ShipmentAudit recorded

Dictionnaire de données

Référence complète au niveau des champs pour chaque classe dans le schéma du journal d'expédition des matières dangereuses.

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

7 champs dans User

Sécurité et Autorisations

Comment la stratégie ACL et CLP sécurise les expéditions, les journaux de placard, les numéros UN et les certifications des conducteurs.

Contrôle des expéditions par l'opérateur

Seuls les utilisateurs de dispatch autorisés peuvent créer ou modifier des enregistrements d'expédition liés à leur itinéraire ou dépôt.

Intégrité des placards et des certifications

Utilisez la validation avantSave du Cloud Code afin que les entrées de PlacardLog et de DriverCertification ne puissent pas être modifiées sans révision.

Accès de lecture restreint

Limiter l'accès aux journaux d'expédition et aux numéros UN aux rôles d'opérations qui en ont besoin pour les chargements actifs.

Schéma (JSON)

Définition de schéma JSON brute 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": "Shipment",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "shipmentNumber": {
          "type": "String",
          "required": true
        },
        "unNumber": {
          "type": "String",
          "required": true
        },
        "materialName": {
          "type": "String",
          "required": true
        },
        "placardCode": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "driver": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "PlacardLog",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "shipment": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Shipment"
        },
        "placardCode": {
          "type": "String",
          "required": true
        },
        "verifiedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "verifiedAt": {
          "type": "Date",
          "required": true
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "DriverCertification",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "driver": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "certificationType": {
          "type": "String",
          "required": true
        },
        "certificateNumber": {
          "type": "String",
          "required": true
        },
        "expiresOn": {
          "type": "Date",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "verifiedBy": {
          "type": "Pointer",
          "required": false,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "ShipmentAudit",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "shipment": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Shipment"
        },
        "action": {
          "type": "String",
          "required": true
        },
        "performedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "performedAt": {
          "type": "Date",
          "required": true
        },
        "details": {
          "type": "String",
          "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 véritable application de journal d'expédition de matières dangereuses à partir de ce modèle, y compris le frontend, le backend, l'authentification, et les flux d'expédition, d'affichage et de certification.

Agent IA Back4app
Prêt à construire
Créez une application de log d'expédition de matières dangereuses sur Back4app avec ce schéma et ce comportement exacts.

Schéma :
1. Utilisateur (utilisez le système intégré de Back4app) : nom d'utilisateur, email, mot de passe ; objectId, createdAt, updatedAt (système).
2. Expédition : shipmentId (Chaîne, requis), routeName (Chaîne, requis), status (Chaîne, requis), assignedDriver (Pointeur vers l'Utilisateur, requis), sourceDepot (Chaîne), destinationDepot (Chaîne) ; objectId, createdAt, updatedAt (système).
3. PlacardLog : shipment (Pointeur vers l'Expédition, requis), placardCode (Chaîne, requis), verifiedBy (Pointeur vers l'Utilisateur, requis), verifiedAt (Date, requis), notes (Chaîne) ; objectId, createdAt, updatedAt (système).
4. UnNumber : shipment (Pointeur vers l'Expédition, requis), unNumber (Chaîne, requis), properShippingName (Chaîne, requis), hazardClass (Chaîne, requis), packingGroup (Chaîne) ; objectId, createdAt, updatedAt (système).
5. DriverCertification : driver (Pointeur vers l'Utilisateur, requis), certificationType (Chaîne, requis), certificationNumber (Chaîne, requis), expirationDate (Date, requis), status (Chaîne, requis) ; objectId, createdAt, updatedAt (système).
6. CarrierCheck : shipment (Pointeur vers l'Expédition, requis), checkType (Chaîne, requis), result (Chaîne, requis), checkedAt (Date, requis), checkedBy (Pointeur vers l'Utilisateur, requis) ; objectId, createdAt, updatedAt (système).

Sécurité :
- Seuls les utilisateurs de dispatch autorisés peuvent créer ou modifier des enregistrements d'expéditions. Utilisez Cloud Code pour valider les modifications de PlacardLog et de DriverCertification.

Auth :
- Inscription, connexion, déconnexion.

Comportement :
- Lister les expéditions, créer des logs de placard, rechercher des numéros UN et vérifier les certifications des conducteurs.

Livrer :
- Application Back4app avec schéma, ACL, CLP ; frontend pour les logs d'expédition, les logs de placard, les recherches UN et les vérifications de certification des conducteurs.

Appuyez sur le bouton ci-dessous pour ouvrir l'Agent avec cette invite de modèle pré-remplie.

Ceci est le prompt de base sans suffixe technologique. Vous pouvez adapter la pile frontend générée par la suite.

Déployer en quelques minutes50 prompts gratuits / moisAucune carte de crédit requise

API Playground

Essayez les endpoints REST et GraphQL contre le schéma de log d'expédition de matières dangereuses. Les réponses utilisent des données fictives et ne nécessitent pas de compte Back4app.

Chargement du terrain de jeu…

Utilise le même schéma que ce modèle.

Choisissez votre technologie

Développez chaque carte pour voir comment intégrer Shipment, PlacardLog et UnNumber avec votre pile choisie.

Flutter Journal d'expédition Hazmat Backend

React Journal d'expédition Hazmat Backend

React Natif Journal d'expédition Hazmat Backend

Next.js Journal d'expédition Hazmat Backend

JavaScript Journal d'expédition Hazmat Backend

Android Journal d'expédition Hazmat Backend

iOS Journal d'expédition Hazmat Backend

Vue Journal d'expédition Hazmat Backend

Angular Journal d'expédition Hazmat Backend

GraphQL Journal d'expédition Hazmat Backend

REST API Journal d'expédition Hazmat Backend

PHP Journal d'expédition Hazmat Backend

.NET Journal d'expédition Hazmat Backend

Ce que vous obtenez avec chaque technologie

Chaque stack utilise le même schéma de journal d'expédition de matières dangereuses et les contrats API.

Structure de données unifiée pour les matières dangereuses

Gérer les expéditions, les journaux de placard, les numéros UN et les certifications des conducteurs avec un seul schéma.

Flux de travail de placard et de numéro UN

Liez chaque expédition aux entrées correspondantes de PlacardLog et UnNumber.

Suivi des certifications des conducteurs

Vérifiez la date d'expiration avant d'expédier une charge.

Opérations conscientes des rôles

Utilisez les rôles de répartiteur, de vérificateur et de conducteur pour contrôler l'accès aux journaux d'expédition.

REST/GraphQL APIs pour l'expédition

Intégrez les tableaux de bord web, mobiles et opérationnels avec des APIs flexibles.

Architecture d'expédition extensible

Ajoutez des vérifications de transporteur, des notes d'incidents ou des révisions d'itinéraires à mesure que les opérations se développent.

Comparaison du cadre de journal d'expédition de matières dangereuses

Comparer la vitesse de configuration, le style SDK et le support IA parmi toutes les technologies prises en charge.

CadreTemps de configurationAvantage d'expédition de matières dangereusesType de SDKSupport IA
Environ 5 minBase de code unique pour l'envoi et les vérifications sur le terrain sur mobile et web.SDK typéComplet
Moins de 5 minutesTableau de bord d'expédition rapide pour les expéditions et les journaux de plaques.SDK typéComplet
~3–7 minApplication mobile multiplateforme pour la vérification sur le terrain.SDK typéComplet
Configuration rapide (5 min)Console d'opérations rendue par le serveur pour l'expédition de matières dangereuses.SDK typéComplet
~3–5 minIntégration web légère pour la journalisation des expéditions.SDK tapéComplet
Environ 5 minApplication Android native pour les vérifications de cour ou de conducteur.SDK tapéComplet
Moins de 5 minutesApplication iOS native pour les inspections et la revue de certification.SDK tapéComplet
~3–7 minInterface web React pour les équipes de dispatch.SDK tapéComplet
Configuration rapide (5 min)Application web d'entreprise pour les opérations de matières dangereuses.SDK tapéComplet
Moins de 2 minAPI GraphQL flexible pour les vues d'expédition imbriquées.API GraphQLComplet
Configuration rapide (2 min)REST API intégration pour les systèmes d'expédition.REST APIComplet
~3 minFlux de travail PHP côté serveur pour les portails d'expédition.REST APIComplet
~3–7 min.NET backend pour les opérations d'expédition.SDK typéComplet

Le temps de configuration reflète la durée prévue depuis le démarrage du projet jusqu'à la première expédition ou la première requête PlacardLog utilisant ce schéma de modèle.

Questions Fréquemment Posées

Questions courantes sur la création d'un backend pour un Journal d'Expédition de Matières Dangereuses avec ce modèle.

Quelles preuves les examinateurs d'expédition de matières dangereuses s'attendent-ils à voir dans un programme bien géré ?
Quelles horodatages et acteurs sont non négociables pour des dossiers d'expédition de matières dangereuses crédibles ?
Ce modèle d'expédition de matières dangereuses peut-il accueillir de nouveaux contrôles à mesure que les règlements ou contrats changent ?
Comment lister les expéditions dans Flutter ?
Comment gérer les mises à jour d'expédition avec Next.js Server Actions ?
React Native peut-il mettre en cache les journaux de matières dangereuses hors ligne ?
Comment puis-je empêcher les modifications non autorisées de placard ?
Quelle est la meilleure façon d'afficher les certifications des conducteurs sur Android ?
Comment fonctionne le flux d'expédition de matières dangereuses de bout en bout ?
Puis-je ajouter les résultats de l'inspection du transporteur plus tard ?

Fiable par les développeurs du monde entier

Rejoignez des équipes expédiant des produits logistiques de matières dangereuses plus rapidement avec les modèles Back4app

G2 Users Love Us Badge

Prêt à créer votre application de logistique d'expédition de matières dangereuses ?

Commencez votre projet d'expédition de matières dangereuses en quelques minutes. Aucune carte de crédit requise.

Choisir la technologie