煙草合規日誌後端模板
年齡檢查日誌及商店審計追蹤
一個生產就緒的 煙草合規日誌後端 在 Back4app,包含年齡檢查日誌、標示審核及稅票追蹤。包括 ER 圖、數據字典、JSON 架構、API 演示平台,以及一個 AI 代理 提示以便快速設置。
合規日誌主要要點
此模板為您提供一個煙草合規日誌後端,包含年齡檢查日誌、標誌審核和稅印追蹤,以便管理者和現場工作人員能夠在一個地方記錄檢查和審查結果。
- 與地點相關的年齡檢查日誌 — 為每個 AgeCheckLog 建模,指向 Location 以便商店訪問、店員檢查和審查記錄保持有序。
- 標誌審核涵蓋範圍 — 在每個 Location 追蹤 SignageAudit 結果,包括所需的警告、擺放和缺少標識問題。
- 稅印驗證 — 記錄 TaxStamp 詳細資訊,包含印章號碼、產品類型和驗證結果,便於進行審計準備的審查。
- 現場準備審查工作流程 — 使用 Back4app 類別和權限,以便協調員可以提交、審查和批准合規日誌。
煙草合規日誌後端概覽
監管機構期望煙草合規日誌證據能夠耐用:足夠不變以建立信任,足夠靈活以隨著時間推進改進計劃。成本體現在回調和抵免方面。在 Back4app 上,地點、年齡檢查日誌、標識審核和稅票連接成一個連貫的煙草合規日誌敘述,而不是一堆分散的票證和文件。該架構涵蓋用戶(用戶名、電子郵件、密碼)、地點(商店名稱、地址、區域)、年齡檢查日誌(位置、店員名稱、顧客出生年份、結果)、標識審核(位置、標識類型、安置、狀態)和稅票(位置、印章編號、產品類型、驗證時間),並內建授權和審查控制。連接您首選的前端並開始更早地記錄檢查。
最佳適用於:
煙草合規日誌:後端快照
最佳的煙草合規日誌儀表板很無聊,因為基礎實體乾淨——而不是因為有人在午夜時按了電子表格。
無論您是從 Flutter、React、Next.js 還是其他支持的路徑開始,都應期望相同的 Location、AgeCheckLog 和 SignageAudit。
核心煙草合規性日誌功能
此中心的每個技術卡片都使用相同的煙草合規日誌架構,包括 Location、AgeCheckLog、SignageAudit 和 TaxStamp。
位置登記
位置類別儲存店名、地址、區域及狀態。
年齡檢查日誌
AgeCheckLog類別儲存店員姓名、顧客出生年份、結果和備註。
標牌稽核
SignageAudit類別記錄標牌類型、擺放位置、狀況和狀態。
稅票追蹤
TaxStamp 類別存儲 stampNumber、productType、verifiedAt 和 verificationStatus。
為什麼使用 Back4app 建立您的煙草合規日誌後端?
Back4app 為您提供合規日誌原語,這樣您的團隊可以專注於檢查和審查步驟,而不是基礎設施和重複的 API 佈線。
- •位置為中心的日誌記錄: 位置類別將 AgeCheckLog、SignageAudit 和 TaxStamp 記錄錨定到一個商店或地點。
- •AgeCheckLog 和 SignageAudit 工作流程: 創建具有結果、signType 和 placement 欄位的條目,然後在不更改應用程序合約的情況下進行審查。
- •TaxStamp 驗證支持: 在 TaxStamp 中存儲 stampNumber、productType 和 verifiedAt,以便審核員可以稍後追溯檢查歷史。
將檢查日誌、標誌審查和稅務印章檢查移至每個客戶的一個後端合約中。
核心優勢
一個煙草合規後端,幫助您記錄檢查而不失去現場細節的追蹤。
更快的商店檢查配置
從 Location、AgeCheckLog、SignageAudit 和 TaxStamp 開始,而不是手動建立合規表。
清除評論痕跡
記錄誰進入了日誌、它屬於哪個商店,以及捕獲的結果以供日後審核。
現場和經理的可見性
讓協調者從相同的數據模型中檢查年齡、標誌問題和印章驗證。
對合規日誌的受控訪問
使用ACL/CLP,讓現場人員、主管和審計員僅查看他們應該處理的記錄。
每個設備可重用的API
從一個API合約為移動檢查員、內部儀表板和審核工具提供服務。
提示驅動的項目啟動
使用AI代理提示生成合規應用程序結構,並更快進入實施階段。
準備好啟動您的煙草合規日誌應用程式了嗎?
讓 Back4app AI 代理搭建您的煙草合規日誌後端,並從一個提示生成年齡檢查、標誌審核和稅票流程。
免費開始 — 每月 50 個 AI 代理提示,無需信用卡
技術堆棧
此煙草合規日誌後端模板中包括所有內容。
煙草合規 ER 圖
煙草合規日誌後端架構的實體關係模型。
包含商店位置、年齡檢查日誌、標示審核和稅收印章驗證的架構。
查看圖表來源
erDiagram
User ||--o{ Location : "manager"
User ||--o{ AgeCheckLog : "checkedBy"
User ||--o{ SignageAudit : "auditedBy"
User ||--o{ TaxStampInspection : "inspectedBy"
Location ||--o{ AgeCheckLog : "location"
Location ||--o{ SignageAudit : "location"
Location ||--o{ TaxStampInspection : "location"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
Location {
String objectId PK
String storeName
String storeCode
String address
String managerId FK
Date createdAt
Date updatedAt
}
AgeCheckLog {
String objectId PK
String locationId FK
String checkedById FK
Date checkDate
String customerInitials
Boolean dobVerified
String idType
String notes
Date createdAt
Date updatedAt
}
SignageAudit {
String objectId PK
String locationId FK
String auditedById FK
Date auditDate
Boolean ageRestrictionSignPresent
Boolean healthWarningSignPresent
String photoUrl
String finding
Date createdAt
Date updatedAt
}
TaxStampInspection {
String objectId PK
String locationId FK
String inspectedById FK
Date inspectionDate
String productBrand
String stampSerial
Boolean stampMatched
String issueNotes
Date createdAt
Date updatedAt
}
合規日誌整合流程
身份驗證、位置查找、年齡檢查日誌、標識審核和稅印驗證的典型運行流程。
查看圖表來源
sequenceDiagram
participant User
participant App as Tobacco Compliance Log App
participant Back4app as Back4app Cloud
User->>App: Sign in
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open location queue
App->>Back4app: GET /classes/Location?include=manager
Back4app-->>App: Locations and managers
User->>App: Add age check log
App->>Back4app: POST /classes/AgeCheckLog
Back4app-->>App: AgeCheckLog objectId
User->>App: Submit signage audit
App->>Back4app: POST /classes/SignageAudit
Back4app-->>App: SignageAudit objectId
User->>App: Review tax stamp inspection
App->>Back4app: GET /classes/TaxStampInspection?order=-inspectionDate
Back4app-->>App: Inspection history數據字典
煙草合規日誌架構中每個類的完整字段級別參考。
| 字段 | 類型 | 描述 | 是否必需 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自動 |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | User role such as manager, coordinator, or fieldStaff | |
| createdAt | Date | Auto-generated creation timestamp | 自動 |
| updatedAt | Date | Auto-generated last-update timestamp | 自動 |
7 欄位在 User 中
安全與權限
如何使用 ACL 和 CLP 策略保護年齡檢查日誌、標識審核和稅收印章紀錄。
角色限制的欄位輸入
現場工作人員可以創建 AgeCheckLog 和 SignageAudit 條目,但批准或刪除仍然限於主管。
位置範圍的可見性
用戶應只閱讀屬於其區域或指定路線的位置記錄和相關日誌。
審計追蹤保護
使用 Cloud Code 驗證以確保 stampNumber、result 和 verificationStatus 的變更受到控制且可追蹤。
架構 (JSON)
原始 JSON 架構定義準備好,可以複製到 Back4app 或用作實施參考。
{
"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": "Location",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"storeName": {
"type": "String",
"required": true
},
"storeCode": {
"type": "String",
"required": true
},
"address": {
"type": "String",
"required": true
},
"manager": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "AgeCheckLog",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"location": {
"type": "Pointer",
"required": true,
"targetClass": "Location"
},
"checkedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"checkDate": {
"type": "Date",
"required": true
},
"customerInitials": {
"type": "String",
"required": false
},
"dobVerified": {
"type": "Boolean",
"required": true
},
"idType": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "SignageAudit",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"location": {
"type": "Pointer",
"required": true,
"targetClass": "Location"
},
"auditedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"auditDate": {
"type": "Date",
"required": true
},
"ageRestrictionSignPresent": {
"type": "Boolean",
"required": true
},
"healthWarningSignPresent": {
"type": "Boolean",
"required": true
},
"photoUrl": {
"type": "String",
"required": false
},
"finding": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "TaxStampInspection",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"location": {
"type": "Pointer",
"required": true,
"targetClass": "Location"
},
"inspectedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"inspectionDate": {
"type": "Date",
"required": true
},
"productBrand": {
"type": "String",
"required": true
},
"stampSerial": {
"type": "String",
"required": true
},
"stampMatched": {
"type": "Boolean",
"required": true
},
"issueNotes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}與 AI 代理一起構建
使用 Back4app AI 代理根據此模板生成真正的煙草合規日誌應用程序,包括前端、後端、身份驗證、年齡檢查、標誌審核和稅票流程。
在 Back4app 上創建一個煙草合規日誌應用程序後端,具有這個確切的架構和行為。 架構: 1. 用戶(使用 Back4app 內建):用戶名、電子郵件、密碼;objectId、createdAt、updatedAt(系統)。 2. 地點:商店名稱(字符串,必填)、地址(字符串,必填)、區域(字符串,必填)、狀態(字符串,必填);objectId、createdAt、updatedAt(系統)。 3. 年齡檢查日誌:地點(指向地點的指針,必填)、店員姓名(字符串,必填)、顧客出生年份(數字,必填)、結果(字符串,必填)、備註(字符串);objectId、createdAt、updatedAt(系統)。 4. 標誌審核:地點(指向地點的指針,必填)、標誌類型(字符串,必填)、放置(字符串,必填)、狀況(字符串,必填)、狀態(字符串,必填);objectId、createdAt、updatedAt(系統)。 5. 稅票:地點(指向地點的指針,必填)、票號(字符串,必填)、產品類型(字符串,必填)、驗證時間(日期,必填)、驗證狀態(字符串,必填);objectId、createdAt、updatedAt(系統)。 安全性: - 只有指派的場地用戶可以為其所在位置創建日誌。主管可以審核和批准。使用 Cloud Code 進行驗證。 身份驗證: - 註冊、登錄、登出。 行為: - 列出地點、創建年齡檢查日誌、提交標誌審核、驗證稅票。 交付: - Back4app 應用程序連同架構、ACL、CLP;地點、年齡檢查、標誌審核和稅票驗證的前端。
按下面的按鈕打開代理,使用這個模板提示預先填寫。
這是沒有技術後綴的基本提示。您可以在後續調整生成的前端堆疊。
API 操作台
嘗試 REST 和 GraphQL 端點針對煙草合規日誌架構。響應使用模擬數據,並不需要 Back4app 帳戶。
使用與此模板相同的架構。
選擇您的技術
展開每一個卡片以查看如何將地點、年齡檢查日誌和標識審計與您選擇的堆疊整合。
Flutter 香煙合規日誌後端
React 香煙合規日誌後端
React 原生 香煙合規日誌後端
Next.js 香煙合規日誌後端
JavaScript 香煙合規日誌後端
Android 香煙合規日誌後端
iOS 香煙合規日誌後端
Vue 香煙合規日誌後端
Angular 香煙合規日誌後端
GraphQL 香煙合規日誌後端
REST API 香煙合規日誌後端
PHP 香煙合規日誌後端
.NET 香煙合規日誌後端
您將從每項技術中獲得的內容
每個堆疊使用相同的煙草合規日誌架構和 API 合約。
統一的合規日誌結構
使用單一架構管理位置、年齡檢查日誌、標識審核和稅印記錄。
現場團隊的年齡檢查日誌
在商店層級捕捉 clerkName、customerBirthYear 和結果。
標識審核追蹤
記錄每次審核訪問的 signType、位置和狀況。
稅印驗證可追溯性
儲存stampNumber和verificationStatus以供後續審核。
REST/GraphQL APIs 用於合規應用程式
從同一後端整合儀表板、移動現場工具和主管視圖。
可擴展的審查工作流程
添加批准、發佈備註或升級步驟,而無需替換核心日誌模型。
煙草合規框架比較
比較所有支援技術的設置速度、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 | 完整 |
設置時間反映了從專案啟動到使用此模板架構的第一次位置或年齡檢查日誌查詢的預期持續時間。
常見問題解答
有關使用此模板構建煙草合規日誌後端的常見問題。