Location de conteneurs
Construire avec l'Agent IA
Backend de l'application de location de conteneurs

Modèle de backend de l'application de location de conteneurs
Contrôle de dépôt de yard et de ContainerCode

Un backend de location de conteneurs prêt pour la production sur Back4app avec gestion de containerCode, isoSize, rapports d'état et lieux de dépôt. Inclut un diagramme ER, un dictionnaire de données, un schéma JSON, un environnement de test API, et un prompt Agent AI pour un démarrage rapide.

Principaux points à retenir sur la location de conteneurs

Ce modèle vous offre un backend de location de conteneurs avec containerCode, isoSize, les rapports de condition et les lieux de dépôt afin que votre personnel de bureau puisse établir des devis, réserver, inspecter et expédier des unités avec moins de suivi manuel.

  1. Inventaire des conteneurs par code et tailleModélisez chaque conteneur avec containerCode, isoSize, condition et statut afin que le personnel puisse faire correspondre les unités 20GP, 40GP ou 40HC à la bonne réservation.
  2. Rapports de condition liés à l'unitéAttachez des entrées de ConditionReport à un conteneur et capturez reportDate, conditionNotes et photosUrl avant le ramassage ou le retour.
  3. Contrôle des lieux de dépôtGardez les enregistrements de réservation liés à un DropOffLocation afin que les équipes d'expédition sachent où chaque conteneur devrait aller.
  4. Opérations conscientes du rôleSéparez les actions de réservation des clients des mises à jour du personnel sur les enregistrements de Réservation et de Rapport d’état.
  5. Un backend pour le web et mobileServez votre bureau de location, le personnel de la cour et les clients via REST ou GraphQL sans dupliquer le modèle de données des conteneurs.

Aperçu : Application de location de conteneurs

La disponibilité est un objectif mouvant dans la location de conteneurs : fenêtres de maintenance, retours en retard, et bundles qui lient plusieurs actifs ensemble. De petits retards s'accumulent rapidement. Utilisez Container, Booking, ConditionReport et DropOffLocation sur Back4app pour encoder la disponibilité de location de conteneur, les points de tarification et les enregistrements d'exécution dans un backend cohérent. Le schéma couvre Utilisateur (username, email, password, role), Conteneur (containerCode, isoSize, condition, status, owner), Réservation (bookingNumber, container, customer, dropOffLocation, pickupDate, returnDate, deliveryStatus), Rapport d'état (container, inspector, reportDate, conditionNotes, photosUrl), et DropOffLocation (locationName, addressLine1, city, region, country, geoLat, geoLng, openHours) avec authentification, contrôle des réservations et flux de travail de location intégrés. Connectez votre frontend préféré et expédiez plus rapidement.

Meilleur pour :

Opérations de location de conteneursSystèmes de réservation de yardOutils de planification de dépôtFlux de reporting des conditionsLancements de MVPÉquipes choisissant BaaS pour les produits à louer

Comment ce backend de location de conteneurs est organisé

les équipes de location de conteneurs gagnent lorsque le travail de routine est ennuyeux : des enregistrements prévisibles, une propriété évidente et des alertes avant que de petits problèmes ne deviennent des incidents.

Utilisez Container, Booking et ConditionReport comme liste de contrôle pour l'étendue du MVP : si ce n'est pas modélisé, cela deviendra un contournement par tableur.

Fonctionnalités de l'application de location de conteneurs

Chaque carte technologique dans ce hub utilise le même schéma backend de location de conteneurs avec User, Container, ConditionReport, DropOffLocation, et Booking.

Inventaire des conteneurs

La classe Container stocke containerCode, isoSize, condition, status et owner.

Flux de réservation

La classe Booking relie le client, le conteneur, le lieu de dépôt, la date de ramassage, la date de retour et le status de livraison.

Rapports d'état au ramassage et au retour

La classe ConditionReport capture reportDate, conditionNotes, et photosUrl.

Gestion des lieux de dépôt

La classe DropOffLocation stocke locationName, addressLine1, city, region, country, geoLat, geoLng, et openHours.

Pourquoi développer votre backend de location de conteneurs avec Back4app ?

Back4app vous offre des primitives de conteneur, de réservation, d'inspection et de localisation afin que votre équipe puisse se concentrer sur les locations plutôt que sur la maintenance des serveurs.

  • Enregistrements de conteneurs et de réservations au même endroit: Les classes de conteneurs et de réservations conservent le containerCode, isoSize, status et pickupDate alignés.
  • Rapports d'état liés à l'actif: Les entrées de ConditionReport capturent conditionNotes, photosUrl et reportDate par rapport à un véritable pointeur de conteneur.
  • Mises à jour de localisation et de statut en direct: Utilisez Live Queries pour les modifications de réservation tout en gardant REST et GraphQL disponibles pour chaque client.

Construisez et itérez rapidement sur les flux de travail de location de conteneurs avec un contrat backend unique sur toutes les plateformes.

Avantages de l'application de location de conteneurs

Un backend de location de conteneurs qui garde les disponibilités, les inspections, et les points de livraison organisés.

Devis plus rapides pour les unités disponibles

Commencez avec les champs Container containerCode, isoSize et status au lieu de reconstruire la logique d'inventaire.

Transferts et vérifications de retour plus sûrs

Liez chaque ConditionReport à un Container afin que reportDate et conditionNotes restent visibles pour le personnel lors du ramassage et du retour.

Planification claire des expéditions

Utilisez les détails Booking dropOffLocation et pickupDate pour voir où chaque conteneur doit aller.

Accès basé sur le rôle pour le personnel et les clients

Utilisez ACL/CLP afin que les clients voient leurs propres entrées de réservation pendant que le personnel gère les mises à jour de Container et de ConditionReport.

Historique de location que vous pouvez interroger

Stockez chaque réservation, rapport et emplacement de drop-off dans Parse afin que le bureau puisse examiner le parcours d'un conteneur sans fusionner des tableurs.

Flux de travail de démarrage assisté par IA

Générez rapidement l'échafaudage backend et les conseils d'intégration avec une invite structurée.

Prêt à lancer votre application de location de conteneurs ?

Laissez l'agent IA Back4app échafauder votre backend de location de conteneurs et générer des codes de conteneurs, des tailles ISO, des rapports d'état et des lieux de dépôt à partir d'une seule invite.

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

Technologie de location de conteneurs

Tout inclus dans ce modèle de backend de location de conteneurs.

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

Carte des relations de conteneurs

Modèle de relation des entités pour le schéma backend de location de conteneurs.

Voir la source du diagramme
Mermaid
erDiagram
    User ||--o{ Container : "owner"
    User ||--o{ ConditionReport : "inspector"
    User ||--o{ Booking : "customer"
    Container ||--o{ ConditionReport : "inspected"
    Container ||--o{ Booking : "reserved"
    DropOffLocation ||--o{ Booking : "drop-off"

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

    Container {
        String objectId PK
        String containerCode
        String isoSize
        String condition
        String status
        String ownerId FK
        Date createdAt
        Date updatedAt
    }

    ConditionReport {
        String objectId PK
        String containerId FK
        String inspectorId FK
        Date reportDate
        String conditionNotes
        String photosUrl
        Date createdAt
        Date updatedAt
    }

    DropOffLocation {
        String objectId PK
        String locationName
        String addressLine1
        String city
        String region
        String country
        Number geoLat
        Number geoLng
        String openHours
        Date createdAt
        Date updatedAt
    }

    Booking {
        String objectId PK
        String bookingNumber
        String containerId FK
        String customerId FK
        String dropOffLocationId FK
        Date pickupDate
        Date returnDate
        String deliveryStatus
        Date createdAt
        Date updatedAt
    }

Flux de l'application Conteneur

Flux d'exécution typique pour l'authentification, la navigation des conteneurs, la création de réservations, le rapport sur l'état et les mises à jour des lieux de drop-off.

Voir la source du diagramme
Mermaid
sequenceDiagram
  participant User
  participant App as Shipping Container Rental App
  participant Back4app as Back4app Cloud

  User->>App: Sign in
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Browse ISO sizes and container status
  App->>Back4app: GET /classes/Container?include=owner&order=-updatedAt
  Back4app-->>App: Container list

  User->>App: Review condition report
  App->>Back4app: GET /classes/ConditionReport?include=container,inspector
  Back4app-->>App: Inspection notes and photos URL

  User->>App: Schedule a drop-off booking
  App->>Back4app: POST /classes/Booking
  Back4app-->>App: Booking number and delivery status

  App->>Back4app: GET /classes/DropOffLocation?order=city
  Back4app-->>App: Drop-off locations

  opt Live updates for desk staff
    App->>Back4app: Subscribe to Booking and Container changes
    Back4app-->>App: Booking status changed
  end

Guide de terrain

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

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

7 champs dans User

Règles d'accès et autorisations

Comment la stratégie ACL et CLP sécurise les utilisateurs, les conteneurs, les réservations, les rapports de condition et les lieux de dépôt.

Limites de réservation client

Les clients peuvent créer et consulter leurs propres entrées de réservation, tandis que le personnel conserve le contrôle sur les enregistrements de conteneur et de lieu de dépôt.

Intégrité de l'inspection

Seul le personnel autorisé du point de location devrait créer ou modifier les entrées de rapport de condition liées à un conteneur.

Localisation et visibilité des ressources

Utilisez des lectures spécifiques pour que les bonnes équipes puissent voir la disponibilité des Conteneurs, le statut des réservations et les instructions de retour sans exposer des locations non pertinentes.

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": "Container",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "containerCode": {
          "type": "String",
          "required": true
        },
        "isoSize": {
          "type": "String",
          "required": true
        },
        "condition": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "owner": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "ConditionReport",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "container": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Container"
        },
        "inspector": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "reportDate": {
          "type": "Date",
          "required": true
        },
        "conditionNotes": {
          "type": "String",
          "required": true
        },
        "photosUrl": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "DropOffLocation",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "locationName": {
          "type": "String",
          "required": true
        },
        "addressLine1": {
          "type": "String",
          "required": true
        },
        "city": {
          "type": "String",
          "required": true
        },
        "region": {
          "type": "String",
          "required": true
        },
        "country": {
          "type": "String",
          "required": true
        },
        "geoLat": {
          "type": "Number",
          "required": false
        },
        "geoLng": {
          "type": "Number",
          "required": false
        },
        "openHours": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Booking",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "bookingNumber": {
          "type": "String",
          "required": true
        },
        "container": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Container"
        },
        "customer": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "dropOffLocation": {
          "type": "Pointer",
          "required": true,
          "targetClass": "DropOffLocation"
        },
        "pickupDate": {
          "type": "Date",
          "required": true
        },
        "returnDate": {
          "type": "Date",
          "required": false
        },
        "deliveryStatus": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

Construire avec l'Agent AI

Utilisez l'Agent AI Back4app pour générer une véritable application de location de conteneurs à partir de ce modèle, y compris le frontend, le backend, l'authentification et les flux de conteneurs, de réservations, d'inspections et de retours.

Agent AI Back4app
Prêt à construire
Créez un backend d'application de location de conteneurs sécurisé sur Back4app avec ce schéma et ce comportement exacts.

Schéma:
1. Utilisateur (utiliser Back4app intégré) : nom d'utilisateur, email, mot de passe, rôle ; objectId, createdAt, updatedAt (système).
2. Conteneur : containerCode (String, requis), isoSize (String, requis), condition (String, requis), statut (String, requis), propriétaire (Pointeur vers Utilisateur, requis) ; objectId, createdAt, updatedAt (système).
3. RapportDeCondition : conteneur (Pointeur vers Conteneur, requis), inspecteur (Pointeur vers Utilisateur, requis), dateDuRapport (Date, requis), notesDeCondition (String, requis), photosUrl (String, optionnel) ; objectId, createdAt, updatedAt (système).
4. EmplacementDeDépose : nomDeL'emplacement (String, requis), adresseLigne1 (String, requis), ville (String, requis), région (String, requis), pays (String, requis), geoLat (Nombre, optionnel), geoLng (Nombre, optionnel), heuresD'ouverture (String, optionnel) ; objectId, createdAt, updatedAt (système).
5. Réservation : numéroDeRéservation (String, requis), conteneur (Pointeur vers Conteneur, requis), client (Pointeur vers Utilisateur, requis), emplacementDeDépose (Pointeur vers EmplacementDeDépose, requis), dateDePriseEnCharge (Date, requise), dateDeRetour (Date, optionnelle), statutDeLivraison (String, requis) ; objectId, createdAt, updatedAt (système).

Sécurité:
- Le personnel peut créer et mettre à jour des conteneurs, des rapports de condition et des emplacements de dépose.
- Les propriétaires peuvent consulter leurs propres conteneurs et réservations.
- Les clients peuvent créer des réservations pour des conteneurs disponibles et consulter leurs propres numéros de réservation et statut de livraison.
- Les rapports de condition doivent être visibles par le personnel et le propriétaire du conteneur correspondant.

Auth:
- Inscription, connexion, déconnexion.

Comportement:
- Lister les conteneurs par isoSize et statut.
- Créer des rapports de condition après inspections.
- Créer des réservations liées à un emplacement de dépose sélectionné.
- Afficher le statut de livraison et les détails de l'emplacement au client.

Livrer:
- application Back4app avec schéma, ACLs, CLPs ; frontend pour l'inventaire des conteneurs, les rapports de condition, la gestion des réservations et la sélection des emplacements de dépose.

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

API Sandbox

Essayez les points de terminaison REST et GraphQL contre le schéma de location de conteneurs. 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 la technologie

Développez chaque carte pour voir comment intégrer Container, Booking et ConditionReport avec votre pile choisie.

Backend de location de conteneurs Flutter

Backend de location de conteneurs React

Backend de location de conteneurs React Natif

Backend de location de conteneurs Next.js

Backend de location de conteneurs JavaScript

Backend de location de conteneurs Android

Backend de location de conteneurs iOS

Backend de location de conteneurs Vue

Backend de location de conteneurs Angular

Backend de location de conteneurs GraphQL

Backend de location de conteneurs REST API

Backend de location de conteneurs PHP

Backend de location de conteneurs .NET

Ce que vous obtenez avec chaque technologie

Chaque pile utilise le même schéma backend de location de conteneurs et contrats API.

Structure d'inventaire unifiée location de conteneur

Suivez les conteneurs, les réservations et les rapports d'état avec un schéma cohérent.

Logs de taille ISO pour location de conteneur

Identifiez chaque conteneur par code, taille, état et statut.

Rapport d'état pour location de conteneur

Enregistrez des notes et des photos d'inspection avant la remise ou après le retour.

Contrôle de l'emplacement de dépôt dans location de conteneur

Gardez les sites de livraison et les instructions de retour liés à chaque réservation.

Correspondance du cadre de location de conteneurs

Comparez la vitesse de configuration, le style SDK et le support de l'IA à travers toutes les technologies prises en charge.

CadreTemps de configurationAvantage de la location de conteneursType de SDKSupport IA
Environ 5 minutesCode source unique pour la location de conteneurs sur mobile et web.SDK typéComplet
Moins de 5 minutesTableau de bord web rapide pour le personnel du bureau de location.SDK typéComplet
~3–7 minApplication mobile multiplateforme pour les équipes de yard et de dispatch.SDK tapéComplet
Configuration rapide (5 min)Application web serveur-rendu pour les réservations et les vérifications d'inventaire.SDK tapéComplet
~3–5 minIntégration web légère pour les opérations de location.SDK tapéComplet
Environ 5 minApplication native Android pour l'inspection des terrains et la capture de dépôt.SDK typéComplet
Moins de 5 minutesApplication native iOS pour le personnel de terrain et les vérifications de réservation sur site.SDK typéComplet
~3–7 minInterface web Reactive pour la disponibilité des conteneurs et les rapports.SDK typéComplet
Configuration rapide (5 min)Application web d'entreprise pour les équipes de location multi-dépôts.SDK typéComplet
Moins de 2 minAPI flexible GraphQL pour les vues de conteneurs imbriqués et de réservations.API GraphQLComplet
Configuration rapide (2 min)Intégration REST API pour les écrans de répartition et d'inventaire.REST APIComplet
~3 minBackend PHP côté serveur pour les opérations de location.REST APIComplet
~3–7 min.NET backend pour les workflows de location de conteneurs d'entreprise.SDK tapéComplet

Le temps de configuration reflète la durée attendue entre le démarrage du projet et la première requête de conteneur ou de réservation utilisant ce schéma de modèle.

Questions sur la location de conteneurs

Questions courantes sur la création d'un backend de location de conteneurs avec ce modèle.

Comment les prix et les dépôts de location de conteneurs peuvent-ils rester équitables sans ralentir le processus de paiement ?
Comment les réservations, conflits et dépôts du modèle de location de conteneurs devraient-ils apparaître dans un graphique cohérent ?
À quoi ressemble la migration lorsque la complexité du catalogue de location de conteneurs augmente saison après saison ?
Comment exécuter des requêtes pour des conteneurs et des réservations avec Flutter ?
Comment gérer les lieux de dépose avec Next.js Server Actions ?
Est-ce que React Native peut mettre en cache les données de réservation et de rapport d’état hors ligne ?
Comment puis-je empêcher les modifications non autorisées des conteneurs ?
Quelle est la meilleure façon d'afficher l'inventaire de location sur Android ?
Comment fonctionne le flux de rapport de condition de bout en bout ?
Quelles classes alimentent ce modèle de location de conteneurs ?

Fiable pour les développeurs du monde entier

Rejoignez des équipes expédiant des produits de location de conteneurs plus rapidement avec les modèles Back4app

G2 Users Love Us Badge

Prêt à construire votre application de location de conteneurs ?

Commencez votre projet de location de conteneurs en quelques minutes. Pas de carte de crédit requise.

Choisir la technologie