重要重點
這個模板提供了一個煙囪清掃日誌後端,包括清掃工作、檢查照片、煙塵清除日誌和安全證書跟蹤,讓辦公室協調員和現場團隊保持協調。
- 清掃工作跟蹤 — 以協調員可查詢的方式,每個SweepJob都包含地址、服務日期和團隊分配。
- 檢查照片捕捉 — 將InspectionPhoto文件存儲在相關的SweepJob旁邊,這樣前後證據將附加到正確的訪問上。
- 煙塵清除日誌 — 記錄每次服務呼叫的SootRemovalLog詳情,例如清潔的煙道、煙塵體積和備註。
煙囪清掃日誌應用模板是什麼?
路由、零件和客戶通信只有在煙囪清掃數據結構化而不是困在 PDF 和側面聊天中時才會感覺毫不費力。細節不是可選的。該模式以 SweepJob、InspectionPhoto、SootRemovalLog 和 SafetyCert 為中心,並在 Back4app 上進行實時查詢,為煙囪清掃操作員提供了整個組織可以信任的真相來源。該模式涵蓋了 SweepJob(propertyName、serviceDate、technician、status)、InspectionPhoto(sweepJob、photoUrl、caption)、SootRemovalLog(sweepJob、sootLevel、removedBy、notes)和 SafetyCert(sweepJob、certNumber、issuedAt、expiresAt、status),並內建認證和工作流程支持。連接您首選的前端並開始更快地記錄現場工作。
最佳用於:
這個煙囪清掃後端是如何組織的
最好的煙囪清掃儀表板看起來無聊,因為基礎實體是乾淨的——而不是因為有人在午夜調整了電子表格。
使用這個概述,查看 SweepJob、InspectionPhoto 和 SootRemovalLog 是如何一起配合的,在您專注於特定客戶框架之前,了解這一點可以節省工程時間。
核心煙囪清掃日誌功能
此中心中的每個技術卡片都使用相同的煙囪清掃後端架構,包含 SweepJob、InspectionPhoto、SootRemovalLog 和 SafetyCert。
掃描任務排程
掃描任務儲存 propertyName、serviceDate、technician 和 status。
檢查照片捕捉
檢查照片連結照片網址、標題和清掃工作。
煙灰去除日誌條目
煙灰去除日誌記錄煙灰水平、移除者、備註和清掃工作。
安全證書追踪
安全證書儲存 certNumber、issuedAt、expiresAt、status 和 sweepJob。
為什麼要使用 Back4app 構建您的煙囪清掃日誌應用後端?
Back4app 為您提供工作、照片、日誌和證書原始信息,以便您的團隊可以專注於服務質量而不是管道問題。
- •SweepJob 和 SafetyCert 結合在一個模型中: 使用 SweepJob 類來進行服務拜訪,使用 SafetyCert 進行證書跟踪,而不是將狀態分散在電子表格中。
- •檢查照片檔案與訪問保持綁定: 將 photoUrl 儲存在 InspectionPhoto 上,並將其連結到正確的 SweepJob,這樣可以方便地查看前後照片。
- •即時更新活動路線: 在進行 SweepJob 和 SootRemovalLog 更新時使用 Live Queries,同時保持 REST 和 GraphQL 對每個客戶可用。
快速建立和更新煙囪清掃工作流程,使用一個後端合約覆蓋移動端和網頁。
核心優勢
一個煙囪清掃後端,幫助現場團隊和協調人保持一致。
更快的工作接收
從 SweepJob、InspectionPhoto、SootRemovalLog 和 SafetyCert 類開始,而不是從零設計每個表。
照片支持的服務證明
使用 InspectionPhoto.photoUrl,以便每次煙囪訪問都有清晰的證據附加到正確的工作上。
辦公室與現場之間的交接更為清晰
技術人員在協調員從同一後端查看工作狀態和證書狀態時更新 SootRemovalLog 記錄。
證書可見性
跟蹤 SafetyCert.expiresAt 和狀態,以便在訪問結束後不會遺失續訂。
對團隊和設備友好
通過一個 API 將清掃工作、照片和日誌提供給平板電腦、手機和網頁儀表板。
AI 輔助設置
通過一個結構化的提示快速生成後端支架和集成指導。
準備好啟動您的煙囪清掃日誌應用程序了嗎?
讓 Back4app AI 代理建立你的煙囪清掃後端,並從一個提示生成檢查照片、去燻灰日誌和安全證書流程。
免費開始 - 每月 50 次 AI 代理提示,不需要信用卡
技術棧
此煙囪清掃日誌應用模板中包含的一切。
ER 圖
煤煙清掃日誌後端架構的實體關係模型。
涵蓋清掃工作、檢查照片、煤煙清理日誌和安全證書的架構。
查看圖表來源
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
}
整合流程
登入、清掃工作列表、檢查照片上傳、煤煙清理登記和安全證書發放的典型運行流程。
查看圖表源
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 date資料字典
煙囪清理日誌架構中每個類別的完整字段級別參考。
| 字段 | 類型 | 描述 | 必需 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| 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 | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
8 字段在 SweepUser 中
安全與權限
如何使用 ACL 和 CLP 策略保護清掃工作、檢查照片、煙塵紀錄及安全證書。
技術人員擁有的清掃紀錄
只有指定的技術人員或協調人應創建、更新或關閉他們所控制的 SweepJob。
照片和記錄完整性
使用 Cloud Code 確保 InspectionPhoto 和 SootRemovalLog 項目在保存之前指向真實的 SweepJob。
證書訪問控制
限制安全證書的讀取和編輯僅限已批准的員工,以便問題和到期詳細資訊保持準確。
架構(JSON)
原始 JSON 架構定義,準備複製到 Back4app 或用作實施參考。
{
"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
}
}
}
]
}使用 AI 代理構建
使用 Back4app AI 代理根據此範本生成一個真實的煙囪清掃記錄應用,包括前端、後端、身份驗證,以及清掃工作、照片、記錄和證書流程。
在 Back4app 上使用此精確的結構和行為創建煙囪清掃記錄應用後端。 結構: 1. 用戶(使用 Back4app 內置):用戶名、電子郵件、密碼;objectId,createdAt,updatedAt(系統)。 2. 清掃工作:propertyName(字符串,必填),serviceDate(日期,必填),technician(指向用戶的指針,必填),status(字符串,必填),notes(字符串);objectId,createdAt,updatedAt(系統)。 3. 檢查照片:sweepJob(指向清掃工作的指針,必填),photoUrl(字符串,必填),caption(字符串),takenAt(日期,必填);objectId,createdAt,updatedAt(系統)。 4. 煤煙清除日誌:sweepJob(指向清掃工作的指針,必填),sootLevel(字符串,必填),removedBy(指向用戶的指針,必填),notes(字符串),cleanedAt(日期,必填);objectId,createdAt,updatedAt(系統)。 5. 安全證書:sweepJob(指向清掃工作的指針,必填),certNumber(字符串,必填),issuedAt(日期,必填),expiresAt(日期,必填),status(字符串,必填);objectId,createdAt,updatedAt(系統)。 安全性: - 只有被指派的技術人員或協調員應該創建、更新或關閉他們控制的清掃工作。使用雲代碼來驗證檢查照片和煤煙清除日誌項目指向一個真實的清掃工作。限制安全證書的訪問權限給經批准的工作人員。 身份驗證: - 註冊,登錄,登出。 行為: - 列出清掃工作,上傳檢查照片,記錄煤煙清除日誌,和發放安全證書。 交付: - 具有結構、ACL、CLP 的 Back4app 應用;清掃工作、檢查照片、煤煙日誌和安全證書跟蹤的前端。
按下下面的按鈕以使用此範本提示預填的代理。
這是沒有技術後綴的基本提示。您可以在之後調整生成的前端堆棧。
API 遊樂場
嘗試將 REST 和 GraphQL 端點與煙囪掃除者架構進行比較。響應使用模擬數據,並且不需要 Back4app 帳戶。
使用與此模板相同的架構。
選擇您的技術
展開每張卡片以查看如何將 SweepJob、InspectionPhoto 和 SootRemovalLog 與您選擇的技術棧整合。
Flutter 煙囪清掃記錄後端
React 煙囪清掃記錄後端
React 本地 煙囪清掃記錄後端
Next.js 煙囪清掃記錄後端
JavaScript 煙囪清掃記錄後端
Android 煙囪清掃記錄後端
iOS 煙囪清掃記錄後端
Vue 煙囪清掃記錄後端
Angular 煙囪清掃記錄後端
GraphQL 煙囪清掃記錄後端
REST API 煙囪清掃記錄後端
PHP 煙囪清掃記錄後端
.NET 煙囪清掃記錄後端
您每項技術所獲得的內容
每個排煙系統都使用相同的煙囪清掃後端架構和API合約。
統一的煙囪工作數據
使用一致的模型來管理SweepJob、InspectionPhoto、SootRemovalLog和SafetyCert。
照片支持的服務證明
將檢查照片附加到正確的清掃工作以便於稍後查看。
針對工作小組的安全證書追蹤
監控問題和到期日期,以便證書狀態對協調員可見。
清晰的技術工作流程
分配工作、記錄污垢清除並使用共享後端更新工作狀態。
煙囪清掃框架比較
比較所有支援技術的設置速度、SDK 風格和 AI 支援。
| 框架 | 設置時間 | 煙囪清掃優勢 | SDK 類型 | AI 支援 |
|---|---|---|---|---|
| 大約 5 分鐘 | 單一代碼庫用於移動和網頁上的煙囪清掃工作。 | 類型化 SDK | 完整 | |
| 少於 5 分鐘 | 為煙囪清掃協調員提供快速的網頁儀表板。 | 類型化 SDK | 完整 | |
| 約 3–7 分鐘 | 適用於現場技術人員的跨平台移動應用程式。 | 類型化 SDK | 完整 | |
| 快速(5 分鐘)設置 | 用於煙囪清掃業務的伺服器渲染網頁應用程式。 | 類型化 SDK | 完整 | |
| 約3–5分鐘 | 輕量級網頁整合以進行掃描日誌。 | 已輸入的SDK | 完整 | |
| 約5分鐘 | 用於現場檢查照片的原生Android應用程式。 | 已輸入的SDK | 完整 | |
| 少於5分鐘 | 用於煙囪服務備註的原生iPhone應用程式。 | 已輸入的SDK | 完整 | |
| 約3–7分鐘 | React 的煙囪清掃日誌的網頁 UI。 | 輸入式 SDK | 完整 | |
| 快速(5 分鐘)設置 | 運營儀表板,用於調度和證書追蹤。 | 輸入式 SDK | 完整 | |
| 不到 2 分鐘 | 靈活的 GraphQL API 用於嵌套清掃工作視圖。 | GraphQL API | 完整 | |
| 快速(2 分鐘)設置 | REST API 整合以記錄和上傳字段日誌。 | REST API | 完整 | |
| 約 3 分鐘 | 伺服器端 PHP 後端用於清掃日誌工具。 | REST API | 完整 | |
| 約 3–7 分鐘 | .NET 後端用於煙囪服務記錄。 | 類型化 SDK | 完整 |
設置時間反映了從專案啟動到首次 SweepJob 或 InspectionPhoto 查詢使用此範本架構的預期持續時間。
常見問題
有關使用此範本建立一個煙囪清掃日誌應用後端的常見問題。