Модулика
← Все проекты
  • Веб
  • Внутренние системы
  • Реальное время

«Поток» — планировщик задач для команд

Внутренний сервис планирования, который заменил десяток Excel-таблиц — задачи, смены и загрузка людей на одной доске, изменения видны всем в реальном времени.

Клиент
Производственная компания
Год
2026
Срок
6 месяцев
Иллюстрация интерфейса
300+сотрудников работают в системе ежедневно
12 → 1таблиц планирования заменил один сервис
−3 чв неделю на планирование у каждого руководителя
<150 мсдо появления изменения у всех участников

Задача

Компания планировала работу трёх цехов в Excel. Каждый мастер вёл свою таблицу, сводную собирали вручную по пятницам, и к понедельнику она уже устаревала. Нужно было единое место, где видна загрузка людей и оборудования и где план не расходится с реальностью.

Как устроено

Интерфейс — приложение на React с доской, которая рисует только видимое, и временной шкалой. Сервер на Node.js хранит задачи в PostgreSQL и раздаёт изменения через WebSocket, Redis используется как шина событий между копиями сервера.

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

Сложности и как мы их решили

01Двое двигают одну и ту же задачу одновременно

Проблема

Руководители смен планируют параллельно. Когда два человека перетаскивали одну задачу, побеждал последний, а первый даже не узнавал, что его изменение пропало.

Решение

Каждое действие — это операция с версией. Сервер применяет их по порядку, а при конфликте клиент получает актуальное состояние и мягкую подсказку, кто и что поменял. Ничего не теряется молча.

02Доска на 2 000 задач тормозила при перетаскивании

Проблема

На реальных данных производственного цеха перетаскивание работало на 15 кадрах в секунду, а на офисных ноутбуках — ещё хуже.

Решение

Перевели доску на виртуализацию — рисуются только видимые строки и временной диапазон. Перетаскивание обрабатывается на отдельном слое без перерисовки всей сетки. Стабильные 60 кадров в секунду.

03Правила планирования жили в головах

Проблема

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

Решение

Провели серию интервью с мастерами и собрали правила в движок ограничений. Система подсвечивает нарушение прямо при перетаскивании и объясняет, какое правило сработало.

Результат

Через два месяца после запуска все три цеха перешли на «Поток», а пятничная сводка исчезла как процесс — её заменила сводная панель. Руководители экономят около трёх часов в неделю, а число сорванных из-за накладок смен сократилось вдвое.

Технологии

  • TypeScript
  • React
  • Node.js
  • WebSocket
  • PostgreSQL
  • Redis
  • Docker
Следующий проект

Онлайн-запись и сайт для многопрофильной больницы