ООО «ДиСофт»
Промышленность и оборудование
Россия
Февраль 2026
«ДиСофт» — российская компания, специализирующаяся на производстве, установке и сервисном обслуживании светодиодных экранов и табло для дорожной инфраструктуры, рекламы и городских пространств.
До обращения к нам у заказчика не было собственного программного обеспечения. Компания либо поставляла экраны без ПО, либо использовала сторонние решения, которые приходилось адаптировать с помощью доработок. Это создавало зависимость от вендоров и ограничивало возможности, так как нельзя было гибко настраивать дизайн экранов под конкретную задачу, а управление устройствами требовало больших трудозатрат.
Заказчик четко осознавал потребности в функционале и подготовил развернутое техническое задание со схемами, описанием бизнес-логики и требованиями к API. С этим ТЗ он обратился к нам, и мы начали проект с глубокого анализа и создания частных технических заданий (ЧТЗ) на каждый этап разработки.
Задачи:
1. Спроектировать и разработать серверную часть, административную панель и клиентское плеер-приложение.
2. Организовать безопасную аутентификацию пользователей с разграничением ролей.
3. Создать визуальный редактор экранов с поддержкой виджетов.
4. Внедрить механизм плейлистов и удаленного управления устройствами.
5. Реализовать интерактивную карту устройств с отображением их статуса.
Проект отличает микросервисная архитектура. В состав проекта входят административный модуль, автономное файловое хранилище всего контента,
модуль оповещений и обмена информацией между административным модулем и клиентскими приложениями.
Мы внедрили двухуровневую систему доступа. Администратор имеет полный контроль. Он создает пользователей, назначает роли, сбрасывает пароли, активирует и блокирует учетные записи. Он также управляет видимостью устройств и групп для конкретных мастер-аккаунтов.
В свою очередь, функционал мастер-аккаунта включает возможность создания экранов, плейлистов, тегов и управления устройствами и группами. Однако пользователь в этой роли видит только те объекты, за которые назначен ответственным администратором.

Администратор создает учетные записи и видит всех зарегистрированных сотрудников, может активировать/деактивировать их одним кликом.
Все действия пользователей в системе подлежат обязательной фиксации. Для этого мы реализовали механизм логирования с использованием отдельной нереляционной базы данных, что позволило не нагружать основную и хранить неструктурированные данные без потери детализации.
В журнал событий попадают все запросы к серверу и фиксируется пользователь, выполнивший запрос, параметры и время запроса, результат (успешно/ошибка).
Регистрация устройств инициируется клиентским ПО. При первом запуске оператор вводит адрес сервера и уникальный ключ (UID). После подтверждения устройство автоматически появляется в списке административной панели.
Пользователь задает характеристики устройства. Помимо основных параметров, устройству может быть назначен плейлист, ответственный пользователь и задано расписание работы через отдельное диалоговое окно.
Чтобы упростить управление большим количеством табло, мы реализовали возможность объединять устройства в группы. Назначение плейлиста, перезагрузка, изменение расписания могут выполняться для всей группы одновременно. Это экономит часы ручной работы.

Устройство нельзя включить в группу, если его размеры экрана не совпадают с размерами группы.
Для визуального контроля всех зарегистрированных устройств система предоставляет интерактивную карту на основе внешнего картографического сервиса (Яндекс Карты). На ней отображаются все зарегистрированные устройства с разными маркерами для статусов «В сети/Активно», «В сети/Не активно» и «Не в сети».
При нажатии на маркер оператор видит всю необходимую информацию и может отправить команду на перезагрузку (доступно только для устройств «В сети»).

Зеленый маркер — устройство онлайн и транслирует контент, серый — офлайн. При клике открывается попап с UID, статусом, группой и кнопкой перезагрузки.
Редактор экранов представляет собой рабочее поле с сеткой для точного позиционирования элементов. Оператор создает макет будущего изображения, перетаскивая виджеты мышью, меняя их размер через маркеры по углам и сторонам, и настраивая каждый элемент в динамической панели управления.
В распоряжении оператора находятся шесть типов виджетов: Текст, Изображение, Дорожный знак, Время и дата, Индикатор трафика, Маршрут.
При каждом сохранении экрана система автоматически генерирует превью в формате PNG, которое затем используется в карточках экранов для быстрой визуальной идентификации.

Оператор перетаскивает виджеты, задает их размер и сразу видит результат. Для каждого элемента реализована панель с точными настройками.
Плейлист — это упорядоченная последовательность экранов, которая определяет, что и когда будет транслироваться на устройстве или группе устройств. Для каждого экрана в плейлисте задаются очередность и время показа, расписание, период действия, флаг «служебный экран».
Мы автоматизировали сверку размеров устройства с размером экрана плейлиста при его назначении. Если размеры не совпадают — назначение блокируется с поясняющим сообщением. Это исключает ошибки отображения на этапе настройки.

Каждый плейлист можно клонировать, посмотреть список привязанных устройств или отредактировать его содержимое.
Для хранения пользовательских изображений и GIF-анимаций мы внедрили S3-совместимое хранилище. Загрузка файла происходит напрямую в хранилище, а в базе данных сохраняется только метаинформация и публичная ссылка.
Взаимодействие с клиентским плеер-приложением автономно. Устройство хранит актуальный плейлист и расписание в локальной СУБД SQLite, поэтому трансляция продолжается, даже если связь теряется. При изменении плейлиста или расписания сервер отправляет команду устройству, а клиентское ПО забирает данные и перезапускает воспроизведение без ручного вмешательства.
Индивидуальная разработка дает возможность закрыть любые, даже самые уникальные потребности, и автоматизировать процессы, для которых готовых решений просто не существует. А собственное ПО дает бизнесу двойное преимущество — технологическую независимость и мощный козырь среди конкурентов.
«ДиСофт» получил ПО, которое оптимизирует целый ряд рабочих процессов:
• сократилось время на подготовку макетов благодаря внедрению редактора экранов;
• выросла прозрачность благодаря журналированию действий операторов и истории каждого экрана;
• увеличилась гибкость воспроизведения благодаря формированию групп устройств;
• упростился контроль состояния мониторов благодаря дистанционному управлению экранами.
![]()
Анастасия Осипова
Проектный менеджер
Проект был сдан досрочно благодаря оперативной обратной связи со стороны заказчика и четкому пониманию того, каким должен быть финальный результат. Система «Табло, дороги, оповещение» работает стабильно, не требует постоянных доработок и живёт ровно так, как задумано — без «костылей», без чужих технологий и без сюрпризов.