← К списку проектов

DeskHub

CRM для работы с заявками IT-обслуживания

PHP 8 MySQL / MariaDB MVC Канбан REST API 2FA (TOTP) Telegram-бот Аудит

О проекте

DeskHub — современная CRM для обслуживания заявок (IT-поддержка, 1С, видеонаблюдение, ПК и сети). Система полностью написана на PHP 8 + MySQL/MariaDB без внешних зависимостей (без Composer) и закрывает весь цикл работы с заявкой: от создания и назначения исполнителя до контроля сроков, учёта времени и закрытия.

Проект развивался как замена старой CRM: при миграции переносятся пользователи (с хешами паролей), проекты, задачи, комментарии, вложения, API-ключи и организации. Особое внимание уделено безопасности: bcrypt-пароли, CSRF-токены, ограничение попыток входа по IP, двухфакторная аутентификация (TOTP) и полный аудит-журнал действий.

Возможности

  • Заявки (задачи) — создание, редактирование, статусы, приоритеты, сроки, исполнители, ответственные и наблюдатели
  • Канбан-доска — 5 колонок (Бэклог → Новая → В работе → На проверке → Закрыта) с drag&drop
  • Учёт времени — ручное добавление и таймер «старт/стоп», итоги по задачам и пользователям
  • Комментарии и вложения — обсуждение внутри заявки, загрузка файлов (с запретом исполнения PHP)
  • Личный кабинет — свои задачи, созданные заявки, задачи по проектам, профиль и аватар
  • Проекты и площадки — компании-клиенты, филиалы и участники
  • Уведомления — колокольчик в приложении, HTML-письма по SMTP и Telegram (новые, просроченные, закрытые, тайминг)
  • Безопасность — bcrypt, CSRF, rate-limit по IP, 2FA (Google/Microsoft Authenticator), роли admin/support/client, аудит-журнал
  • REST API — API-ключи (Bearer), журнал вызовов, интеграция с 1С и внешними системами, защита от дублей через external_id
  • Cron — автопроверка просроченных задач и ежедневная сводка в Telegram

Архитектура

Классический MVC без фреймворков: единая точка входа (front controller), PSR-4-автозагрузка, роутер с поддержкой ЧПУ, модели для каждой сущности (Task, Project, User и др.) и сервисный слой (Mailer, Telegram, Notifier, TwoFactor). Миграции — SQL-скрипты с отдельным скриптом переноса данных из старой CRM. Управление задачами по расписанию вынесено в отдельный cron-модуль с защитой через CRON_SECRET.

Интеграция с 1С

Входящее REST API позволяет создавать и обновлять заявки прямо из 1С и внешних систем. Поле external_id исключает дубликаты при повторной выгрузке, а журнал вызовов API даёт полную картину интеграций.

curl -X POST https://crm.200660.ru/api/tasks \
  -H "Authorization: Bearer КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{"title":"Заменить картридж","project_id":1,
       "priority":"high","due_date":"2026-08-10 18:00:00",
       "comment":"Из 1С"}'

Доступ к системе

Адрес системы https://crm.200660.ru
Назначение Рабочая CRM IT-обслуживания компании
Вход По учётным записям сотрудников
Безопасность 2FA (TOTP), аудит, rate-limit

Самостоятельная регистрация не предусмотрена — доступ предоставляется администратором системы.