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.
- Inventaire des conteneurs par code et taille — Modé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.
- 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.
- Contrôle des lieux de dépôt — Gardez les enregistrements de réservation liés à un DropOffLocation afin que les équipes d'expédition sachent où chaque conteneur devrait aller.
- Opérations conscientes du rôle — Séparez les actions de réservation des clients des mises à jour du personnel sur les enregistrements de Réservation et de Rapport d’état.
- Un backend pour le web et mobile — Servez 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 :
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.
Carte des relations de conteneurs
Modèle de relation des entités pour le schéma backend de location de conteneurs.
Schéma couvrant les utilisateurs, les conteneurs, les rapports de condition, les lieux de dépose et les réservations.
Voir la source du diagramme
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
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
endGuide de terrain
Référence complète au niveau des champs pour chaque classe dans le schéma de location de conteneurs.
| 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., staff, owner, customer) | |
| createdAt | Date | Auto-generated creation timestamp | Auto |
| updatedAt | Date | Auto-generated last-update timestamp | Auto |
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.
{
"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.
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.
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.
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.
| Cadre | Temps de configuration | Avantage de la location de conteneurs | Type de SDK | Support IA |
|---|---|---|---|---|
| Environ 5 minutes | Code source unique pour la location de conteneurs sur mobile et web. | SDK typé | Complet | |
| Moins de 5 minutes | Tableau de bord web rapide pour le personnel du bureau de location. | SDK typé | Complet | |
| ~3–7 min | Application 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 min | Intégration web légère pour les opérations de location. | SDK tapé | Complet | |
| Environ 5 min | Application native Android pour l'inspection des terrains et la capture de dépôt. | SDK typé | Complet | |
| Moins de 5 minutes | Application native iOS pour le personnel de terrain et les vérifications de réservation sur site. | SDK typé | Complet | |
| ~3–7 min | Interface 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 min | API flexible GraphQL pour les vues de conteneurs imbriqués et de réservations. | API GraphQL | Complet | |
| Configuration rapide (2 min) | Intégration REST API pour les écrans de répartition et d'inventaire. | REST API | Complet | |
| ~3 min | Backend PHP côté serveur pour les opérations de location. | REST API | Complet | |
| ~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.
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.