Journal de conformité du tabac
Construire avec l'agent IA
Backend du journal de conformité au tabac

Modèle de backend du journal de conformité au tabac
Journal des contrôles d'âge et suivi des audits de magasin

Un backend de journal de conformité au tabac prêt pour la production sur Back4app avec journaux de contrôles d'âge, audits de signalisation, et suivi des timbres fiscaux. Inclut diagramme ER, dictionnaire de données, schéma JSON, terrain de jeu API, et un prompt Agent AI pour une configuration rapide.

Principaux enseignements du journal de conformité

Ce modèle vous fournit un backend de journal de conformité du tabac avec des journaux de contrôle d'âge, des audits de signalisation et un suivi des timbres fiscaux afin que les managers et le personnel de terrain puissent enregistrer les inspections et examiner les conclusions en un seul endroit.

  1. Journaux de contrôle d'âge liés à un emplacementModélisez chaque AgeCheckLog avec un pointeur vers l'emplacement afin que les visites en magasin, les vérifications des employés et les notes de révision restent organisées.
  2. Couverture de l'audit de signalisationSuivez les résultats de l'audit de signalisation pour les avertissements requis, le placement et les problèmes de panneaux manquants à chaque emplacement.
  3. Vérification des timbres fiscauxEnregistrez les détails des timbres fiscaux, y compris le numéro de timbre, le type de produit et le résultat de la vérification, pour une révision prête pour l'audit.
  4. Flux de travail de révision prêt sur le terrainUtilisez les classes et permissions Back4app afin que les coordinateurs puissent soumettre, réviser et approuver les journaux de conformité.

Vue d'ensemble du backend du journal de conformité du tabac

Les régulateurs s'attendent à ce que les preuves des journaux de conformité du tabac soient durables : suffisamment immuables pour être fiables, suffisamment flexibles pour améliorer le programme au fil du temps. Le coût apparaît dans les rappels et les crédits. Sur Back4app, Location, AgeCheckLog, SignageAudit et TaxStamp se connectent pour former un récit cohérent du journal de conformité du tabac plutôt qu'un tas de tickets et de fichiers déconnectés. Le schéma couvre Utilisateur (nom d'utilisateur, e-mail, mot de passe), Emplacement (nomDuMagasin, adresse, district), AgeCheckLog (emplacement, nomDuVendeur, anneeDeNaissanceDuClient, résultat), SignageAudit (emplacement, typeDePanneau, placement, statut), et TaxStamp (emplacement, numéroDuTimbre, typeDeProduit, vérifiéLe) avec des contrôles d'authentification et de révision intégrés. Connectez votre frontend préféré et commencez à enregistrer les inspections plus tôt.

Meilleur pour :

Tableaux de bord de conformité du tabacApplications d'inspection de vérification d'âgeOutils d'audit de panneauxFlux de travail de vérification de timbres fiscauxJournalisation sur le terrain de détailÉquipes opérationnelles choisissant BaaS pour des applications de conformité

Journal de conformité au tabac : instantané backend

Les meilleurs tableaux de bord de journal de conformité au tabac sont ennuyeux car les entités sous-jacentes sont propres — pas parce que quelqu'un a manipulations un tableur à minuit.

Attendez-vous à trouver la même Location, AgeCheckLog et SignageAudit que vous commenciez à partir de Flutter, React, Next.js, ou un autre chemin pris en charge.

Fonctionnalités clés du registre de conformité du tabac

Chaque carte technologique dans ce hub utilise le même schéma de Journal de conformité du tabac avec Location, AgeCheckLog, SignageAudit et TaxStamp.

Registre de localisation

La classe Location stocke storeName, address, district et status.

Journaux de vérification d'âge

La classe AgeCheckLog stocke clerkName, customerBirthYear, result et notes.

La classe SignageAudit enregistre signType, placement, condition et status.

SignageAudit class records signType, placement, condition, and status.

Suivi des timbres fiscaux

La classe TaxStamp stocke stampNumber, productType, verifiedAt et verificationStatus.

Pourquoi construire votre backend de journal de conformité au tabac avec Back4app ?

Back4app vous fournit les primitives du journal de conformité afin que votre équipe puisse se concentrer sur les inspections et les étapes de révision au lieu de l'infrastructure et du câblage d'API répétitif.

  • Enregistrement centré sur la localisation: La classe Location ancre les enregistrements AgeCheckLog, SignageAudit et TaxStamp à un magasin ou site.
  • Flux de travail AgeCheckLog et SignageAudit: Créer des entrées avec les champs résultat, signType et placement, puis les examiner sans changer le contrat de l'application.
  • Support de vérification de TaxStamp: Stocker stampNumber, productType et verifiedAt dans TaxStamp afin que les auditeurs puissent tracer l'historique des vérifications plus tard.

Déplacer l'enregistrement des inspections, la révision des signes et les contrôles de timbre fiscal dans un seul contrat backend pour chaque client.

Avantages principaux

Un backend de conformité du tabac qui vous aide à enregistrer les inspections sans perdre de vue les détails sur le terrain.

Configuration d'inspection de magasin plus rapide

Commencez avec Location, AgeCheckLog, SignageAudit et TaxStamp au lieu de créer manuellement des tableaux de conformité.

Effacer la trace d'examen

Enregistrer qui a saisi le journal, à quel magasin il appartient et quel résultat a été capturé pour les audits ultérieurs.

Visibilité des champs et des responsables

Permettre aux coordinateurs d'examiner les contrôles d'âge, les problèmes d'affichage et la vérification des tampons à partir du même modèle de données.

Accès contrôlé aux journaux de conformité

Utiliser ACL/CLP afin que le personnel de terrain, les superviseurs et les auditeurs ne voient que les enregistrements qu'ils doivent traiter.

API réutilisable pour chaque appareil

Servir les inspecteurs mobiles, les tableaux de bord internes et les outils d'examen à partir d'un seul contrat API.

Démarrage de projet guidé par des invites

Utiliser l'invite de l'agent AI pour générer la structure de l'application de conformité et passer plus rapidement à la mise en œuvre.

Prêt à lancer votre application de journal de conformité au tabac ?

Laissez l'agent AI de Back4app structurer votre backend de journal de conformité au tabac et générer des contrôles d'âge, des audits d'affichage et des flux de timbres fiscaux à partir d'un seul prompt.

Gratuit pour commencer — 50 prompts d'agent AI/mois, sans carte de crédit requise

Pile technique

Tout est inclus dans ce modèle de backend de journal de conformité au tabac.

Frontend
13+ technologies
Backend
Back4app
Base de données
MongoDB
Auth
Authentification intégrée + sessions
API
REST et GraphQL
Temps réel
Live Queries

Diagramme ER de conformité au tabac

Modèle de relation d'entité pour le schéma backend du journal de conformité au tabac.

Voir la source du diagramme
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
    }

Flux d'intégration du journal de conformité

Flux d'exécution typique pour l'authentification, la recherche de localisation, la journalisation de vérification d'âge, les audits de signalisation et la vérification de timbre fiscal.

Voir la source du diagramme
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

Dictionnaire de données

Référence complète niveau champ pour chaque classe dans le schéma du Journal de Conformité au Tabac.

ChampTypeDescriptionRequis
objectIdStringAuto-generated unique identifierAuto
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringUser role such as manager, coordinator, or fieldStaff
createdAtDateAuto-generated creation timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

7 champs dans User

Sécurité et permissions

Comment la stratégie ACL et CLP protège les journaux de vérification d’âge, les audits de signalisation et les enregistrements de timbres fiscaux.

Saisie de champ limitée par rôle

Le personnel de terrain peut créer des entrées de AgeCheckLog et de SignageAudit, mais l'approbation ou la suppression reste limitée aux superviseurs.

Visibilité limitée à l'emplacement

Les utilisateurs ne devraient lire que les enregistrements de localisation et les journaux associés qui appartiennent à leur district ou à leur itinéraire assigné.

Protection de la piste d'audit

Utilisez la validation Cloud Code pour que les changements de stampNumber, result et verificationStatus restent contrôlés et traçables.

Schéma (JSON)

Définition de schéma JSON brute prête à être copiée dans Back4app ou utilisée comme référence d'implémentation.

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
        }
      }
    }
  ]
}

Construire avec l'Agent IA

Utilisez l'Agent IA Back4app pour générer une application de journal de conformité au tabac à partir de ce modèle, y compris le frontend, le backend, l'authentification et la vérification d'âge, l'audit de signalisation et les flux de timbres fiscaux.

Agent IA Back4app
Prêt à construire
Créez un backend d'application de journal de conformité au tabac sur Back4app avec ce schéma et ce comportement exacts.

Schéma:
1. Utilisateur (utilisez Back4app intégré) : nom d'utilisateur, email, mot de passe ; objectId, createdAt, updatedAt (système).
2. Emplacement : nomDuMagasin (String, requis), adresse (String, requis), district (String, requis), statut (String, requis) ; objectId, createdAt, updatedAt (système).
3. JournalVérificationÂge : emplacement (Pointeur vers l'Emplacement, requis), nomDuCommis (String, requis), annéeDeNaissanceClient (Nombre, requis), résultat (String, requis), notes (String) ; objectId, createdAt, updatedAt (système).
4. AuditSignalisation : emplacement (Pointeur vers l'Emplacement, requis), typeDePanneau (String, requis), emplacement (String, requis), état (String, requis), statut (String, requis) ; objectId, createdAt, updatedAt (système).
5. TimbreFiscal : emplacement (Pointeur vers l'Emplacement, requis), numéroDeTimbre (String, requis), typeDeProduit (String, requis), vérifiéÀ (Date, requis), statutDeVérification (String, requis) ; objectId, createdAt, updatedAt (système).

Sécurité:
- Seuls les utilisateurs de champ assignés peuvent créer des journaux pour leurs emplacements. Les superviseurs peuvent examiner et approuver. Utilisez le Cloud Code pour la validation.

Auth:
- Inscription, connexion, déconnexion.

Comportement:
- Lister les emplacements, créer des journaux de vérification d'âge, soumettre des audits de signalisation et vérifier les timbres fiscaux.

Livrer:
- Application Back4app avec schéma, ACLs, CLPs ; frontend pour les emplacements, vérifications d'âge, audits de signalisation et vérifications de timbres fiscaux.

Appuyez sur le bouton ci-dessous pour ouvrir l'Agent avec ce modèle de prompt pré-rempli.

Ceci est le prompt de base sans suffixe technologique. Vous pouvez adapter la pile frontend générée par la suite.

Déployer en quelques minutes50 invites gratuites / moisAucune carte de crédit requise

Terrain de jeu API

Essayez les points de terminaison REST et GraphQL contre le schéma du registre de conformité du tabac. Les réponses utilisent des données fictives et ne nécessitent pas de compte Back4app.

Chargement du terrain de jeu…

Utilise le même schéma que ce modèle.

Choisissez votre technologie

Développez chaque carte pour voir comment intégrer Location, AgeCheckLog et SignageAudit avec votre pile choisie.

Flutter Journal de conformité au tabac Backend

React Journal de conformité au tabac Backend

React Natif Journal de conformité au tabac Backend

Next.js Journal de conformité au tabac Backend

JavaScript Journal de conformité au tabac Backend

Android Journal de conformité au tabac Backend

iOS Journal de conformité au tabac Backend

Vue Journal de conformité au tabac Backend

Angular Journal de conformité au tabac Backend

GraphQL Journal de conformité au tabac Backend

REST API Journal de conformité au tabac Backend

PHP Journal de conformité au tabac Backend

.NET Journal de conformité au tabac Backend

Ce que vous obtenez avec chaque technologie

Chaque pile utilise le même schéma et les mêmes contrats API de journal de conformité tabac.

Structure unifiée du journal de conformité

Gérez les enregistrements de Localisation, AgeCheckLog, SignageAudit et TaxStamp avec un seul schéma.

Journaux de vérification d'âge pour les équipes sur le terrain

Capturez le nom du clerc, l'année de naissance du client et le résultat au niveau du magasin.

Suivi des audits de signalisation

Enregistrez le type de signal, le placement et l'état pour chaque visite d'audit.

Traçabilité de la vérification des timbres fiscaux

Stockez le numéro de timbre et l'état de vérification pour un examen ultérieur.

API REST/GraphQL pour les applications de conformité

Intégrez des tableaux de bord, des outils de terrain mobiles et des vues de superviseur depuis le même backend.

Flux de travail d'examen extensible

Ajoutez des approbations, des notes de problème ou des étapes d'escalade sans remplacer le modèle de journal principal.

Comparaison du cadre de conformité du tabac

Comparez la vitesse de configuration, le style SDK et le support de l'IA à travers toutes les technologies prises en charge.

CadreTemps de configurationAvantage du journal de conformitéType de SDKSupport de l'IA
Environ 5 minBase de code unique pour les inspecteurs sur mobile et web.SDK typéComplet
Moins de 5 minutesTableau de bord web rapide pour les responsables de la conformité.SDK typéComplet
~3–7 minApplication mobile multiplateforme pour les visites en magasin.SDK typéComplet
Configuration rapide (5 min)Application web rendue par le serveur pour les équipes de révision.SDK typéComplet
~3–5 minIntégration de navigateur légère pour l'enregistrement sur le terrain.SDK typéComplet
Environ 5 minApplication native Android pour les inspections en magasin.SDK typéComplet
Moins de 5 minutesApplication iPhone native pour les vérifications de conformité.SDK typéComplet
~3–7 minInterface web Reactive pour la déclaration de district.SDK typéComplet
Configuration rapide (5 min)Application web d'entreprise pour les audits et les approbations.SDK typéComplet
Moins de 2 minAPI GraphQL flexible pour des enregistrements de conformité liés.API GraphQLComplet
Configuration rapide (2 min)Intégration REST API pour outils d'inspection.REST APIComplet
~3 minBackend PHP côté serveur pour portails de conformité.REST APIComplet
~3–7 min.NET backend pour les workflows d'audit.SDK typéComplet

Le temps de configuration reflète la durée prévue depuis le démarrage du projet jusqu'à la première requête Location ou AgeCheckLog utilisant ce schéma de modèle.

Questions Fréquemment Posées

Questions courantes sur la création d'un backend de registre de conformité au tabac avec ce modèle.

Comment les équipes de journal de conformité au tabac peuvent-elles prouver les approbations et les exceptions sans reconstruire les fils de discussion par courriel ?
Quelles relations entre le registre des emplacements, les journaux de vérification d'âge et les audits de signalisation rendent les audits de journal de conformité au tabac plus faciles à narrer ?
Quel est le chemin recommandé pour renforcer les permissions du journal de conformité au tabac à mesure que l'organisation grandit ?
Comment puis-je exécuter des requêtes pour les emplacements et les journaux de vérification d'âge avec Flutter ?
Comment puis-je gérer l'accès au journal de conformité au tabac avec Next.js Server Actions ?
Est-ce que React peut mettre en cache les enregistrements de timbre fiscal hors ligne ?
Comment puis-je empêcher les modifications de journal non autorisées ?
Quelle est la meilleure façon d'afficher les journaux de conformité sur Android ?

Fiabilité des développeurs du monde entier

Rejoignez des équipes expédiant des produits de journal de conformité plus rapidement avec les modèles Back4app

G2 Users Love Us Badge

Prêt à construire votre application de journal de conformité du tabac ?

Commencez votre projet de conformité du tabac en quelques minutes. Aucune carte de crédit requise.

Choisissez la technologie