image image image image image image
Диспетчерская CRM для службы откачки септиков (ассенизаторские услуги, СПб и ЛО). Инфраструктура: один Linux-сервер, PM2 (без Docker в продакшне). Реалтайм: Postgres LISTEN/NOTIFY → tRPC SSE-подписки → автообновление на клиентах. Аутентификация: Auth.js v5, credentials (email + пароль), JWT в cookie. Хранилище файлов: MinIO (S3-совместимый, для фото). Роли и права В системе три роли: Администратор, Диспетчер, Водитель. Администратор Полный доступ ко всему. Дополнительно видит разделы: Финансы, Сливы Администрирование → Сотрудники, Настройки Может: Удалять заявки, клиентов, задачи Редактировать выполненные заявки (status = done) Менять статус выполненной заявки Управлять сотрудниками (создание, редактирование, деактивация) Видеть кнопки удаления везде (безнал, канбан, таблица, карточка) Диспетчер Работает с заявками по полному циклу, но не может: Удалять заявки (только ставить статус «Отказ») Удалять клиентов Редактировать / менять статус выполненной заявки (status = done) Удалять операции в безнале Видеть разделы: Финансы, Сливы, Сотрудники, Настройки Все ограничения принудительны на бэкенде (TRPC FORBIDDEN) — не только скрыты в UI. Водитель Доступ только через мобильное приложение. Через веб-панель не работает. Может: Видеть свои заявки на сегодня Менять статус своих заявок (new → work → done/skip) Видеть историю заявок за 30 дней Менять слив на своей заявке