연기 감지기 감사 백엔드 템플릿
배터리 교체 로그 및 현장 테스트 맵
생산 준비 완료 연기 감지기 감사 백엔드 on Back4app 배터리 교체 로그, 민감도 테스트 및 점검 경로를 위한 맵 핀을 포함합니다. ER 다이어그램, 데이터 사전, JSON 스키마, API 놀이터 및 빠른 설정을 위한 AI 에이전트 프롬프트가 포함되어 있습니다.
감사 요약
이 템플릿은 코디네이터와 현장 직원이 덜 수작업으로 검사를 추적할 수 있도록 배터리 교체 로그, 감도 테스트 및 사이트 맵이 포함된 연기 감지기 감사 백엔드를 제공합니다.
- 배터리 교체 이력 — 탐지기 일련번호, 변경 날짜 및 기술자 메모와 함께 모든 `BatteryLog` 항목을 기록합니다.
- 탐지기별 감도 테스트 — 실패한 점검을 쉽게 발견하고 후속 조치를 취할 수 있도록 각 `Detector`에 대한 `SensitivityTest` 결과를 저장합니다.
- 맵 준비 완료 사이트 추적 — `Site` 및 `MapPin` 기록을 사용하여 맵에 탐지기를 배치하고 현장 방문을 계획합니다.
연기 감지기 감사 템플릿이란 무엇인가요?
연기 감지기 감사 팀이 여러 사이트에서 운영될 때 일관된 분류 체계는 감사 이력에서 '같은 문제, 다섯 개의 다른 이름'을 방지합니다. 해결책은 운영상의 문제이지 동기부여의 문제가 아닙니다. Back4app는 Site, Detector, BatteryLog, SensitivityTest 및 MapPin을 타임스탬프가 찍히고 귀속될 수 있도록 유지합니다. 이는 감사가 철저하게 이루어질 때 연기 감지기 감사 팀이 필요로 하는 기본입니다. 스키마는 User (사용자 이름, 이메일, 비밀번호), Site (이름, 주소, 지도 위치), Detector (사이트, 일련 번호, 상태), BatteryLog (감지기, 교체 일자, 배터리 유형), SensitivityTest (감지기, 시험 일자, 결과) 및 MapPin (사이트, 위도, 경도)을 포함하여 인증, 보고 및 지도 친화적인 기록이 내장되어 있습니다. 프론트엔드를 연결하고 감사 추적을 더 빠르게 시작하세요.
최고의 용도:
연기 감지기 감사 백엔드 개요
연기 감지기 감사의 운영자는 일반적으로 인계 시 첫 번째 고통을 느낍니다: 한 팀이 시트를 업데이트하면 다른 팀이 채팅 스레드를 신뢰하고, 두 팀 모두 고객이 들은 것과 일치하지 않습니다.
웹 또는 모바일을 배포하든, Site, Detector 및 BatteryLog는 중추 역할을 합니다 — 이 페이지는 이해관계자를 정렬하는 가장 빠른 방법입니다.
핵심 연기 감지기 감사 기능
이 허브의 모든 기술 카드에는 Site, Detector, BatteryLog, SensitivityTest 및 MapPin이 포함된 동일한 연기 감지기 감사 스키마가 사용됩니다.
사이트 등록 및 맵 앵커
`Site`는 각 건물 또는 Floor Plan에 대한 이름, 주소 및 mapLocation을 저장합니다.
감지기 재고
`감지기`는 일련 번호, 상태 및 사이트를 연결합니다.
배터리 교체 기록
`배터리로그`는 교체일, 배터리 유형 및 기술자 메모를 저장합니다.
민감도 테스트 결과
`SensitivityTest`는 testedAt, result, 및 detector를 기록합니다.
지도 핀 배치
`MapPin`은 위도, 경도 및 사이트를 사용합니다.
왜 Back4app으로 연기 감지기 감사 백엔드를 구축해야 할까요?
Back4app은 귀하의 팀이 백엔드 플럼핑 대신 배터리, 테스트 및 경로 계획에 집중할 수 있도록 사이트, 감지기 및 감사 프리미티브를 제공합니다.
- •한 곳에 있는 감지기 및 사이트 기록: `Detector` 클래스는 `Site`에 연결되므로 배터리 체크 및 민감도 테스트가 올바른 주소 및 지도 핀에 연결됩니다.
- •쿼리하기 쉬운 배터리 로그 기록: `BatteryLog` 행은 `replacedAt`, `batteryType`, 및 `technicianNote`를 캡처하여 관리자들이 탐지기나 날짜별로 교체 작업을 검토하는 데 도움을 줍니다.
- •검사 및 경로 변경에 대한 실시간 상태: Live Queries을 사용하여 `SensitivityTest` 및 `MapPin` 업데이트를 수행하고 REST와 GraphQL는 웹 대시보드 및 모바일 필드 도구를 위해 준비합니다.
감사 백엔드를 한 번 구축한 다음, 경로 계획, 검사 기록 및 후속 작업을 위해 동일한 클래스를 재사용합니다.
주요 이점
팀이 중요한 세부 정보를 잃지 않고 조직화된 상태를 유지할 수 있도록 돕는 연기 감지기 감사 백엔드.
더 빠른 필드 업데이트
방치된 스프레드시트 정리를 기다리지 않고 방문 시 `BatteryLog` 및 `SensitivityTest` 항목을 기록하십시오.
탐지기 기록 지우기
`Detector.serialNumber`와 연결된 로그를 사용하여 모든 장치의 유지 보수 기록을 검토하십시오.
지도 기반 계획
`Site.mapLocation` 및 `MapPin.latitude` / `MapPin.longitude`를 사용하면 경로 계획이 덜 불확실해집니다.
실패한 테스트에 대한 더 나은 후속 조치
실패한 `SensitivityTest.result`는 즉시 필터링할 수 있어 감독자가 어떤 탐지기에 주의가 필요한지 알 수 있습니다.
모바일 및 데스크탑 용 하나의 백엔드
REST 및 GraphQL은 모든 앱에 필요로 하는 같은 `Site`, `Detector`, 및 로그 데이터를 노출합니다.
미래 감사에 대한 재사용 가능한 설정
추후에 추가 필드를 추가하되 `BatteryLog` 및 `SensitivityTest`를 중심 패턴으로 유지하세요.
연기 감지기 감사 앱을 시작할 준비가 되셨나요?
Back4app AI 에이전트가 감사 백엔드를 스캐폴드하고 하나의 프롬프트에서 배터리 로그, 감도 테스트 및 맵 뷰를 생성하도록 하세요.
시작은 무료 — 월 50개의 AI 에이전트 프롬프트, 신용 카드 필요 없음
기술 스택
이 스모크 감지기 감사 백엔드 템플릿에 포함된 모든 것입니다.
스모크 감사 ER 다이어그램
스모크 감지기 감사 백엔드 스키마를 위한 엔티티 관계 모델.
사이트, 감지기, 배터리 로그, 민감도 테스트 및 맵 핀을 포함하는 스키마.
다이어그램 소스 보기
erDiagram
Inspector ||--o{ Building : "primaryCoordinator"
Inspector ||--o{ Audit : "inspector"
Inspector ||--o{ BatteryReplacement : "replacedBy"
Inspector ||--o{ SensitivityTest : "testedBy"
Building ||--o{ Detector : "building"
Building ||--o{ Audit : "building"
Building ||--o{ SiteMap : "building"
Detector ||--o{ BatteryReplacement : "detector"
Detector ||--o{ SensitivityTest : "detector"
Inspector {
String objectId PK
String username
String email
String password
String role
String phoneNumber
Date createdAt
Date updatedAt
}
Building {
String objectId PK
String buildingName
String address
String city
String state
Number latitude
Number longitude
String primaryCoordinatorId FK
Date createdAt
Date updatedAt
}
Detector {
String objectId PK
String buildingId FK
String roomLabel
String deviceId
String modelNumber
Number batteryLevel
Date lastBatteryChangeAt
String status
Date createdAt
Date updatedAt
}
Audit {
String objectId PK
String buildingId FK
String inspectorId FK
Date auditDate
String overallStatus
String notes
Date createdAt
Date updatedAt
}
BatteryReplacement {
String objectId PK
String detectorId FK
String replacedById FK
Date replacementDate
String batteryType
String oldBatteryCondition
Date createdAt
Date updatedAt
}
SensitivityTest {
String objectId PK
String detectorId FK
String testedById FK
Date testDate
String testResult
Number readingValue
String notes
Date createdAt
Date updatedAt
}
SiteMap {
String objectId PK
String buildingId FK
String mapName
Number floorNumber
String mapUrl
String legendNotes
Date createdAt
Date updatedAt
}
감사 통합 흐름
인증, 사이트 조회, 배터리 로그, 민감도 테스트 및 지도 업데이트에 대한 전형적인 실행 흐름입니다.
다이어그램 소스 보기
sequenceDiagram
participant Inspector
participant App as Smoke Detector Audit App
participant Back4app as Back4app Cloud
Inspector->>App: Sign in
App->>Back4app: POST /login
Back4app-->>App: Session token
Inspector->>App: Open building list
App->>Back4app: GET /classes/Building?include=primaryCoordinator
Back4app-->>App: Buildings and coordinators
Inspector->>App: Review detector batteries
App->>Back4app: GET /classes/Detector?include=building&order=-updatedAt
Back4app-->>App: Detector battery levels and statuses
Inspector->>App: Save a battery replacement or sensitivity test
App->>Back4app: POST /classes/BatteryReplacement
App->>Back4app: POST /classes/SensitivityTest
Back4app-->>App: Saved audit trail records
Inspector->>App: Load site maps for a building
App->>Back4app: GET /classes/SiteMap?include=building
Back4app-->>App: Floor plans and detector locations감사 데이터 사전
스모크 감지기 감사 스키마의 모든 클래스에 대한 전체 필드 수준 참조입니다.
| 필드 | 유형 | 설명 | 필수 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 자동 |
| username | String | Inspector login name | |
| String | Inspector email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role of the user (e.g., manager, coordinator, field_tech) | |
| phoneNumber | String | Contact number for site coordination | — |
| createdAt | Date | Auto-generated creation timestamp | 자동 |
| updatedAt | Date | Auto-generated last-update timestamp | 자동 |
8 필드 Inspector에서
보안 및 권한
ACL 및 CLP 전략이 사이트 기록, 감지기 기록 및 감사 로그를 어떻게 보호하는지.
기술자 소유 감사 항목
`BatteryLog` 또는 `SensitivityTest` 항목을 생성한 사용자만 이를 편집하거나 삭제할 수 있어야 합니다.
사이트 수준 읽기 접근
감사 경로가 공유될 때 `Site` 및 `Detector`의 가시성을 지정된 직원 또는 관리자 역할로 제한합니다.
탐지기 상태에 대한 변경 제어
Cloud Code를 사용하여 `Detector.status` 전환을 검증하여 실패한 테스트 또는 교체가 깔끔하게 기록되도록 하세요.
스키마 (JSON)
복사할 준비가 된 원시 JSON 스키마 정의 Back4app에 붙여넣거나 구현 참조로 사용하세요.
{
"classes": [
{
"className": "Inspector",
"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
},
"phoneNumber": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Building",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"buildingName": {
"type": "String",
"required": true
},
"address": {
"type": "String",
"required": true
},
"city": {
"type": "String",
"required": true
},
"state": {
"type": "String",
"required": true
},
"latitude": {
"type": "Number",
"required": false
},
"longitude": {
"type": "Number",
"required": false
},
"primaryCoordinator": {
"type": "Pointer",
"required": true,
"targetClass": "Inspector"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Detector",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"building": {
"type": "Pointer",
"required": true,
"targetClass": "Building"
},
"roomLabel": {
"type": "String",
"required": true
},
"deviceId": {
"type": "String",
"required": true
},
"modelNumber": {
"type": "String",
"required": true
},
"batteryLevel": {
"type": "Number",
"required": false
},
"lastBatteryChangeAt": {
"type": "Date",
"required": false
},
"status": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Audit",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"building": {
"type": "Pointer",
"required": true,
"targetClass": "Building"
},
"inspector": {
"type": "Pointer",
"required": true,
"targetClass": "Inspector"
},
"auditDate": {
"type": "Date",
"required": true
},
"overallStatus": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "BatteryReplacement",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"detector": {
"type": "Pointer",
"required": true,
"targetClass": "Detector"
},
"replacedBy": {
"type": "Pointer",
"required": true,
"targetClass": "Inspector"
},
"replacementDate": {
"type": "Date",
"required": true
},
"batteryType": {
"type": "String",
"required": true
},
"oldBatteryCondition": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SensitivityTest",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"detector": {
"type": "Pointer",
"required": true,
"targetClass": "Detector"
},
"testedBy": {
"type": "Pointer",
"required": true,
"targetClass": "Inspector"
},
"testDate": {
"type": "Date",
"required": true
},
"testResult": {
"type": "String",
"required": true
},
"readingValue": {
"type": "Number",
"required": false
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SiteMap",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"building": {
"type": "Pointer",
"required": true,
"targetClass": "Building"
},
"mapName": {
"type": "String",
"required": true
},
"floorNumber": {
"type": "Number",
"required": false
},
"mapUrl": {
"type": "String",
"required": true
},
"legendNotes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AI 에이전트로 빌드
Back4app AI 에이전트를 사용하여 프론트엔드, 백엔드, 인증, 배터리, 테스트, 및 맵 흐름을 포함한 이 템플릿에서 실제 연기 탐지기 감사 앱을 생성하세요.
Back4app에서 이 정확한 스키마와 동작으로 연기 감지기 감사 앱 백엔드를 생성합니다. 스키마: 1. 사용자 (사용 Back4app 내장): 사용자 이름, 이메일, 비밀번호; objectId, createdAt, updatedAt (시스템). 2. 사이트: 이름 (문자열, 필수), 주소 (문자열, 필수), mapLocation (GeoPoint, 필수), 메모 (문자열); objectId, createdAt, updatedAt (시스템). 3. 감지기: 사이트 (사이트에 대한 포인터, 필수), 일련번호 (문자열, 필수, 고유), 상태 (문자열, 필수), 모델 이름 (문자열), 마지막 배터리 교체일 (날짜); objectId, createdAt, updatedAt (시스템). 4. 배터리 로그: 감지기 (감지기에 대한 포인터, 필수), 교체일 (날짜, 필수), 배터리 유형 (문자열, 필수), 기술자 메모 (문자열), 교체자 (사용자에 대한 포인터); objectId, createdAt, updatedAt (시스템). 5. 민감도 테스트: 감지기 (감지기에 대한 포인터, 필수), 테스트일 (날짜, 필수), 결과 (문자열, 필수), 읽기 값 (숫자), 기술자 메모 (문자열); objectId, createdAt, updatedAt (시스템). 6. 지도 핀: 사이트 (사이트에 대한 포인터, 필수), 위도 (숫자, 필수), 경도 (숫자, 필수), 레이블 (문자열), 경로 순서 (숫자); objectId, createdAt, updatedAt (시스템). 보안: - 기술자가 자신의 배터리 로그 및 민감도 테스트 항목을 작성할 수 있도록 ACL/CLP를 사용하고, 관리자가 사이트 및 감지기 기록을 검토할 수 있도록 합니다. - 감지기 상태 변화를 검증하고 연결된 사이트 데이터를 요구하는 클라우드 코드를 사용합니다. 인증: - 가입, 로그인, 로그아웃. 동작: - 사이트 목록, 사이트별 감지기 표시, 배터리 교체 로그 생성, 민감도 테스트 제출 및 다음 경로를 위한 지도 핀 새로 고침. 전달: - 스키마, ACL, CLP가 포함된 Back4app 앱; 사이트, 감지기, 배터리 로그, 민감도 테스트 및 지도 보기를 위한 프론트엔드.
아래 버튼을 눌러 이 템플릿 프롬프트가 미리 채워진 Agent를 열어보세요.
이것은 기술 접미사가 없는 기본 프롬프트입니다. 생성된 프론트엔드 스택을 그 후에 조정할 수 있습니다.
API 놀이터
연기 감지기 감사 스키마에 대해 REST 및 GraphQL 엔드포인트를 시도해 보십시오. 응답은 모의 데이터를 사용하며 Back4app 계정이 필요하지 않습니다.
이 템플릿과 동일한 스키마를 사용합니다.
기술 선택
각 카드를 확장하여 선택한 스택과 Site, Detector, 및 BatteryLog 통합 방법을 확인하세요.
Flutter 연기 감지기 감사 백엔드
React 연기 감지기 감사 백엔드
React 네이티브 연기 감지기 감사 백엔드
Next.js 연기 감지기 감사 백엔드
JavaScript 연기 감지기 감사 백엔드
Android 연기 감지기 감사 백엔드
iOS 연기 감지기 감사 백엔드
Vue 연기 감지기 감사 백엔드
Angular 연기 감지기 감사 백엔드
GraphQL 연기 감지기 감사 백엔드
REST API 연기 감지기 감사 백엔드
PHP 연기 감지기 감사 백엔드
.NET 연기 감지기 감사 백엔드
각 기술과 함께 제공되는 내용
모든 스택은 동일한 연기 감지기 감사 백엔드 스키마 및 API 계약을 사용합니다.
통합 감사 데이터 구조
일관된 스키마로 사이트, 감지기, 배터리 로그, 민감도 테스트 및 지도 핀을 관리합니다.
현장 팀을 위한 배터리 교체 로그
각 배터리 교체를 타임스탬프, 감지기 포인터 및 기술자 노트와 함께 추적합니다.
규정 준수 검사를 위한 민감도 테스트 추적
탐지기에 따라 통과 또는 실패 결과를 기록하여 후속 작업이 명확하게 보이게 합니다.
맵 인식 사이트 계획
사이트 좌표와 핀 기록을 사용하여 경로를 계획하고 누락된 검사를 줄입니다.
REST/GraphQL 감사 앱용 API
하나의 백엔드 계약을 통해 웹, 모바일 및 내부 도구를 통합합니다.
연기 감사 기술 비교
모든 지원 기술에서 설정 속도, 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분 | 서버 측 __브랜드0__ 백엔드 감사 관리자 도구용. | __브랜드0__ | 전체 | |
| ~3–7 분 | 탐지기 검사 작업 흐름을 위한 __브랜드0__ 백엔드. | 입력된 SDK | 전체 |
설정 시간은 이 템플릿 스키마를 사용하여 프로젝트 시작부터 첫 사이트, 감지기 또는 로그 쿼리까지 예상되는 기간을 반영합니다.
자주 묻는 질문
이 템플릿을 사용하여 연기 감지기 감사 백엔드를 구축하는 것에 대한 일반적인 질문.