烟草合规日志
与 AI Agent 一起构建
煙草合規日誌後端

煙草合規日誌後端模板
年齡檢查日誌及商店審計追蹤

一個生產就緒的 煙草合規日誌後端 在 Back4app,包含年齡檢查日誌、標示審核及稅票追蹤。包括 ER 圖、數據字典、JSON 架構、API 演示平台,以及一個 AI 代理 提示以便快速設置。

合規日誌主要要點

此模板為您提供一個煙草合規日誌後端,包含年齡檢查日誌、標誌審核和稅印追蹤,以便管理者和現場工作人員能夠在一個地方記錄檢查和審查結果。

  1. 與地點相關的年齡檢查日誌為每個 AgeCheckLog 建模,指向 Location 以便商店訪問、店員檢查和審查記錄保持有序。
  2. 標誌審核涵蓋範圍在每個 Location 追蹤 SignageAudit 結果,包括所需的警告、擺放和缺少標識問題。
  3. 稅印驗證記錄 TaxStamp 詳細資訊,包含印章號碼、產品類型和驗證結果,便於進行審計準備的審查。
  4. 現場準備審查工作流程使用 Back4app 類別和權限,以便協調員可以提交、審查和批准合規日誌。

煙草合規日誌後端概覽

監管機構期望煙草合規日誌證據能夠耐用:足夠不變以建立信任,足夠靈活以隨著時間推進改進計劃。成本體現在回調和抵免方面。在 Back4app 上,地點、年齡檢查日誌、標識審核和稅票連接成一個連貫的煙草合規日誌敘述,而不是一堆分散的票證和文件。該架構涵蓋用戶(用戶名、電子郵件、密碼)、地點(商店名稱、地址、區域)、年齡檢查日誌(位置、店員名稱、顧客出生年份、結果)、標識審核(位置、標識類型、安置、狀態)和稅票(位置、印章編號、產品類型、驗證時間),並內建授權和審查控制。連接您首選的前端並開始更早地記錄檢查。

最佳適用於:

煙草合規儀表板年齡檢查檢查應用標識審核工具稅收印章驗證工作流程零售現場登錄業務團隊選擇 BaaS 作為合規應用程序

煙草合規日誌:後端快照

最佳的煙草合規日誌儀表板很無聊,因為基礎實體乾淨——而不是因為有人在午夜時按了電子表格。

無論您是從 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 代理提示,無需信用卡

技術堆棧

此煙草合規日誌後端模板中包括所有內容。

前端
13+ 種技術
後端
Back4app
數據庫
MongoDB
身份驗證
內建身份驗證 + 會話
API
REST 和 GraphQL
實時
Live Queries

煙草合規 ER 圖

煙草合規日誌後端架構的實體關係模型。

查看圖表來源
Mermaid
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
    }

合規日誌整合流程

身份驗證、位置查找、年齡檢查日誌、標識審核和稅印驗證的典型運行流程。

查看圖表來源
Mermaid
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

數據字典

煙草合規日誌架構中每個類的完整字段級別參考。

字段類型描述是否必需
objectIdStringAuto-generated unique identifier自動
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringUser role such as manager, coordinator, or fieldStaff
createdAtDateAuto-generated creation timestamp自動
updatedAtDateAuto-generated last-update timestamp自動

7 欄位在 User 中

安全與權限

如何使用 ACL 和 CLP 策略保護年齡檢查日誌、標識審核和稅收印章紀錄。

角色限制的欄位輸入

現場工作人員可以創建 AgeCheckLog 和 SignageAudit 條目,但批准或刪除仍然限於主管。

位置範圍的可見性

用戶應只閱讀屬於其區域或指定路線的位置記錄和相關日誌。

審計追蹤保護

使用 Cloud Code 驗證以確保 stampNumber、result 和 verificationStatus 的變更受到控制且可追蹤。

架構 (JSON)

原始 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": "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 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;地點、年齡檢查、標誌審核和稅票驗證的前端。

按下面的按鈕打開代理,使用這個模板提示預先填寫。

這是沒有技術後綴的基本提示。您可以在後續調整生成的前端堆疊。

幾分鐘內部署每月 50 個免費提示無需信用卡

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完整

設置時間反映了從專案啟動到使用此模板架構的第一次位置或年齡檢查日誌查詢的預期持續時間。

常見問題解答

有關使用此模板構建煙草合規日誌後端的常見問題。

煙草合規日誌團隊如何在不重建電子郵件線程的情況下證明批准和例外?
位置登記、年齡檢查日誌和標識審核之間的關係使煙草合規日誌審核更容易敘述嗎?
隨著組織的成長,收緊煙草合規日誌權限的建議路徑是什麼?
如何使用 Flutter 查詢地點和年齡檢查日誌?
我如何用 Next.js Server Actions 管理煙草合規日誌的訪問?
可以讓 React 原生應用離線緩存稅單記錄嗎?
我該如何防止未經授權的日誌編輯?
在 Android 上顯示合規性日誌的最佳方法是什麼?

全球開發者的信賴選擇

加入團隊,快速推出符合規範的日誌產品,使用 Back4app 範本

G2 Users Love Us Badge

準備好建立您的煙草合規日誌應用程式了嗎?

幾分鐘內開始您的煙草合規專案。無需信用卡。

選擇技術