Шаблон бэкенда журнала соблюдения табачных норм
Журналы проверок возраста и отслеживание аудита магазина
Рабочий Бэкенд журнала соблюдения табачных норм на Back4app с журналами проверок возраста, аудитом вывесок и отслеживанием налоговых марок. Включает диаграмму ER, словарь данных, схему JSON, API-площадку и запрос AI Agent для быстрой настройки.
Основные выводы из журнала соблюдения
Этот шаблон предоставляет вам бэкенд журнала соблюдения табачных изделий с записями проверок возраста, аудитом знаков и отслеживанием налоговых марок, чтобы менеджеры и полевые сотрудники могли записывать проверки и просматривать результаты в одном месте.
- Записи проверок возраста, привязанные к местоположению — Моделируйте каждую запись AgeCheckLog с указателем на местоположение, чтобы визиты в магазин, проверки продавцов и записи обзоров оставались организованными.
- Покрытие аудита знаков — Отслеживайте результаты SignageAudit для необходимых предупреждений, размещения и проблем с отсутствующими знаками на каждом местоположении.
- Проверка налоговых марок — Записывайте детали TaxStamp, включая номер марки, тип продукта и результат проверки, для готовости к аудиту.
- Рабочий процесс проверки готовности к полевым условиям — Используйте классы и разрешения Back4app, чтобы координаторы могли отправлять, проверять и утверждать журналы соблюдения.
Сводка по бэкенду журнала соблюдения табака
Регуляторы ожидают, что доказательства соблюдения журнала табака будут надежными: достаточно неизменными, чтобы им доверять, и достаточно гибкими, чтобы улучшать программу со временем. Затраты отражаются в возвратах и кредитах. В Back4app локация, журнал проверки возраста, аудит вывесок и налоговая марка соединяются в связное повествование о соблюдении табака, а не в груду несвязанных билетов и файлов. Схема охватывает Пользователя (имя пользователя, электронная почта, пароль), Локацию (название магазина, адрес, район), Журнал проверки возраста (локация, имя кассира, год рождения клиента, результат), Аудит вывесок (локация, тип вывески, размещение, статус) и Налоговую марку (локация, номер марки, тип продукта, подтверждено) с встроенными контролями аутентификации и проверки. Подключите предпочитаемый фронтенд и начинайте регистрировать инспекции раньше.
Лучше всего для:
Журнал соблюдения норм в области табака: снимок бэкэнда
Лучшие панели управления журналами соблюдения норм в области табака скучные, потому что основные сущности чистые — не потому что кто-то в полночь работал над таблицей.
Ожидайте одни и те же Location, AgeCheckLog и SignageAudit, независимо от того, начинаете ли вы с Flutter, React, Next.js или другого поддерживаемого пути.
Основные функции журнала соблюдения требований к табаку
Каждая технологическая карточка в этом центре использует одну и ту же схему журнала соблюдения табачного законодательства с Location, AgeCheckLog, SignageAudit и TaxStamp.
Реестр местоположений
Класс Location хранит storeName, адрес, округ и статус.
Журналы проверки возраста
Класс AgeCheckLog хранит clerkName, customerBirthYear, результат и примечания.
Аудиты вывесок
Класс SignageAudit фиксирует signType, размещение, состояние и статус.
Отслеживание акцизных марок
Класс TaxStamp хранит stampNumber, productType, verifiedAt и verificationStatus.
Почему стоит создать бэкэнд журнала соблюдения норм табака с Back4app?
Back4app предоставляет вам примитивы журналов соблюдения норм, чтобы ваша команда могла сосредоточиться на инспекциях и этапах проверки, вместо инфраструктуры и повторяющегося подключения API.
- •Логирование на основе местоположения: Класс Location связывает записи AgeCheckLog, SignageAudit и TaxStamp с одним магазином или сайтом.
- •Рабочий процесс AgeCheckLog и SignageAudit: Создайте записи с полями result, signType и placement, затем просмотрите их, не изменяя контракт приложения.
- •Поддержка проверки TaxStamp: Храните stampNumber, productType и verifiedAt в TaxStamp, чтобы аудиторы могли отслеживать историю проверки позже.
Объедините логирование проверок, обзор знаков и проверки налоговых штампов в одном контракте на сервере для каждого клиента.
Основные преимущества
Бэкенд соблюдения табачного законодательства, который помогает вам фиксировать проверки, не теряя из виду детали на местности.
Быстрая настройка проверки магазина
Начните с Location, AgeCheckLog, SignageAudit и TaxStamp вместо того, чтобы вручную создавать таблицы соблюдения.
Очистить журнал отзывов
Запишите, кто ввёл запись, к какому магазину она относится и какой результат был зафиксирован для последующих проверок.
Видимость для полей и менеджеров
Позвольте координаторам проверять возрастные проверки, проблемы с знаками и проверку печатей из одной и той же модели данных.
Контролируемый доступ к журналам соблюдения
Используйте ACL/CLP, чтобы сотрудники на местах, супервизоры и аудиторы видели только записи, которые они должны обрабатывать.
Повторно используемый API для каждого устройства
Обслуживайте мобильных инспекторов, внутренние панели управления и инструменты обзора из одного контракта API.
Запуск проекта, основанный на подсказках
Используйте подсказку AI Agent для генерации структуры приложения по соблюдению и более быстрого перехода к реализации.
Готовы запустить ваше приложение для учета табачной продукции?
Позвольте Back4app AI Agent сгенерировать ваш бэкенд для учета табачной продукции и создать процессы проверки возраста, аудита signage и налоговых марок из одного запроса.
Бесплатно начать — 50 запросов AI Agent в месяц, без необходимости вводить данные карты
Технический стек
Всё включено в этот шаблон бэкенда для учета табачной продукции.
Диаграмма 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-агентом
Используйте AI-агента Back4app, чтобы сгенерировать настоящее приложение для соблюдения законов о табаке из этого шаблона, включая фронтенд, бэкенд, аутентификацию и проверку возраста, аудит вывесок и потоки налоговых марок.
Создайте бэкенд приложения для соблюдения законов о табаке на 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 Playground
Попробуйте REST и GraphQL конечные точки с схемой Журнала соблюдения табака. Ответы используют моковые данные и не требуют аккаунта Back4app.
Использует ту же схему, что и этот шаблон.
Выберите вашу технологию
Разверните каждую карточку, чтобы увидеть, как интегрировать Location, AgeCheckLog и SignageAudit с вашим выбранным стеком.
Flutter Лог соответствия табачной продукции заднего плана
React Лог соответствия табачной продукции заднего плана
React Native Лог соответствия табачной продукции заднего плана
Next.js Лог соответствия табачной продукции заднего плана
JavaScript Лог соответствия табачной продукции заднего плана
Android Лог соответствия табачной продукции заднего плана
iOS Лог соответствия табачной продукции заднего плана
Vue Лог соответствия табачной продукции заднего плана
Angular Лог соответствия табачной продукции заднего плана
GraphQL Лог соответствия табачной продукции заднего плана
REST API Лог соответствия табачной продукции заднего плана
PHP Лог соответствия табачной продукции заднего плана
.NET Лог соответствия табачной продукции заднего плана
Что вы получаете с каждой технологией
Каждый стек использует одну и ту же схему журнала соответствия табаку и API-контракты.
Единая структура журнала соответствия
Управляйте записями о месте, журналом возрастной проверки, аудитом знаков и налоговыми марками с помощью одной схемы.
Журналы проверки возраста для полевых команд
Фиксируйте имя клерка, год рождения клиента и результат на уровне магазина.
Отслеживание аудита знаков
Записывайте тип знака, расположение и состояние для каждого визита аудита.
Отслеживаемость проверки налоговой марки
Сохраните номер штампа и статус проверки для последующего рассмотрения.
REST/GraphQL API для приложений по соблюдению требований
Интегрируйте панели мониторинга, мобильные инструменты для выездных работников и представления супервайзеров с одного и того же бэкенда.
Расширяемый рабочий процесс ревизии
Добавляйте одобрения, делайте заметки по проблемам или шаги эскалации, не заменяя основную модель журнала.
Сравнение рамок соответствия табачной продукции
Сравните скорость установки, стиль SDK и поддержку ИИ во всех поддерживаемых технологиях.
| Рамка | Время установки | Преимущество журнала соответствия | Тип SDK | Поддержка ИИ |
|---|---|---|---|---|
| Около 5 минут | Единое кодовое основание для контрольных инспекторов на мобильных устройствах и веб. | Типизированный SDK | Полный | |
| Менее 5 минут | Быстрая веб-панель для менеджеров по соответствию. | Типизированный SDK | Полный | |
| ~3–7 минут | Кроссплатформенное мобильное приложение для визитов в магазин. | Типизированный SDK | Полный | |
| Быстрая настройка (5 минут) | Серверное веб-приложение для команд проверки. | Типизированный SDK | Полный | |
| ~3–5 минут | Легкая интеграция в браузер для ведения полевых записей. | Типизированный SDK | Полный | |
| Около 5 минут | Нативное приложение Android для инспекций магазина. | Типизированный SDK | Полный | |
| Менее 5 минут | Нативное iPhone-приложение для проверки соблюдения требований. | Типизированный SDK | Полный | |
| ~3–7 мин | Reactивый веб-интерфейс для отчетности по районам. | Типизированный SDK | Полный | |
| Быстрая настройка (5 мин) | Веб-приложение для предприятий для аудитов и утверждений. | Типизированный SDK | Полный | |
| Менее 2 мин | Гибкий GraphQL API для связанных записей о соответствии. | GraphQL API | Полный | |
| Быстрая настройка (2 мин) | Интеграция REST API для инструментов инспекции. | REST API | Полный | |
| ~3 мин | Серверная часть PHP для порталов соответствия. | REST API | Полный | |
| ~3–7 мин | .NET бэкенд для аудита рабочих процессов. | Типизированный SDK | Полный |
Время настройки отражает ожидаемую продолжительность от начальной загрузки проекта до первого запроса Location или AgeCheckLog с использованием этой схемы шаблона.
Часто задаваемые вопросы
Общие вопросы о создании бэкенда для учета табакосодержащей продукции с использованием этого шаблона.
Готовы создать ваше приложение для учета табачной продукции?
Начните ваш проект по соблюдению табачного законодательства за считанные минуты. Без необходимости в кредитной карте.