タバココンプライアンスログバックエンドテンプレート
年齢確認ログと店舗監査追跡
Back4appのタバココンプライアンスログバックエンドには、年齢確認ログ、看板監査、税スタンプ追跡が含まれています。ERダイアグラム、データ辞書、JSONスキーマ、APIプレイグラウンド、そして迅速な設定のためのAIエージェントプロンプトを含みます。
コンプライアンスログの重要事項
このテンプレートは、年齢確認ログ、サインの監査、税スタンプ追跡を含むタバココンプライアンスログバックエンドを提供しますので、管理者と現場スタッフは一箇所で inspections を記録し、結果を確認できます。
- 場所に関連付けられた年齢確認ログ — 各 AgeCheckLog を Location へのポインタでモデル化しますので、店舗訪問、店員のチェック、レビューのノートが整理されます。
- サインの監査範囲 — 各 Location で必要な警告、配置、および欠落サインの問題について、SignageAudit の結果を追跡します。
- 税スタンプの確認 — 監査準備に向けたレビューのために、スタンプ番号、製品タイプ、および確認結果を含む TaxStamp の詳細を記録します。
- フィールド対応のレビュー ワークフロー — Back4app のクラスと権限を使用して、コーディネーターがコンプライアンスログを提出、レビュー、承認できるようにします。
タバココンプライアンスログバックエンドの概要
規制当局は、タバココンプライアンスログの証拠が耐久性があり、信頼できるほど不変で、プログラムを改善するために十分に柔軟であることを期待しています。コストはコールバックやクレジットに現れます。Back4app では、Location、AgeCheckLog、SignageAudit、および TaxStamp が、切り離されたチケットやファイルの山ではなく、一貫したタバココンプライアンスログのストーリーに接続します。このスキーマは、User(ユーザー名、メール、パスワード)、Location(店舗名、住所、地区)、AgeCheckLog(ロケーション、店員名、顧客生年、結果)、SignageAudit(ロケーション、サインタイプ、配置、ステータス)、および TaxStamp(ロケーション、スタンプ番号、製品タイプ、verifiedAt)をカバーし、認証とレビューのコントロールが組み込まれています。お好みのフロントエンドを接続し、早めに監査を記録し始めましょう。
最適な用途:
タバココンプライアンスログ:バックエンドスナップショット
最高のタバココンプライアンスログダッシュボードは、基盤となるエンティティがクリーンであるために退屈です — 誰かが真夜中にスプレッドシートを加工したからではありません。
Flutter、React、Next.js、または他のサポートされたパスから始めた場合でも、同じLocation、AgeCheckLog、SignageAuditを期待してください。
コアタバココンプライアンスログ機能
このハブ内のすべてのテクノロジーカードは、Location、AgeCheckLog、SignageAudit、TaxStamp の同じタバココンプライアンスログスキーマを使用しています。
ロケーション登録
ロケーションクラスはstoreName、address、district、およびstatusを保存します。
年齢確認ログ
AgeCheckLogクラスはclerkName、customerBirthYear、result、およびnotesを保存します。
サイネージ監査
SignageAuditクラスはsignType、placement、condition、およびstatusを記録します。
税スタンプ追跡
TaxStamp クラスは、stampNumber、productType、verifiedAt、および verificationStatus を格納します。
Back4appでタバココンプライアンスログバックエンドを構築する理由は?
Back4appは、インフラストラクチャや繰り返しのAPI配線ではなく、チームが検査やレビューステップに集中できるようにコンプライアンスログの原始を提供します。
- •位置中心のログ記録: Locationクラスは、AgeCheckLog、SignageAudit、TaxStampレコードを1つのストアまたはサイトに固定します。
- •AgeCheckLogとSignageAuditのワークフロー: 結果、signType、および配置フィールドを持つエントリを作成し、アプリの契約を変更することなくそれらをレビューします。
- •TaxStamp検証サポート: 監査人が後でチェック履歴を追跡できるように、TaxStampにstampNumber、productType、およびverifiedAtを保存します。
検査ログ記録、サインレビュー、および税スタンプチェックを、すべてのクライアントで1つのバックエンド契約に統合します。
コアの利点
フィールドの詳細を追跡することなく、検査をログするのに役立つタバココンプライアンスバックエンド。
店舗検査のセットアップが迅速化
コンプライアンステーブルを手動で作成する代わりに、Location、AgeCheckLog、SignageAudit、および TaxStamp から始めます。
レビューの履歴をクリアする
ログに入った人、どの店舗に属するか、後の監査のためにどの結果が記録されたかを記録します。
フィールドと管理者の可視性
コーディネーターが同じデータモデルから年齢確認、看板の問題、スタンプの検証をレビューできるようにします。
コンプライアンスログへの制御されたアクセス
ACL/CLPを使用して、フィールドスタッフ、スーパーバイザー、および監査人が扱うべきレコードのみを表示させます。
すべてのデバイスで再利用可能なAPI
モバイル検査員、内部ダッシュボード、およびレビューツールに1つのAPI契約からサービスを提供します。
プロンプト駆動のプロジェクト開始
AIエージェントのプロンプトを使用して、コンプライアンスアプリの構造を生成し、迅速に実装に移ります。
タバココンプライアンスログアプリの準備は整いましたか?
Back4app AIエージェントにタバココンプライアンスログのバックエンドをスキャフォールドさせ、1つのプロンプトから年齢確認、掲示監査、税印のフローを生成させます。
無料で開始 — 月に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)
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 でこの正確なスキーマと動作でタバココンプライアンスログアプリのバックエンドを作成します。 スキーマ: 1. ユーザー(Back4app 組み込み使用):ユーザー名、メールアドレス、パスワード; objectId、createdAt、updatedAt (システム)。 2. ロケーション:storeName(String、必須)、address(String、必須)、district(String、必須)、status(String、必須);objectId、createdAt、updatedAt (システム)。 3. AgeCheckLog:location(ロケーションへのポインタ、必須)、clerkName(String、必須)、customerBirthYear(Number、必須)、result(String、必須)、notes(String);objectId、createdAt、updatedAt (システム)。 4. SignageAudit:location(ロケーションへのポインタ、必須)、signType(String、必須)、placement(String、必須)、condition(String、必須)、status(String、必須);objectId、createdAt、updatedAt (システム)。 5. TaxStamp:location(ロケーションへのポインタ、必須)、stampNumber(String、必須)、productType(String、必須)、verifiedAt(Date、必須)、verificationStatus(String、必須);objectId、createdAt、updatedAt (システム)。 セキュリティ: - 割り当てられたフィールドユーザーのみが自分のロケーションのログを作成できます。スーパーバイザーはレビューし、承認できます。検証には Cloud Code を使用してください。 認証: - サインアップ、ログイン、ログアウト。 動作: - ロケーションのリスト作成、年齢確認ログの作成、看板監査の提出、税印の確認。 提供: - スキーマ、ACL、CLP を持つ Back4app アプリ; ロケーション、年齢確認、看板監査、税印確認用のフロントエンド。
以下のボタンを押して、このテンプレートプロンプトが自動入力されたエージェントを開いてください。
これは技術的サフィックスのない基本的なプロンプトです。生成されたフロントエンドスタックは後で適応できます。
APIプレイグラウンド
タバココンプライアンスログスキーマに対してRESTとGraphQLエンドポイントを試してください。レスポンスはモックデータを使用しており、Back4appアカウントは必要ありません。
このテンプレートと同じスキーマを使用しています。
技術を選択してください
各カードを展開して、選択したスタックを使用して Location、AgeCheckLog、および SignageAudit を統合する方法を確認します。
Flutter タバココンプライアンスログバックエンド
React タバココンプライアンスログバックエンド
React ネイティブ タバココンプライアンスログバックエンド
Next.js タバココンプライアンスログバックエンド
JavaScript タバココンプライアンスログバックエンド
Android タバココンプライアンスログバックエンド
iOS タバココンプライアンスログバックエンド
Vue タバココンプライアンスログバックエンド
Angular タバココンプライアンスログバックエンド
GraphQL タバココンプライアンスログバックエンド
REST API タバココンプライアンスログバックエンド
PHP タバココンプライアンスログバックエンド
.NET タバココンプライアンスログバックエンド
すべての技術で得られるもの
すべてのスタックは同じタバココンプライアンスログスキーマとAPI契約を使用します。
統一されたコンプライアンスログ構造
1つのスキーマでロケーション、AgeCheckLog、SignageAudit、TaxStampの記録を管理します。
フィールドチームの年齢確認ログ
店舗レベルでclerkName、customerBirthYear、結果をキャプチャします。
看板監査追跡
各監査訪問のためにsignType、placement、およびconditionを記録します。
税スタンプ検証のトレーサビリティ
スタンプ番号と検証ステータスを後で確認できるように保存します。
REST/GraphQL APIはコンプライアンスアプリ用です。
同じバックエンドからダッシュボード、モバイルフィールドツール、スーパーバイザービューを統合します。
拡張可能なレビューワークフロー
コアログモデルを置き換えることなく、承認、問題メモ、またはエスカレーションステップを追加します。
タバココンプライアンスフレームワーク比較
サポートされているすべての技術間で、セットアップ速度、SDKスタイル、およびAIサポートを比較します。
| フレームワーク | セットアップ時間 | コンプライアンスログの利点 | SDKタイプ | AIサポート |
|---|---|---|---|---|
| 約5分 | モバイルおよびウェブ用のフィールドインスペクターのための単一のコードベース。 | タイプされたSDK | 全て | |
| 5分未満 | コンプライアンス管理者向けの高速Webダッシュボード。 | タイプされた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 | 全て |
セットアップ時間は、このテンプレートスキーマを使用したプロジェクトのブートストラップから最初のロケーションまたはAgeCheckLogクエリまでの予想期間を反映します。
よくある質問
このテンプレートを使用してタバココンプライアンスログバックエンドを構築する際の一般的な質問。