監視器安裝後端範本
攝影機 IP 紀錄、儲存檢查和角度照片
一個已準備好生產的 監視器安裝後端 在 Back4app,具備攝影機 IP 紀錄、儲存容量追蹤和角度照片。包括 ER 圖、資料字典、JSON 架構、API 遊樂場,以及一個 AI 代理 提示,便於快速設置。
安裝專案要點
此模板提供了一個安全攝影機安裝後端,圍繞攝影機 IP 日誌、存儲容量檢查和角度照片構建,以便調度、協調員和技術人員可以保持一致。
- 攝影機 IP 溯源 — 為每個 CameraIpLog 項目建模,包含現場團隊所需的 cameraId、ipAddress 和 logTime。
- 存儲規劃 — 在網站上線之前,使用 StorageCheck 記錄比較 capacityGb 和 estimatedRetentionDays。
- 角度照片證明 — 將角度照片附加到攝影機和現場,以便主管能夠從第一次訪問中審查位置。
- 現場準備協調 — 在一個地方追蹤技術人員、安裝狀態和現場筆記以便於派遣和跟進。
理解安全攝像頭安裝後端
客戶根據安裝的速度和清晰度來評價安全攝像頭安裝——當工作歷史存在於三個不同地方時,這很難實現。在 Back4app,核心實體成為具有身份驗證和 API 的一流對象,這樣你的安全攝像頭安裝團隊可以在不重建管道的情況下更快地移動。該架構涵蓋技術人員、現場、攝像頭、攝像頭IP日誌、存儲檢查和角度照片,並內建身份驗證和現場訪問追蹤。連接你首選的前端,並更快地從規劃移向部署。
最適合:
安全攝影機安裝後端概述
最好的安全攝影機安裝儀表板是無聊的,因為基礎實體是乾淨的——而不是因為有人在午夜時分整理了一個電子表格。
技術員分配、現場安裝追蹤、攝影機庫存與擺放背後的結構在中心與技術頁面之間共享;切換框架不應意味著重新設計記錄。
核心安全攝影機安裝功能
此中心中的每張科技卡都使用相同的攝影機安裝架構,包括技術員、現場、攝影機、CameraIpLog、StorageCheck 和 AnglePhoto。
技術人員指派
技術人員記錄名稱、角色及現場人員的聯絡詳情。
現場安裝追蹤
現場記錄地址、訪問備註及安裝狀態。
攝影機庫存和擺放
攝影機儲存序列號、型號、IP地址及安裝位置。
相機IP日誌
CameraIpLog 跟踪 cameraId、ipAddress 和 logTime。
存儲容量檢查
StorageCheck 記錄 capacityGb、usedGb 和 estimatedRetentionDays。
角度照片證據
AnglePhoto 儲存 photoUrl、angleLabel 和 capturedAt。
為什麼使用 Back4app 建立你的安全攝影機安裝後端?
Back4app 為你的團隊提供站點、攝影機、日誌和照片的資料原始類型,因此你可以將時間花在安裝上,而不是後端管道。
- •網站和攝影機追蹤: 網站和攝影機類別將安裝位置、設備詳情和安裝狀態保持在一個可搜索的模型中。
- •按 cameraId 查詢的 IP 日誌歷史: CameraIpLog 將 ipAddress 變更與攝影機綁定,當設備在現場更換或重新分配地址時非常有用。
- •StorageCheck 和 Live Queries: 在 StorageCheck 中追蹤 capacityGb 和 estimatedRetentionDays,然後在審核變更時訂閱更新。
計畫、記錄和審核攝影機安裝,而不必為每個工作週期重寫後端。
核心好處
一個攝影機安裝後端,幫助團隊保持現場工作的組織性和可審查性。
更快的安裝移交
從一個已經包含現場、攝影機和技術員的架構開始,而不是從頭設計現場工作跟踪。
更好的 IP 責任
使用 CameraIpLog 條目查看設備的 ipAddress 何時變更以及最後誰接觸了安裝。
早期做出的存儲決策
在關閉攝影機架之前,將 StorageCheck.capacityGb 與保留需求進行比較。
照片支持的驗證
將 AnglePhoto 記錄與攝影機和現場連結,以便主管可以驗證安裝和觀看角度。
更清晰的工作狀態流程
跟蹤每個現場和攝影機的安裝狀態,而不是將備註分散在電子表格中。
AI輔助啟動
根據一個結構化提示生成後端支架和集成步驟。
準備好啟動您的安全攝影機安裝應用程式了嗎?
讓 Back4app AI 代理構建您的安全攝像頭安裝後端,並從一個提示生成攝像頭 IP 日誌、存儲檢查和角度照片流。
免費啟動 - 每月 50 個 AI 代理提示,無需信用卡
技術堆棧
這個安全攝像頭安裝後端模板中包含所有內容。
攝影機安裝ER圖
安全攝影機安裝架構的實體關係模型。
涵蓋技術人員、地點、攝影機、攝影機IP日誌、存儲檢查和角度照片的架構。
查看圖表來源
erDiagram
User ||--o{ SiteSurvey : "assignedTo"
User ||--o{ CameraInstall : "installedBy"
User ||--o{ CameraIpLog : "loggedBy"
User ||--o{ AnglePhoto : "capturedBy"
User ||--o{ StorageCheck : "checkedBy"
SiteSurvey ||--o{ CameraInstall : "siteSurvey"
CameraInstall ||--o{ CameraIpLog : "cameraInstall"
CameraInstall ||--o{ AnglePhoto : "cameraInstall"
CameraInstall ||--o{ StorageCheck : "cameraInstall"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
SiteSurvey {
String objectId PK
String siteName
String address
String contactName
Date scheduledDate
String notes
String assignedToId FK
Date createdAt
Date updatedAt
}
CameraInstall {
String objectId PK
String siteSurveyId FK
String cameraModel
Number cameraCount
String installStatus
String installedById FK
Date completedAt
Date createdAt
Date updatedAt
}
CameraIpLog {
String objectId PK
String cameraInstallId FK
String cameraLabel
String ipAddress
String macAddress
String loggedById FK
Date loggedAt
Date createdAt
Date updatedAt
}
AnglePhoto {
String objectId PK
String cameraInstallId FK
String cameraLabel
String photoUrl
String photoType
String capturedById FK
Date capturedAt
Date createdAt
Date updatedAt
}
StorageCheck {
String objectId PK
String cameraInstallId FK
Number storageCapacityGb
Number usedStorageGb
Number retentionDays
String checkedById FK
Date checkedAt
Date createdAt
Date updatedAt
}
安全攝影機安裝流程
身份驗證、攝影機IP日誌、存儲檢查和角度照片捕獲的典型運行流程。
查看圖示來源
sequenceDiagram
participant User
participant App as Security Camera Install App
participant Back4app as Back4app Cloud
User->>App: Sign in
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Load site surveys
App->>Back4app: GET /classes/SiteSurvey?include=assignedTo
Back4app-->>App: Survey list
User->>App: Open an install job
App->>Back4app: GET /classes/CameraInstall?include=siteSurvey,installedBy
Back4app-->>App: Install details
User->>App: Save camera IP logs and angle photos
App->>Back4app: POST /classes/CameraIpLog
App->>Back4app: POST /classes/AnglePhoto
Back4app-->>App: Saved log entries
User->>App: Review storage capacity
App->>Back4app: GET /classes/StorageCheck?include=cameraInstall
Back4app-->>App: Storage check results攝影機資料字典
安全攝影機安裝架構中每個類別的欄位級別參考。
| 欄位 | 類型 | 描述 | 必填 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | Login name for coordinators, managers, and installers | |
| String | Work email address | ||
| password | String | Hashed password (write-only) | |
| role | String | User role such as manager, coordinator, or fieldTech | |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
7 欄位在 User 中
安全性和權限
ACL 和 CLP 策略如何保護技術人員檔案、站點詳細信息、攝像頭記錄、存儲檢查和角度照片。
技術人員擁有的訪問權限
技術人員可以更新自己的資料,而主管可以在不編輯憑證的情況下審核指派的工作。
攝像頭和站點完整性
只有授權用戶可以為他們擁有或管理的工作創建或更改攝像頭、站點和 CameraIpLog 條目。
照片和日誌範圍
將 AnglePhoto 和 StorageCheck 的讀取限制在相關站點,以便安裝歷史保持乾淨且可檢查。
架構(JSON)
可隨意複製到 Back4app 的原始 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": "SiteSurvey",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"siteName": {
"type": "String",
"required": true
},
"address": {
"type": "String",
"required": true
},
"contactName": {
"type": "String",
"required": true
},
"scheduledDate": {
"type": "Date",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"assignedTo": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CameraInstall",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"siteSurvey": {
"type": "Pointer",
"required": true,
"targetClass": "SiteSurvey"
},
"cameraModel": {
"type": "String",
"required": true
},
"cameraCount": {
"type": "Number",
"required": true
},
"installStatus": {
"type": "String",
"required": true
},
"installedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"completedAt": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CameraIpLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"cameraInstall": {
"type": "Pointer",
"required": true,
"targetClass": "CameraInstall"
},
"cameraLabel": {
"type": "String",
"required": true
},
"ipAddress": {
"type": "String",
"required": true
},
"macAddress": {
"type": "String",
"required": false
},
"loggedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"loggedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "AnglePhoto",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"cameraInstall": {
"type": "Pointer",
"required": true,
"targetClass": "CameraInstall"
},
"cameraLabel": {
"type": "String",
"required": true
},
"photoUrl": {
"type": "String",
"required": true
},
"photoType": {
"type": "String",
"required": true
},
"capturedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"capturedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "StorageCheck",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"cameraInstall": {
"type": "Pointer",
"required": true,
"targetClass": "CameraInstall"
},
"storageCapacityGb": {
"type": "Number",
"required": true
},
"usedStorageGb": {
"type": "Number",
"required": true
},
"retentionDays": {
"type": "Number",
"required": true
},
"checkedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"checkedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}與 AI 代理一起建設
使用 Back4app AI 代理從此模板生成一個真實的安全攝影機安裝應用,包括前端、後端、身份驗證以及攝影機、日誌、存儲和照片流程。
在 Back4app 上使用這個確切的架構和行為創建一個安全攝影機安裝應用後端。 架構: 1. 技術人員(使用 Back4app 內建的身份驗證進行登錄):姓名(字串,必填)、電子郵件(字串,必填)、電話號碼(字串);objectId、createdAt、updatedAt(系統)。 2. 現場:現場名稱(字串,必填)、地址(字串,必填)、安裝狀態(字串,必填)、訪問備註(字串);objectId、createdAt、updatedAt(系統)。 3. 攝影機:現場(指向現場的指標,必填)、技術人員(指向技術人員的指標,必填)、序列號(字串,必填)、型號(字串,必填)、IP 地址(字串,必填)、安裝位置(字串)、安裝狀態(字串,必填);objectId、createdAt、updatedAt(系統)。 4. CameraIpLog:攝影機(指向攝影機的指標,必填)、IP 地址(字串,必填)、日誌時間(日期,必填)、備註(字串);objectId、createdAt、updatedAt(系統)。 5. StorageCheck:攝影機(指向攝影機的指標,必填)、容量 Gb(數字,必填)、已使用 Gb(數字,必填)、估算保留天數(數字,必填)、檢查時間(日期,必填);objectId、createdAt、updatedAt(系統)。 6. AnglePhoto:攝影機(指向攝影機的指標,必填)、現場(指向現場的指標,必填)、照片 URL(字串,必填)、角度標籤(字串,必填)、捕獲時間(日期,必填)、備註(字串);objectId、createdAt、updatedAt(系統)。 安全性: - 技術人員可以更新自己的資料。主管可以檢查分派的工作、日誌、存儲檢查和照片。 - 只有授權的用戶可以創建或更改攝影機、CameraIpLog、StorageCheck 和 AnglePhoto 項目。 身份驗證: - 註冊、登錄、登出。 行為: - 載入現場、添加攝影機 IP 日誌、檢查存儲容量並上傳角度照片。 交付: - 帶有架構、ACL 和 CLP 的 Back4app 應用;現場、攝影機、IP 日誌、存儲檢查和角度照片的前端。
按以下按鈕打開帶有此模板提示的代理,並填充預設內容。
這是沒有技術後綴的基本提示。您可以稍後調整生成的前端堆棧。
API 遊樂場
嘗試 REST 和 GraphQL 端點,針對安全攝像頭安裝架構。回應使用模擬數據,無需 Back4app 帳戶。
使用與此模板相同的架構。
選擇您的技術
展開每個卡片以了解如何將技術人員、站點和相機與您選擇的技術棧進行整合。
Flutter 安全攝影機安裝後端
React 安全攝影機安裝後端
React 原生 安全攝影機安裝後端
Next.js 安全攝影機安裝後端
JavaScript 安全攝影機安裝後端
Android 安全攝影機安裝後端
iOS 安全攝影機安裝後端
Vue 安全攝影機安裝後端
Angular 安全攝影機安裝後端
GraphQL 安全攝影機安裝後端
REST API 安全攝影機安裝後端
PHP 安全攝影機安裝後端
.NET 安全攝影機安裝後端
您從每項技術中獲得的內容
每個堆疊都使用相同的安全攝影機安裝架構和API合約。
統一的攝影機安裝數據結構
使用一種架構管理網站、攝影機、IP日誌、存儲檢查和角度照片。
現場工作的攝影機IP日誌
通過cameraId記錄ipAddress更改並保持安裝歷史的可讀性。
安裝的存儲容量檢查
在交接網站之前比較capacityGb和usedGb。
審查用的角度照片
附加photoUrl和angleLabel,以便主管可以從應用程式中驗證放置情況。
技術比較
比較所有支持的技術的設置速度、SDK樣式和AI支持。
| 框架 | 設置時間 | 安裝好處 | SDK類型 | AI支持 |
|---|---|---|---|---|
| 大約5分鐘 | 單一代碼庫用於攝影機安裝現場應用程序。 | 類型化SDK | 完整 | |
| 少於5分鐘 | 快速網頁儀表板,用於IP日誌和照片。 | 類型化SDK | 完整 | |
| 約3-7分鐘 | 跨平台技術人員移動應用程序。 | 類型化SDK | 完整 | |
| 快速(5分鐘)設置 | 伺服器渲染的安裝入口網站,供協調員使用。 | 類型化SDK | 完整 | |
| ~3–5 分鐘 | 輕量級網頁整合以用於調度工具。 | 類型化 SDK | 完整 | |
| 約 5 分鐘 | 針對現場技術人員的原生 Android 應用程式。 | 類型化 SDK | 完整 | |
| 少於 5 分鐘 | 針對現場拍照的原生 iOS 應用程式。 | 類型化 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 | 完整 |
設置時間反映了從項目啟動到使用此模板架構的第一個站點或相機查詢的預期持續時間。
常見問題
有關使用此範本構建安防攝像機安裝後端的常見問題。