Обзор платформы NG-Metrics
Что такое NG-Metrics, кому она нужна и какие задачи решает.
Обзор платформы NG-Metrics
NG-Metrics — платформа управления работами и отчётностью для компаний, которые занимаются ландшафтным сопровождением и обслуживанием озеленённых территорий. Платформа покрывает полный цикл: от создания наряда на выезд бригады до отправки готового отчёта клиенту и уведомлений по каждому ключевому событию.
Бригадир планирует работы, фиксируют выполнение, бэк-офис рецензирует отчёты, клиент получает результат. Все участники работают с одной и той же записью наряда, видят одну и ту же историю и одни и те же отчёты.
Что делает платформа
Платформа решает три ключевые задачи.
Координация бригад. Сотрудник создаёт наряд (ServiceVisit) на конкретный объект клиента, бригадир формирует команду из работников, отслеживает статус выезда и подаёт отчёт по итогам работ. Состав бригады уточняется фактически — по итогам работ, а не по плану.
Структурированная отчётность. Каждый наряд порождает один отчёт (Report) на основе шаблона SurveyJS. Шаблон «замораживается» в момент создания отчёта — изменение шаблона не ломает уже сданные отчёты. Отчёт проходит цикл черновик → подан → утверждён/отклонён, после чего его можно отправить клиенту.
Многоканальные уведомления. При смене статуса наряда или отчёта система отправляет уведомления заинтересованным подписчикам — контактным лицам клиента, сотрудникам бэк-офиса, бригадиру — по тем каналам (email, Telegram), которые настроены в их профиле.
Для кого это сделано
Платформа обслуживает пять ролей пользователей.
| Роль | Что делает |
|---|---|
Администратор (admin) | Управляет всей системой: пользователями, шаблонами отчётов, справочниками, настройками уведомлений. Имеет доступ к Django-админке. |
Сотрудник (staff) | Бэк-офис: Создаёт наряды, рецензирует и утверждает отчёты, ведёт клиентскую базу, контролирует процесс. Без суперпользовательских полномочий. |
Бригадир (brigadier) | Формирует команды, ведёт работу на объектах, заполняет и подаёт отчёты. Получает уведомления об одобрении и отклонении отчётов. |
Работник (worker) | Указывается бригадиром в отчёте; после утверждения автоматически попадает в состав бригады наряда. |
Клиент (client) | Заказчик работ. Видит отчёты по своим объектам, получает уведомления о начале и завершении работ, общается с компанией через Telegram-бот (когда тот включён). |
И admin, и staff могут утверждать отчёты и вести клиентскую базу. Разница — в системных полномочиях: admin имеет is_superuser=True, staff — нет.
Ключевые ценности
- Один наряд → один отчёт → одна цепочка коммуникации. Никакой ручной сверки между Excel-таблицами и почтой.
- Шаблоны отчётов настраиваются. Компания подгоняет SurveyJS-форму под свои операции, не меняя код.
- Уведомления — настраиваемая подписка. Настройками подписчика (сотрудник или контактное лицо) можно управлять: какие события получать и через какие каналы. Подписки управляются единой моделью
NotificationPreference. - Поимённый учёт человеко-часов. Бригадир указывает каждого работника отдельно (с его часами) — система считает суммарный труд по факту, а не по агрегату «люди × часы».
- Двуязычность. Веб-интерфейс и email — на русском и английском, с переключением по настройкам пользователя.
Куда идти дальше
Если хочется понять, как платформа устроена внутри, идите в раздел Архитектура. Там описаны пять сервисов, схема взаимодействия, подсистема уведомлений и соглашения проекта.
Если нужен разбор моделей данных (наряды, отчёты, клиенты, подписки) — раздел Модель данных.
Если вы конечный пользователь — найдите свою роль в Руководствах пользователя.
Если вы разработчик и хотите развернуть окружение или внести изменения — Для разработчиков.
История изменений и сводка по релизам — в Изменениях.