Location de générateurs
Construire avec Agent AI
Backend de location de générateurs

Modèle de backend d'application de location de générateurs __PH0__
Suivi du type de carburant et Dispatch d'urgence

Un backend de location de générateurs prêt pour la production sur Back4app avec Générateur, Réservation, Dispatch, Journal d'exécution, et Vérification de carburant. Comprend diagramme ER, dictionnaire de données, schéma JSON, terrain de jeu API, et une invite Agent IA pour un démarrage rapide.

Points à retenir sur la location de générateur

Ce modèle vous donne une interface backend de location de générateur avec Generator, Booking, RuntimeLog, FuelCheck et Dispatch afin que votre équipe puisse gérer les actifs, les locations et les appels de service depuis un seul endroit.

  1. Réservations d'actifs liées aux générateursModèle d'entrées de réservation avec des enregistrements de générateur liés afin que le personnel puisse vérifier la disponibilité par site et date.
  2. Visibilité du type de carburant et de la chargeSuivez Generator.fuelType, Booking.fuelTypeRequested et FuelCheck.fuelLevelPercent pour maintenir les unités diesel, gaz naturel ou propane alignées avec le travail.
  3. Journaux d'exploitation avec contexte de serviceUtilisez RuntimeLog.engineHours, RuntimeLog.runMinutes et RuntimeLog.loadPercent pour repérer les seuils de maintenance avant qu'une unité ne manque un poste.

Qu'est-ce que le modèle d'application de location de générateurs ?

Les meilleures expériences de location de générateurs semblent sans effort car les parties compliquées — conflits, dépôts et rappels — sont gérées par des workflows structurés. La solution est opérationnelle, pas motivationnelle. Utilisez les entités principales sur Back4app pour encoder la disponibilité des générateurs en location, les éléments de tarification et les enregistrements de fulfillment dans un backend cohérent. Le schéma couvre Utilisateur, Générateur, Réservation, Dispatch, RuntimeLog et FuelCheck avec des workflows d'authentification, de réservation et de réponse d'urgence intégrés. Connectez votre frontend préféré et expédiez plus rapidement.

Meilleur pour :

Applications de location de générateursPlateformes de réservation d'équipementsTableaux de bord des propriétaires d'actifsOutils de suivi de dispatch et de maintenanceLancements MVPÉquipes choisissant BaaS pour les opérations de location

Aperçu du backend de location de générateurs

Dans la location de générateurs, de petites incohérences s'accumulent : un mauvais statut devient un mauvais envoi, puis une mauvaise facture, puis un client perdu.

Chaque carte technologique ici correspond aux mêmes comptes d'utilisateurs et détails de contact, à l'inventaire de générateurs et au type de carburant, au modèle de planification des réservations — choisissez une pile sans renégocier votre contrat backend.

Fonctionnalités principales de la location de générateurs

Chaque carte technologique dans ce hub utilise le même schéma de backend de location de générateurs avec Utilisateur, Générateur, Réservation, JournalDeTemps, VérificationDeCarburant et Dispatch.

Comptes d'utilisateur et détails de contact

L'utilisateur stocke le nom d'utilisateur, l'email, le rôle, le nom de l'entreprise et le téléphone pour le bureau de location.

Inventaire des générateurs et type de carburant

Le générateur capture assetTag, marque, modèle, fuelType, kWRating et availabilityStatus.

Planification de réservation

La réservation lie un générateur à un utilisateur avec rentalStart, rentalEnd et siteAddress.

Journaux d'exécution pour les vérifications de maintenance

RuntimeLog stocke engineHours, logTime et loadPercent pour un générateur.

Surveillance du niveau de carburant

FuelCheck enregistre fuelType, fuelLevelPercent et checkTime pour chaque générateur.

Enregistrements de dispatch d'urgence

Dispatch suit la réservation, dispatchStatus, urgence et driverName.

Pourquoi construire votre backend de location de générateurs avec Back4app ?

Back4app offre aux bureaux de location, aux propriétaires et aux clients une couche de données partagée pour les réservations, les vérifications de carburant, les journaux d'exécution et les réponses de distribution.

  • Enregistrements de générateur et de réservation au même endroit: Les classes de générateur et de réservation maintiennent la disponibilité des actifs, les détails du site et les dates de location alignés.
  • Type de carburant et visibilité de l'autonomie: Des champs tels que Generator.fuelType, Booking.fuelTypeRequested, et RuntimeLog.engineHours facilitent la détection d'une unité nécessitant un ravitaillement ou un service.
  • Statut d'envoi sans plomberie supplémentaire: Dispatch.dispatchStatus, Dispatch.emergency, et Booking.emergencyDispatch maintiennent les appels d'urgence visibles sur les clients web et mobiles.

Construisez des flux de location autour des réservations, des journaux d'autonomie et des enregistrements d'envoi sans assembler des services séparés.

Avantages de la location de générateurs

Un backend de location de générateurs qui garde les opérations visibles de la citation à la répartition.

Un délai de réservation plus rapide

Les classes Réservation et Générateur permettent au bureau de confirmer la disponibilité sans rechercher dans des tableurs.

Décisions de carburant avec des champs réels

Generator.fuelType, Booking.fuelTypeRequested et FuelCheck.fuelLevelPercent aident le personnel à dispatcher le bon plan de ravitaillement.

Preuves de temps d'exécution pour les appels de service

RuntimeLog.engineHours et RuntimeLog.logTime montrent si une unité a franchi la fenêtre de service.

Clarté de réponse d'urgence

Dispatch.dispatchStatus, Dispatch.emergency et Dispatch.notes gardent les problèmes urgents visibles pour les bonnes personnes.

Visibilité du propriétaire d'actif

Les propriétaires peuvent examiner les réservations, les relevés de temps d'exécution et l'avancement des envois sans demander d'exportations de feuilles de calcul.

Démarrage assisté par IA

Générez des schémas, des règles de sécurité et des conseils d'intégration pour les flux de travail de location à partir d'un seul prompt structuré.

Prêt à lancer votre application de location de générateur ?

Laissez l'agent IA Back4app créer l'ossature de votre backend de location de générateur et générer des flux de travail de réservation, de carburant, de temps d'exécution et d'envoi à partir d'un seul prompt.

Gratuit pour commencer - 50 invites d'agent AI/mois, aucune carte de crédit requise

Technologie de location de générateur

Tout est inclus dans ce modèle de backend de location de générateur.

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

Générateur de diagramme ER

Modèle de relation d'entité pour le schéma de backend de location de générateur.

Voir la source du diagramme
Mermaid
erDiagram
    User ||--o{ Generator : "owner"
    User ||--o{ Booking : "customer"
    User ||--o{ RuntimeLog : "loggedBy"
    User ||--o{ FuelCheck : "checkedBy"
    Generator ||--o{ Booking : "reserved"
    Generator ||--o{ Dispatch : "dispatched"
    Generator ||--o{ RuntimeLog : "measured"
    Generator ||--o{ FuelCheck : "checked"
    Booking ||--o{ Dispatch : "fulfills"
    Booking ||--o{ RuntimeLog : "tracks"
    RuntimeLog ||--o{ FuelCheck : "references"

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

    Generator {
        String objectId PK
        String assetTag
        String make
        String model
        String fuelType
        Number kWRating
        String availabilityStatus
        Number dailyRate
        String locationBase
        String ownerId FK
        Date createdAt
        Date updatedAt
    }

    Booking {
        String objectId PK
        String bookingNumber
        String generatorId FK
        String customerId FK
        Date rentalStart
        Date rentalEnd
        String siteAddress
        String status
        String fuelTypeRequested
        Boolean emergencyDispatch
        Date createdAt
        Date updatedAt
    }

    Dispatch {
        String objectId PK
        String bookingId FK
        String generatorId FK
        String dispatchStatus
        Date dispatchedAt
        Date arrivedAt
        String driverName
        Boolean emergency
        String notes
        Date createdAt
        Date updatedAt
    }

    RuntimeLog {
        String objectId PK
        String generatorId FK
        String bookingId FK
        String loggedById FK
        Date logTime
        Number engineHours
        Number runMinutes
        Number loadPercent
        String statusNote
        Date createdAt
        Date updatedAt
    }

    FuelCheck {
        String objectId PK
        String generatorId FK
        String runtimeLogId FK
        String checkedById FK
        Date checkTime
        String fuelType
        Number fuelLevelPercent
        Boolean topUpRequired
        String remarks
        Date createdAt
        Date updatedAt
    }

Flux d'intégration de location

Flux d'exécution typique pour la connexion, la recherche de générateur, la création de réservation, l'enregistrement d'exécution et la gestion des dispatches.

Voir la source du diagramme
Mermaid
sequenceDiagram
  participant User
  participant App as Industrial Generator Rental App
  participant Back4app as Back4app Cloud

  User->>App: Sign in to the rental desk or customer portal
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Open generator roster by fuel type
  App->>Back4app: GET /classes/Generator?order=-updatedAt
  Back4app-->>App: Generator list with fuelType, availabilityStatus, and kWRating

  User->>App: Create a booking with rentalStart, rentalEnd, and fuelTypeRequested
  App->>Back4app: POST /classes/Booking
  Back4app-->>App: Booking objectId and bookingNumber

  User->>App: Mark dispatch or emergencyDispatch
  App->>Back4app: POST /classes/Dispatch
  Back4app-->>App: Dispatch status and delivery timestamps

  User->>App: Record runtime hours and fuel check
  App->>Back4app: POST /classes/RuntimeLog
  App->>Back4app: POST /classes/FuelCheck
  Back4app-->>App: Saved runtimeLog and fuelCheck entries

  App->>Back4app: Subscribe to live updates for dispatchStatus and availabilityStatus
  Back4app-->>App: Realtime changes for bookings, dispatches, and generator status

Guide de terrain

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

ChampTypeDescriptionRequis
objectIdStringAuto-generated unique identifierAuto
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringAccount role: admin, rentalDesk, owner, customer, technician
companyNameStringCompany or organization name
phoneStringPrimary contact phone
createdAtDateAuto-generated creation timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

9 champs dans User

Sécurité et permissions

Comment la stratégie ACL et CLP sécurise les utilisateurs, les générateurs, les réservations, les journaux d'exécution, les contrôles de carburant et les enregistrements de dispatch.

Contrôles de l'enregistrement utilisateur

Seuls les employés autorisés doivent créer ou modifier les entrées utilisateur ; les vues destinées aux clients ne doivent exposer que les champs de contact approuvés.

Propriété du générateur et de la réservation

Le personnel de location et les propriétaires d'actifs peuvent gérer les enregistrements de générateur et de réservation, tandis que les clients ne peuvent afficher que leurs propres réservations.

Portée du runtime et de l'expédition

Les journaux d'exécution, FuelCheck et les mises à jour d'expédition doivent être restreints au personnel, avec Cloud Code validant les changements de statut d'urgence.

Schéma JSON

Définition de schéma JSON brut prête à être copiée dans Back4app ou utilisée 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
        },
        "companyName": {
          "type": "String",
          "required": false
        },
        "phone": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Generator",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "assetTag": {
          "type": "String",
          "required": true
        },
        "make": {
          "type": "String",
          "required": true
        },
        "model": {
          "type": "String",
          "required": true
        },
        "fuelType": {
          "type": "String",
          "required": true
        },
        "kWRating": {
          "type": "Number",
          "required": true
        },
        "availabilityStatus": {
          "type": "String",
          "required": true
        },
        "dailyRate": {
          "type": "Number",
          "required": true
        },
        "locationBase": {
          "type": "String",
          "required": false
        },
        "owner": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Booking",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "bookingNumber": {
          "type": "String",
          "required": true
        },
        "generator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Generator"
        },
        "customer": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "rentalStart": {
          "type": "Date",
          "required": true
        },
        "rentalEnd": {
          "type": "Date",
          "required": true
        },
        "siteAddress": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "fuelTypeRequested": {
          "type": "String",
          "required": true
        },
        "emergencyDispatch": {
          "type": "Boolean",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Dispatch",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "booking": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Booking"
        },
        "generator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Generator"
        },
        "dispatchStatus": {
          "type": "String",
          "required": true
        },
        "dispatchedAt": {
          "type": "Date",
          "required": true
        },
        "arrivedAt": {
          "type": "Date",
          "required": false
        },
        "driverName": {
          "type": "String",
          "required": false
        },
        "emergency": {
          "type": "Boolean",
          "required": false
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "RuntimeLog",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "generator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Generator"
        },
        "booking": {
          "type": "Pointer",
          "required": false,
          "targetClass": "Booking"
        },
        "loggedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "logTime": {
          "type": "Date",
          "required": true
        },
        "engineHours": {
          "type": "Number",
          "required": true
        },
        "runMinutes": {
          "type": "Number",
          "required": false
        },
        "loadPercent": {
          "type": "Number",
          "required": false
        },
        "statusNote": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "FuelCheck",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "generator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Generator"
        },
        "runtimeLog": {
          "type": "Pointer",
          "required": false,
          "targetClass": "RuntimeLog"
        },
        "checkedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "checkTime": {
          "type": "Date",
          "required": true
        },
        "fuelType": {
          "type": "String",
          "required": true
        },
        "fuelLevelPercent": {
          "type": "Number",
          "required": true
        },
        "topUpRequired": {
          "type": "Boolean",
          "required": false
        },
        "remarks": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

Construire avec l'agent IA

Utilisez l'agent AI Back4app pour générer une application de location de générateurs réelle à partir de ce modèle, incluant le frontend, le backend, l'authentification et les flux de réservation, d'exécution, de carburant et de dispatch.

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

Schéma :
1. Utilisateur (utiliser Back4app intégré) : objectId, nom d'utilisateur, courriel, mot de passe, rôle, nom de l'entreprise, téléphone, créé le, mis à jour le.
2. Générateur : objectId, étiquette d'actif, marque, modèle, type de carburant, puissance en kW, statut de disponibilité, tarif journalier, base de localisation, propriétaire (pointeur vers Utilisateur), créé le, mis à jour le.
3. Réservation : objectId, numéro de réservation, générateur (pointeur vers Générateur), client (pointeur vers Utilisateur), début de location, fin de location, adresse du site, statut, type de carburant demandé, dispatch d'urgence, créé le, mis à jour le.
4. Dispatch : objectId, réservation (pointeur vers Réservation), générateur (pointeur vers Générateur), statut de dispatch, date d'envoi, arrivé à, nom du conducteur, urgence, notes, créé le, mis à jour le.
5. RuntimeLog : objectId, générateur (pointeur vers Générateur), réservation (pointeur vers Réservation), enregistré par (pointeur vers Utilisateur), heure de journal, heures de moteur, minutes d'exécution, pourcentage de charge, note de statut, créé le, mis à jour le.
6. Vérification de Carburant : objectId, générateur (pointeur vers Générateur), runtimeLog (pointeur vers RuntimeLog), vérifié par (pointeur vers Utilisateur), heure de vérification, type de carburant, niveau de carburant en pourcentage, recharge requise, remarques, créé le, mis à jour le.

Sécurité :
- Le personnel du comptoir de location peut créer des réservations et des enregistrements de dispatch.
- Les propriétaires d'actifs peuvent mettre à jour le statut de disponibilité du générateur, le tarif journalier et la base de localisation.
- Les clients peuvent créer et consulter leurs propres entrées de réservation et inspecter les enregistrements de dispatch, de runtimeLog et de vérification de carburant pour leurs travaux.
- Les entrées de runtimeLog et de vérification de carburant doivent être en mode ajout uniquement une fois enregistrées, sauf par les administrateurs et l'utilisateur d'enregistrement original.
- Gardez les mises à jour de dispatch d'urgence visibles rapidement pour l'équipe assignée au comptoir de location.

Auth :
- Inscription, connexion, déconnexion.

Comportement :
- Filtrer les générateurs par type de carburant et statut de disponibilité.
- Créer des réservations avec des indicateurs de type de carburant demandé et de dispatch d'urgence.
- Mettre à jour le statut de dispatch pour la livraison, l'arrivée et le retour.
- Capturer les journaux d'exécution et les vérifications de carburant pendant la période de location.

Livrer :
- Application Back4app avec schéma, CLPs, ACLs et vues frontend pour la recherche de flotte, la réservation, le dispatch d'urgence, les journaux d'exécution et le suivi de carburant.

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 Playground

Essayez les points de terminaison REST et GraphQL contre le schéma de location de générateur. Les réponses utilisent des données fictives et ne nécessitent pas un compte Back4app.

Chargement de l'environnement de développement…

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

Choisissez votre technologie

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

Backend de location de générateur Flutter

Backend de location de générateur React

Backend de location de générateur React Natif

Backend de location de générateur Next.js

Backend de location de générateur JavaScript

Backend de location de générateur Android

Backend de location de générateur iOS

Backend de location de générateur Vue

Backend de location de générateur Angular

Backend de location de générateur GraphQL

Backend de location de générateur REST API

Backend de location de générateur PHP

Backend de location de générateur .NET

Ce que vous obtenez avec chaque technologie

Chaque pile utilise le même schéma backend de location de générateur et les contrats API.

Modèle unifié des opérations de location pour location de générateur

Gérez les utilisateurs, les générateurs, les réservations, les journaux d'exécution, les contrôles de carburant et les enregistrements d'expédition avec un seul schéma.

Sensibilisation au type de carburant pour location de générateur

Filtrer par Generator.fuelType et afficher la bonne unité pour chaque exigence de site.

Suivi du temps d'exécution et du compteur pour location de générateur

Examinez RuntimeLog.engineHours et RuntimeLog.loadPercent avant que les fenêtres de service ne soient dépassées.

Visibilité d'expédition d'urgence pour location de générateur

Suivez Dispatch.dispatchStatus et l'urgence de la création à la clôture.

REST/GraphQL APIs pour location de générateur

Intégrez les bureaux d'expédition, les portails clients et les tablettes de service via des APIs flexibles.

Comparaison de la pile de location de générateurs

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

CadreTemps de configurationAvantage de la location de générateursType de SDKSupport de l'IA
À propos de 5 minCode unique pour les applications mobiles de dispatcher et de client.SDK typéComplet
Moins de 5 minutesDashboard web rapide pour les opérations du bureau de location.SDK typéComplet
~3–7 minApplication de terrain multiplateforme pour les vérifications de fonctionnement et de carburant.SDK typéComplet
Configuration rapide (5 min)Portail de réservation rendu par le serveur pour les réservations de générateurs.SDK tapéComplet
~3–5 minIntégration web légère pour les flux de travail de location de générateurs.SDK tapéComplet
Environ 5 minApplication Android native pour l'expédition et les vérifications de site.SDK tapéComplet
Moins de 5 minutesApplication iOS native pour les techniciens de terrain.SDK tapéComplet
~3–7 minInterface utilisateur web Reactive pour la réservation et l'état des actifs.SDK typéComplet
Configuration rapide (5 min)Tableau de bord d'entreprise pour la gestion de flotte et de dispatch.SDK typéComplet
Moins de 2 minAPI flexible GraphQL pour les réservations et les requêtes d'exécution.API GraphQLComplet
Configuration rapide (2 min)Intégration REST API pour les systèmes de comptoir de location.REST APIComplet
~3 minBackend PHP côté serveur pour les formulaires de réservation.REST APIComplet
~3–7 minBackend .NET pour les services de flotte et de répartition.SDK typéComplet

Le temps de configuration reflète la durée attendue depuis le démarrage du projet jusqu'à la première requête de générateur ou de réservation en utilisant ce schéma de modèle.

Questions courantes

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

Quelles politiques de location de générateurs sont les plus difficiles à appliquer sans données de réservation structurées ?
Quelle est la bonne façon de lier les comptes utilisateurs et les détails de contact, l'inventaire de générateurs et le type de carburant, la planification de réservation aux inspections de réalisation et de retour ?
Comment ajoutons-nous de nouvelles structures de frais de location de générateurs ou des bundles sans réécrire la logique de réservation ?
Comment puis-je afficher la disponibilité des générateurs dans Flutter?
Comment puis-je gérer les réservations dans le code serveur Next.js?
Est-ce que React Native peut mettre en cache les journaux d'exécution hors ligne?
Comment puis-je empêcher les modifications de dispatch non autorisées?
Quelle est la meilleure façon d'afficher les générateurs sur Android?
Comment fonctionne le flux de réservation à expédition de bout en bout ?
Quelles classes Parse alimentent ce modèle de location de générateur ?

Approuvé par des développeurs dans le monde entier

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

G2 Users Love Us Badge

Prêt à créer votre application de location de générateurs ?

Commencez votre projet de location de générateur en quelques minutes. Pas de carte de crédit requise.

Choisissez la technologie