Журнал работы трубочиста
Создайте с помощью ИИ-агента
Бэкэнд учета работ камина

Шаблон бэкэнда приложения для учета работ камина
Фотоинспекции, Журналы удаления сажи и Отслеживание сертификатов безопасности

Готовый к производству бэкэнд для учета работ камина на Back4app с фотоинспекциями, журналами удаления сажи и отслеживанием сертификатов безопасности. Включает схему ER, словарь данных, JSON-схему, API-площадку и AI Agent запрос для быстрого настройки.

Основные выводы

Этот шаблон предоставляет вам бэкэнд для журнала чистки дымоходов с работами по чистке, фотографиями проверки, записями удаления сажи и отслеживанием сертификатов безопасности, чтобы координаторы в офисе и полевые группы оставались на одной волне.

  1. Отслеживание работ по чисткеМоделируйте каждую SweepJob с адресом, датой обслуживания и назначением команды так, чтобы координаторы могли запрашивать.
  2. Снимки обследованияХраните файлы InspectionPhoto рядом с соответствующей SweepJob, чтобы доказательства «до» и «после» оставались прикрепленными к правильному визиту.
  3. Записи удаления сажиЗаписывайте детали SootRemovalLog, такие как очищенный дымоход, объем сажи и заметки для каждого обслуживания.

Что такое шаблон приложения журнала трубочиста?

Маршрутизация, детали и коммуникация с клиентами кажутся легкими только тогда, когда данные трубочистов структурированы, а не застряли в PDF-документах и побочных разговорах. Подробности не являются необязательными. Схема фокусируется на SweepJob, InspectionPhoto, SootRemovalLog и SafetyCert с запросами в реальном времени на Back4app, предоставляя операторам трубочистов достоверный источник информации, которому может доверять вся организация. Схема охватывает SweepJob (propertyName, serviceDate, technician, status), InspectionPhoto (sweepJob, photoUrl, caption), SootRemovalLog (sweepJob, sootLevel, removedBy, notes) и SafetyCert (sweepJob, certNumber, issuedAt, expiresAt, status) с поддержкой аутентификации и рабочего процесса. Подключите ваш предпочитаемый фронтенд и начните фиксировать полевые работы быстрее.

Лучше всего для:

Операции трубочистовЗахват фотографий инспекцииЖурналы удаления сажиОтслеживание сертификатов безопасностиДиспетчеризация полевых работЗапуск MVP

Как организован этот бэкенд для дымоходчиков

Лучшие панели мониторинга для дымоходчиков скучны, потому что базовые сущности чистые — а не потому, что кто-то в полночь занимался спредшитом.

Используйте этот обзор, чтобы увидеть, как SweepJob, InspectionPhoto и SootRemovalLog сочетаются перед тем, как посвятить инженеров конкретному клиентскому фреймворку.

Основные функции журнала чистки дымоходов

Каждая технологическая карточка в этом хабе использует одну и ту же схему бэкэнда для чистки дымоходов с SweepJob, InspectionPhoto, SootRemovalLog и SafetyCert.

Планирование SweepJob

SweepJob хранит propertyName, serviceDate, technician и status.

Снимок инспекционного фото

Инспекционное фото ссылки на photoUrl, заголовок и sweepJob.

Записи SootRemovalLog

Записи SootRemovalLog содержат sootLevel, removedBy, примечания и sweepJob.

Отслеживание SafetyCert

SafetyCert хранит certNumber, issuedAt, expiresAt, status и sweepJob.

Почему стоит создать бэкенд для вашего приложения журнала дымоходчика с Back4app?

Back4app предоставляет вам примитивы для работы, фотографий, журналов и сертификатов, чтобы ваша команда могла сосредоточиться на качестве услуг, а не на технических аспектах.

  • SweepJob и SafetyCert в одной модели: Используйте класс SweepJob для сервисных визитов и SafetyCert для отслеживания сертификатов, а не разброса статусов по спредшитам.
  • Файлы InspectionPhoto остаются привязанными к визитам: Сохраняйте photoUrl в InspectionPhoto и связывайте его с правильным SweepJob, чтобы изображения до и после было легко просмотреть.
  • Обновления в реальном времени для активных маршрутов: Используйте Live Queries для изменений SweepJob и SootRemovalLog, сохраняя REST и GraphQL доступными для каждого клиента.

Быстро создавайте и обновляйте рабочие процессы чистки дымоходов с одним контрактом на бэкэнде для мобильных и веб-приложений.

Основные преимущества

Бэкэнд для чистки дымоходов, который помогает полевым бригадам и координаторам оставаться на одной волне.

Более быстрая обработка заказов

Начинайте с классов SweepJob, InspectionPhoto, SootRemovalLog и SafetyCert вместо проектирования каждой таблицы с нуля.

Доказательство услуги с поддержкой фото

Используйте InspectionPhoto.photoUrl, чтобы каждое посещение дымохода имело четкие доказательства, прикрепленные к правильной работе.

Чистая передача между офисом и полем

Техники обновляют заметки в журнале SootRemovalLog, пока координаторы проверяют статус работы и статус сертификата из одной и той же панели управления.

Видимость сертификата

Отслеживайте SafetyCert.expiresAt и статус, чтобы продления не терялись после закрытия визита.

Дружелюбный к команде и устройствам

Обеспечьте выполнение работ по уборке, фотографий и журналов на планшетах, телефонах и веб-панелях управления через одно API.

Настройка с помощью ИИ

Быстро создавайте бэкенд-скелет и руководство по интеграции с помощью одного структурированного запроса.

Готовы запустить ваше приложение для журналов чистки дымоходов?

Позвольте AI-агенту Back4app создать ваш бэкэнд для каминной чистки и генерировать фото для инспекции, журналы удаления сажи и потоки сертификатов безопасности из одного запроса.

Бесплатно для начала — 50 запросов AI-агента в месяц, кредитная карта не требуется

Технический стек

Все включено в этот шаблон приложения для журнала каминной чистки.

Фронтенд
13+ технологий
Бэкенд
Back4app
База данных
MongoDB
Аутентификация
Встроенная аутентификация + сессии
API
REST и GraphQL
В реальном времени
Live Queries

ER Диаграмма

Модель взаимодействия сущностей для схемы бэкенда журнала каменщиков.

Просмотреть источник диаграммы
Mermaid
erDiagram
    SweepUser ||--o{ Property : "assignedCoordinator"
    SweepUser ||--o{ Inspection : "inspector"
    SweepUser ||--o{ InspectionPhoto : "takenBy"
    SweepUser ||--o{ SootRemovalLog : "technician"
    SweepUser ||--o{ SafetyCertificate : "issuedBy"

    Property ||--o{ Inspection : "property"
    Inspection ||--o{ InspectionPhoto : "inspection"
    Inspection ||--o{ SootRemovalLog : "inspection"
    Inspection ||--o{ SafetyCertificate : "inspection"

    SweepUser {
        String objectId PK
        String username
        String email
        String password
        String fullName
        String role
        Date createdAt
        Date updatedAt
    }

    Property {
        String objectId PK
        String propertyName
        String addressLine
        String contactName
        String contactPhone
        String assignedCoordinatorId FK
        Date createdAt
        Date updatedAt
    }

    Inspection {
        String objectId PK
        String propertyId FK
        String inspectorId FK
        Date inspectionDate
        String chimneyCondition
        String inspectionNotes
        String status
        Date createdAt
        Date updatedAt
    }

    InspectionPhoto {
        String objectId PK
        String inspectionId FK
        String photoUrl
        String caption
        String takenById FK
        Date createdAt
        Date updatedAt
    }

    SootRemovalLog {
        String objectId PK
        String inspectionId FK
        String technicianId FK
        String sootLevel
        String removalMethod
        Number amountRemoved
        String workNotes
        Date createdAt
        Date updatedAt
    }

    SafetyCertificate {
        String objectId PK
        String inspectionId FK
        String certificateNumber
        String issuedById FK
        Date issueDate
        Date expiryDate
        String certificateStatus
        Date createdAt
        Date updatedAt
    }

Поток интеграции

Типичный поток выполнения для входа в систему, списка работ по чистке, загрузки фотографий инспекций, регистрации удаления сажи и выдачи сертификатов безопасности.

Просмотреть источник диаграммы
Mermaid
sequenceDiagram
  participant User
  participant App as Chimney Sweep Log App
  participant Back4app as Back4app Cloud

  User->>App: Sign in as manager or technician
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Load property list
  App->>Back4app: GET /classes/Property?include=assignedCoordinator
  Back4app-->>App: Properties with coordinator pointers

  User->>App: Open an inspection
  App->>Back4app: GET /classes/Inspection?include=property,inspector
  Back4app-->>App: Inspection rows and status values

  User->>App: Add inspection photos and soot removal log
  App->>Back4app: POST /classes/InspectionPhoto and POST /classes/SootRemovalLog
  Back4app-->>App: Saved photo and removal log objects

  User->>App: Issue a safety certificate
  App->>Back4app: POST /classes/SafetyCertificate
  Back4app-->>App: Certificate number and expiry date

Словарь данных

Полная справка по каждому полю для каждого класса в схеме журнала очищения дымохода.

ПолеТипОписаниеОбязательно
objectIdStringAuto-generated unique identifierАвто
usernameStringLogin name for a coordinator, manager, or field user
emailStringEmail address for notifications and access
passwordStringHashed password (write-only)
fullNameStringDisplay name for the sweep user
roleStringRole in the chimney sweep workflow (e.g. manager, coordinator, technician)
createdAtDateAuto-generated creation timestampАвто
updatedAtDateAuto-generated last-update timestampАвто

8 поля в SweepUser

Безопасность и разрешения

Как стратегия ACL и CLP защищает данные о работах по очистке, фотографии инспекции, журналы копоти и сертификаты безопасности.

Записи о работах по очистке, принадлежащие техникам

Только назначенный техник или координатор должны создавать, обновлять или закрывать SweepJob, который они контролируют.

Целостность фотографий и журналов

Используйте Cloud Code, чтобы гарантировать, что записи InspectionPhoto и SootRemovalLog указывают на реальный SweepJob перед их сохранением.

Контроль доступа к сертификатам

Ограничьте чтение и редактирование SafetyCert утвержденным сотрудникам, чтобы данные о выдаче и сроках годности оставались точными.

Схема (JSON)

Сырая JSON схема, готовая для копирования в Back4app или использования в качестве ссылочного материала для реализации.

JSON
{
  "classes": [
    {
      "className": "SweepUser",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "fullName": {
          "type": "String",
          "required": true
        },
        "role": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Property",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "propertyName": {
          "type": "String",
          "required": true
        },
        "addressLine": {
          "type": "String",
          "required": true
        },
        "contactName": {
          "type": "String",
          "required": true
        },
        "contactPhone": {
          "type": "String",
          "required": true
        },
        "assignedCoordinator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "SweepUser"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Inspection",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "property": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Property"
        },
        "inspector": {
          "type": "Pointer",
          "required": true,
          "targetClass": "SweepUser"
        },
        "inspectionDate": {
          "type": "Date",
          "required": true
        },
        "chimneyCondition": {
          "type": "String",
          "required": true
        },
        "inspectionNotes": {
          "type": "String",
          "required": false
        },
        "status": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "InspectionPhoto",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "inspection": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Inspection"
        },
        "photoUrl": {
          "type": "String",
          "required": true
        },
        "caption": {
          "type": "String",
          "required": false
        },
        "takenBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "SweepUser"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "SootRemovalLog",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "inspection": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Inspection"
        },
        "technician": {
          "type": "Pointer",
          "required": true,
          "targetClass": "SweepUser"
        },
        "sootLevel": {
          "type": "String",
          "required": true
        },
        "removalMethod": {
          "type": "String",
          "required": true
        },
        "amountRemoved": {
          "type": "Number",
          "required": true
        },
        "workNotes": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "SafetyCertificate",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "inspection": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Inspection"
        },
        "certificateNumber": {
          "type": "String",
          "required": true
        },
        "issuedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "SweepUser"
        },
        "issueDate": {
          "type": "Date",
          "required": true
        },
        "expiryDate": {
          "type": "Date",
          "required": true
        },
        "certificateStatus": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

Создайте с AI-агентом

Используйте AI-агента Back4app для создания приложения для ведения журнала трубочистов из этого шаблона, включая фронтенд, бэкенд, авторизацию, а также потоки работ, фото, журнала и сертификатов.

AI-агент Back4app
Готовы к созданию
Создайте бэкенд приложения для ведения журнала трубочистов на Back4app с этой точной схемой и поведением.

Схема:
1. Пользователь (используйте встроенный Back4app): имя пользователя, адрес электронной почты, пароль; objectId, createdAt, updatedAt (система).
2. SweepJob: имя объекта (String, обязательно), дата обслуживания (Date, обязательно), техник (Pointer к User, обязательно), статус (String, обязательно), примечания (String); objectId, createdAt, updatedAt (система).
3. InspectionPhoto: sweepJob (Pointer к SweepJob, обязательно), photoUrl (String, обязательно), подпись (String), дата снятия (Date, обязательно); objectId, createdAt, updatedAt (система).
4. Содержимое для удаления сажи: sweepJob (Pointer к SweepJob, обязательно), уровень сажи (String, обязательно), удалено (Pointer к User, обязательно), примечания (String), очищено в (Date, обязательно); objectId, createdAt, updatedAt (система).
5. SafetyCert: sweepJob (Pointer к SweepJob, обязательно), номер сертификата (String, обязательно), выдан в (Date, обязательно), истекает в (Date, обязательно), статус (String, обязательно); objectId, createdAt, updatedAt (система).

Безопасность:
- Только назначенный техник или координатор должны создавать, обновлять или закрывать SweepJob, которым они управляют. Используйте Cloud Code, чтобы проверить, что записи InspectionPhoto и SootRemovalLog указывают на реальный SweepJob. Ограничьте доступ к сертификатам безопасности для утвержденного персонала.

Авторизация:
- Регистрация, вход, выход.

Поведение:
- Список работ, загрузка фото осмотра, запись журналов удаления сажи и выдача сертификатов безопасности.

Доставка:
- Приложение Back4app со схемой, ACL, CLP; фронтенд для работ, фотоснимков осмотра, журналов сажи и отслеживания сертификатов безопасности.

Нажмите кнопку ниже, чтобы открыть агента с заранее заполненным шаблоном запроса.

Это базовый запрос без суффикса технологии. Вы можете адаптировать сгенерированный стек фронтенда позже.

Развертывание за минуты50 бесплатных запросов / месяцНе требуется кредитная карта

API Игровая площадка

Попробуйте REST и GraphQL конечные точки против схемы трубочиста. Ответы используют поддельные данные и не требуют аккаунта Back4app.

Загрузка плейграунда…

Использует ту же схему, что и этот шаблон.

Выберите вашу технологию

Разверните каждую карточку, чтобы увидеть, как интегрировать SweepJob, InspectionPhoto и SootRemovalLog с вашим выбранным стеком.

Flutter Журнал чистки дымоходов (бэкенд)

React Журнал чистки дымоходов (бэкенд)

React Нативный Журнал чистки дымоходов (бэкенд)

Next.js Журнал чистки дымоходов (бэкенд)

JavaScript Журнал чистки дымоходов (бэкенд)

Android Журнал чистки дымоходов (бэкенд)

iOS Журнал чистки дымоходов (бэкенд)

Vue Журнал чистки дымоходов (бэкенд)

Angular Журнал чистки дымоходов (бэкенд)

GraphQL Журнал чистки дымоходов (бэкенд)

REST API Журнал чистки дымоходов (бэкенд)

PHP Журнал чистки дымоходов (бэкенд)

.NET Журнал чистки дымоходов (бэкенд)

Что вы получаете с каждой технологией

Каждая система использует одну и ту же схему и API контракты для соколов.

Единые данные о работах по очистке дымоходов

Управляйте SweepJob, InspectionPhoto, SootRemovalLog и SafetyCert с помощью одной согласованной модели.

Услуга, подтвержденная фотографиями

Сохраняйте фотографии инспекций, прикрепленные к правильной работе по очистке, для последующего рассмотрения.

Отслеживание сертификатов безопасности для команд

Следите за датами выдачи и истечения срока действия, чтобы статус сертификата был виден координаторам.

Прозрачные рабочие процессы техников

Назначайте работы, фиксируйте удаление сажи и обновляйте статус работы с помощью общего бэкенда.

Сравнение фреймов для очистки дымоходов

Сравните скорость настройки, стиль SDK и поддержку ИИ по всем поддерживаемым технологиям.

ФреймворкВремя настройкиПреимущество Chimney SweepТип 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Полный

Время настройки отражает ожидаемую продолжительность от начальной настройки проекта до первого запроса SweepJob или InspectionPhoto с использованием этой схемы шаблона.

Часто задаваемые вопросы

Распространенные вопросы о создании бэкенда приложения для журнала чистки труб с помощью этого шаблона.

Где команды по очистке дымоходов теряют больше всего времени между офисом и полем?
Как должны быть организованы назначения моделей чистки дымоходов, статус и использование запчастей без излишнего усложнения схемы?
Насколько сложно адаптировать схему, когда предложения по чистке дымоходов или пакеты услуг меняются?
Как мне выполнять запросы для очистки работ в Flutter?
Как мне управлять доступом техников с Next.js Server Actions?
Может ли React Native кэшировать журналы chimney sweep оффлайн?
Как мне предотвратить несанкционированные изменения сертификатов?
Какой лучший способ показать статус очистки работ на Android?
Как работает процесс загрузки фото для проверки от начала до конца?

Доверяют разработчики по всему миру

Присоединяйтесь к командам, которые быстрее выпускают продукты журналов чистки дымоходов с помощью шаблонов Back4app

G2 Users Love Us Badge

Готовы создать приложение для журнала чистки дымоходов?

Запустите ваш проект по очистке дымохода за считанные минуты. Кредитная карта не требуется.

Выберите технологию