Modèle de backend d'application de journal de ramoneur
Photos d'inspection, journaux de retrait de suie et suivi des certificats de sécurité
Un backend de journal de ramoneur prêt à la production sur Back4app avec photos d'inspection, journaux de retrait de suie et suivi des certificats de sécurité. Comprend le diagramme ER, le dictionnaire de données, le schéma JSON, le terrain de jeu API et un prompt Agent IA pour un réglage rapide.
Principaux points à retenir
Ce modèle vous offre un backend de journal de ramonage avec des travaux de ramonage, des photos d'inspection, des journaux d'élimination de suie et le suivi des certificats de sécurité afin que les coordinateurs de bureau et les équipes sur le terrain restent synchronisés.
- Suivi des travaux de ramonage — Modélisez chaque travail de ramonage avec adresse, date de service et affectation d'équipe de manière à ce que les coordinateurs puissent interroger.
- Capture de photo d'inspection — Stockez les fichiers de photo d'inspection à côté du travail de ramonage concerné afin que la preuve avant-après reste attachée à la bonne visite.
- Journaux d'élimination de suie — Enregistrez les détails du journal d'élimination de suie tels que le conduit nettoyé, le volume de suie et les notes pour chaque appel de service.
Qu'est-ce que le modèle d'application Journal de Ramoneur ?
Le routage, les pièces et les communications avec les clients semblent faciles uniquement lorsque les données des ramoneurs sont structurées plutôt que coincées dans des PDF et des conversations parallèles. Les détails ne sont pas optionnels. Le schéma se concentre sur SweepJob, InspectionPhoto, SootRemovalLog, et SafetyCert avec des requêtes en temps réel sur Back4app, donnant aux opérateurs de ramonage une source de vérité en laquelle toute l'organisation peut avoir confiance. Le schéma couvre SweepJob (propertyName, serviceDate, technician, status), InspectionPhoto (sweepJob, photoUrl, caption), SootRemovalLog (sweepJob, sootLevel, removedBy, notes), et SafetyCert (sweepJob, certNumber, issuedAt, expiresAt, status) avec l'authentification et le support des flux de travail intégrés. Connectez votre frontend préféré et commencez à enregistrer les travaux sur le terrain plus rapidement.
Idéal pour :
Comment ce backend de ramoneur est organisé
Les meilleurs tableaux de bord de ramoneur sont ennuyeux car les entités sous-jacentes sont propres - pas parce que quelqu'un a massé une feuille de calcul à minuit.
Utilisez cet aperçu pour voir comment SweepJob, InspectionPhoto et SootRemovalLog s'assemblent avant de consacrer du temps d'ingénierie à un framework client spécifique.
Fonctionnalités principales du journal de ramonage
Chaque carte technologique dans ce hub utilise le même schéma backend de ramonage avec SweepJob, InspectionPhoto, SootRemovalLog et SafetyCert.
Planification de SweepJob
SweepJob stocke propertyName, serviceDate, technician et status.
Capture InspectionPhoto
InspectionPhoto lie photoUrl, légende et sweepJob.
Entrées SootRemovalLog
Le SootRemovalLog enregistre sootLevel, removedBy, notes et sweepJob.
Suivi de SafetyCert
SafetyCert stocke certNumber, issuedAt, expiresAt, status et sweepJob.
Pourquoi construire votre application de journal de ramoneur avec Back4app ?
Back4app vous fournit les primitives de travail, photo, journal et certificat afin que votre équipe puisse se concentrer sur la qualité de service plutôt que sur la plomberie.
- •SweepJob et SafetyCert dans un seul modèle: Utilisez la classe SweepJob pour les visites de service et SafetyCert pour le suivi des certificats au lieu de répartir le statut sur des feuilles de calcul.
- •Les fichiers InspectionPhoto restent liés aux visites: Stockez photoUrl sur InspectionPhoto et reliez-le au bon SweepJob afin que les images avant-après soient faciles à consulter.
- •Mises à jour en temps réel pour les itinéraires actifs: Utilisez Live Queries pour les changements de SweepJob et de SootRemovalLog tout en gardant REST et GraphQL disponibles pour chaque client.
Construisez et mettez à jour rapidement les workflows de ramonage avec un contrat backend unique pour mobile et web.
Avantages principaux
Un backend de ramonage qui aide les équipes de terrain et les coordinateurs à rester alignés.
Prise en charge des travaux plus rapide
Commencez à partir des classes SweepJob, InspectionPhoto, SootRemovalLog et SafetyCert au lieu de concevoir chaque table depuis zéro.
Preuve de service étayée par photo
Utilisez InspectionPhoto.photoUrl pour que chaque visite de cheminée ait des preuves claires attachées au bon travail.
Transfert plus fluide entre le bureau et le terrain
Les techniciens mettent à jour les notes du SootRemovalLog pendant que les coordinateurs examinent l'état des travaux et l'état des certificats depuis le même backend.
Visibilité des certificats
Suivez SafetyCert.expiresAt et l'état pour que les renouvellements ne soient pas perdus après la clôture de la visite.
Convivial pour l'équipage et les appareils
Servez des travaux de balayage, des photos et des journaux sur des tablettes, des téléphones et des tableaux de bord web via une seule API.
Configuration assistée par IA
Générez rapidement des structures backend et des conseils d'intégration avec une seule invite structurée.
Prêt à lancer votre application de journal de ramonage de cheminée ?
Laissez l'agent AI Back4app créer votre backend d'agent de ramonage et générer des photos d'inspection, un journal de nettoyage de suie et des flux de certificats de sécurité à partir d'un seul prompt.
Gratuit pour commencer — 50 prompts d'agent AI/mois, aucune carte de crédit requise
Pile technique
Tout inclus dans ce modèle d'application de journal de ramonage.
Diagramme ER
Modèle de relation d'entité pour le schéma backend du journal des ramoneurs.
Schéma couvrant les travaux de ramonage, les photos d'inspection, les journaux d'élimination de suie et les certificats de sécurité.
Voir la source du diagramme
erDiagram
SweepUser ||--o{ Property : "assignedCoordinator"
SweepUser ||--o{ Inspection : "inspector"
SweepUser ||--o{ InspectionPhoto : "takenBy"
SweepUser ||--o{ SootRemovalLog : "technician"
SweepUser ||--o{ SafetyCertificate : "issuedBy"
Property ||--o{ Inspection : "property"
Inspection ||--o{ InspectionPhoto : "inspection"
Inspection ||--o{ SootRemovalLog : "inspection"
Inspection ||--o{ SafetyCertificate : "inspection"
SweepUser {
String objectId PK
String username
String email
String password
String fullName
String role
Date createdAt
Date updatedAt
}
Property {
String objectId PK
String propertyName
String addressLine
String contactName
String contactPhone
String assignedCoordinatorId FK
Date createdAt
Date updatedAt
}
Inspection {
String objectId PK
String propertyId FK
String inspectorId FK
Date inspectionDate
String chimneyCondition
String inspectionNotes
String status
Date createdAt
Date updatedAt
}
InspectionPhoto {
String objectId PK
String inspectionId FK
String photoUrl
String caption
String takenById FK
Date createdAt
Date updatedAt
}
SootRemovalLog {
String objectId PK
String inspectionId FK
String technicianId FK
String sootLevel
String removalMethod
Number amountRemoved
String workNotes
Date createdAt
Date updatedAt
}
SafetyCertificate {
String objectId PK
String inspectionId FK
String certificateNumber
String issuedById FK
Date issueDate
Date expiryDate
String certificateStatus
Date createdAt
Date updatedAt
}
Flux d'intégration
Flux d'exécution typique pour la connexion, la liste des travaux de ramonage, le téléchargement de photos d'inspection, l'enregistrement de l'élimination de suie et l'émission de certificats de sécurité.
Voir la source du diagramme
sequenceDiagram
participant User
participant App as Chimney Sweep Log App
participant Back4app as Back4app Cloud
User->>App: Sign in as manager or technician
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Load property list
App->>Back4app: GET /classes/Property?include=assignedCoordinator
Back4app-->>App: Properties with coordinator pointers
User->>App: Open an inspection
App->>Back4app: GET /classes/Inspection?include=property,inspector
Back4app-->>App: Inspection rows and status values
User->>App: Add inspection photos and soot removal log
App->>Back4app: POST /classes/InspectionPhoto and POST /classes/SootRemovalLog
Back4app-->>App: Saved photo and removal log objects
User->>App: Issue a safety certificate
App->>Back4app: POST /classes/SafetyCertificate
Back4app-->>App: Certificate number and expiry dateDictionnaire de données
Référence complète au niveau des champs pour chaque classe dans le schéma du journal de ramonage.
| Champ | Type | Description | Requis |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Auto |
| username | String | Login name for a coordinator, manager, or field user | |
| String | Email address for notifications and access | ||
| password | String | Hashed password (write-only) | |
| fullName | String | Display name for the sweep user | |
| role | String | Role in the chimney sweep workflow (e.g. manager, coordinator, technician) | |
| createdAt | Date | Auto-generated creation timestamp | Auto |
| updatedAt | Date | Auto-generated last-update timestamp | Auto |
8 champs dans SweepUser
Sécurité et autorisations
Comment la stratégie ACL et CLP protège les travaux de balayage, les photos d'inspection, les journaux de suie et les certificats de sécurité.
Records de balayage appartenant au technicien
Seul le technicien ou le coordinateur assigné doit créer, mettre à jour ou clôturer le SweepJob qu'il contrôle.
Intégrité des photos et des journaux
Utilisez Cloud Code pour vous assurer que les entrées InspectionPhoto et SootRemovalLog pointent vers un vrai SweepJob avant qu'elles ne soient enregistrées.
Contrôle d'accès aux certificats
Restreindre les lectures et les modifications de SafetyCert au personnel approuvé afin que les détails d'émission et d'expiration restent précis.
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.
{
"classes": [
{
"className": "SweepUser",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"fullName": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Property",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"propertyName": {
"type": "String",
"required": true
},
"addressLine": {
"type": "String",
"required": true
},
"contactName": {
"type": "String",
"required": true
},
"contactPhone": {
"type": "String",
"required": true
},
"assignedCoordinator": {
"type": "Pointer",
"required": true,
"targetClass": "SweepUser"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Inspection",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"property": {
"type": "Pointer",
"required": true,
"targetClass": "Property"
},
"inspector": {
"type": "Pointer",
"required": true,
"targetClass": "SweepUser"
},
"inspectionDate": {
"type": "Date",
"required": true
},
"chimneyCondition": {
"type": "String",
"required": true
},
"inspectionNotes": {
"type": "String",
"required": false
},
"status": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "InspectionPhoto",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"inspection": {
"type": "Pointer",
"required": true,
"targetClass": "Inspection"
},
"photoUrl": {
"type": "String",
"required": true
},
"caption": {
"type": "String",
"required": false
},
"takenBy": {
"type": "Pointer",
"required": true,
"targetClass": "SweepUser"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SootRemovalLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"inspection": {
"type": "Pointer",
"required": true,
"targetClass": "Inspection"
},
"technician": {
"type": "Pointer",
"required": true,
"targetClass": "SweepUser"
},
"sootLevel": {
"type": "String",
"required": true
},
"removalMethod": {
"type": "String",
"required": true
},
"amountRemoved": {
"type": "Number",
"required": true
},
"workNotes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SafetyCertificate",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"inspection": {
"type": "Pointer",
"required": true,
"targetClass": "Inspection"
},
"certificateNumber": {
"type": "String",
"required": true
},
"issuedBy": {
"type": "Pointer",
"required": true,
"targetClass": "SweepUser"
},
"issueDate": {
"type": "Date",
"required": true
},
"expiryDate": {
"type": "Date",
"required": true
},
"certificateStatus": {
"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 application de carnet de ramonage réel à partir de ce modèle, y compris le frontend, le backend, l'authentification et les flux de travail des emplois de ramonage, photo, carnet et certificat.
Créez un backend d'application de carnet de ramonage sur Back4app avec ce schéma et ce comportement exacts. Schéma: 1. Utilisateur (utilisez le built-in de Back4app): nom d'utilisateur, e-mail, mot de passe; objectId, createdAt, updatedAt (système). 2. SweepJob: propertyName (String, requis), serviceDate (Date, requis), technician (Pointer to User, requis), status (String, requis), notes (String); objectId, createdAt, updatedAt (système). 3. InspectionPhoto: sweepJob (Pointer to SweepJob, requis), photoUrl (String, requis), caption (String), takenAt (Date, requis); objectId, createdAt, updatedAt (système). 4. SootRemovalLog: sweepJob (Pointer to SweepJob, requis), sootLevel (String, requis), removedBy (Pointer to User, requis), notes (String), cleanedAt (Date, requis); objectId, createdAt, updatedAt (système). 5. SafetyCert: sweepJob (Pointer to SweepJob, requis), certNumber (String, requis), issuedAt (Date, requis), expiresAt (Date, requis), status (String, requis); objectId, createdAt, updatedAt (système). Sécurité: - Seul le technicien ou le coordinateur affecté doit créer, mettre à jour ou clore le SweepJob qu'il contrôle. Utilisez le Cloud Code pour vérifier que les entrées InspectionPhoto et SootRemovalLog pointent vers un véritable SweepJob. Restreindre l'accès à SafetyCert au personnel approuvé. Auth: - Inscription, connexion, déconnexion. Comportement: - Lister les emplois de ramonage, télécharger des photos d'inspection, enregistrer des journaux de retrait de suie et émettre des certificats de sécurité. Livraison: - Application Back4app avec schéma, ACLs, CLPs; frontend pour les emplois de ramonage, les photos d'inspection, les journaux de suie et le suivi des certificats de sécurité.
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.
Playground API
Essayez les points de terminaison REST et GraphQL contre le schéma de ramoneur. 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 votre technologie
Développez chaque carte pour voir comment intégrer SweepJob, InspectionPhoto et SootRemovalLog avec votre pile choisie.
Flutter Journal de ramonage Backend
React Journal de ramonage Backend
React Natif Journal de ramonage Backend
Next.js Journal de ramonage Backend
JavaScript Journal de ramonage Backend
Android Journal de ramonage Backend
iOS Journal de ramonage Backend
Vue Journal de ramonage Backend
Angular Journal de ramonage Backend
GraphQL Journal de ramonage Backend
REST API Journal de ramonage Backend
PHP Journal de ramonage Backend
.NET Journal de ramonage Backend
Ce que vous obtenez avec chaque technologie
Chaque pile utilise le même schéma backend et les contrats API pour les ramoneurs.
Données de travail de ramoneur unifiées
Gérez SweepJob, InspectionPhoto, SootRemovalLog et SafetyCert avec un modèle cohérent.
Preuve de service soutenue par des photos
Gardez les photos d'inspection attachées au bon emploi de ramonage pour une révision ultérieure.
Suivi des certificats de sécurité pour les équipes
Surveillez les dates d'émission et d'expiration afin que l'état des certificats soit visible aux coordinateurs.
Flux de travail des techniciens clairs
Attribuez des emplois, enregistrez l'élimination de la suie et mettez à jour l'état des emplois avec un backend partagé.
Comparaison du cadre de nettoyage de cheminées
Comparer la vitesse de configuration, le style SDK et le support AI entre toutes les technologies prises en charge.
| Framework | Temps de configuration | Avantage du ramoneur | Type de SDK | Support AI |
|---|---|---|---|---|
| Environ 5 min | Code source unique pour les emplois de ramonage sur mobile et web. | SDK tapé | Complet | |
| Moins de 5 minutes | Tableau de bord web rapide pour les coordinateurs de ramonage. | SDK typé | Complet | |
| ~3–7 min | Application mobile multiplateforme pour les techniciens de terrain. | SDK typé | Complet | |
| Configuration rapide (5 min) | Application web rendue côté serveur pour les opérations de ramonage. | SDK typé | Complet | |
| ~3–5 min | Intégration web légère pour les journaux de balayage. | SDK Tapé | Complet | |
| Environ 5 min | Application native Android pour les photos d'inspection de terrain. | SDK Tapé | Complet | |
| Moins de 5 minutes | Application iPhone native pour les notes de service de cheminée. | SDK Tapé | Complet | |
| ~3–7 min | React interface web pour les journaux de ramonage. | SDK typé | Complet | |
| Configuration rapide (5 min) | Tableau de bord des opérations pour le suivi des dispatchs et des certificats. | SDK typé | Complet | |
| Moins de 2 min | API GraphQL flexible pour les vues de travaux de ramonage imbriquées. | GraphQL API | Complet | |
| Configuration rapide (2 min) | intégration REST API pour les journaux de terrain et les téléchargements. | REST API | Complet | |
| ~3 min | Backend PHP côté serveur pour les outils de journals de ramonage. | REST API | Complet | |
| ~3–7 min | Backend .NET pour les dossiers de service de cheminée. | 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 SweepJob ou InspectionPhoto utilisant ce schéma de modèle.
Questions Fréquemment Posées
Questions courantes sur la création d'une application backend de journalisation des ramonages avec ce modèle.
Prêt à construire votre application de journal de ramonage ?
Commencez votre projet de ramonage en quelques minutes. Pas de carte de crédit requise.