
Облачная платформа, ретранслирующая рекламу на голограммные терминалы по всему миру.
Задача
Наш клиент - британская компания, которая разрабатывает и внедряет высокотехнологичные умные визуальные технологии. Они обратились к нам за помощью в создании платформы реального времени, способной обрабатывать контент и транслировать его на специальные голограммные терминалы в торговых центрах, аэропортах и других местах.
Задача Invatechs состояла в том, чтобы создать безопасную облачную платформу для управления контентом. Загружать видеофайлы или изображения из облачной инфраструктуры и отправлять их на устройство для показа в виде голограммы. Все устройства должны были образовывать сеть, охватывающую разные локации.
Такой проект стал для нашей компании прекрасной возможностью проявить себя. Мы сразу предложили клиенту внедрить ряд идей, которые уже реализовали в других проектах.
Команда Invatechs наметила следующие шаги по созданию облачной платформы управления контентом:
- Создать облачную кроссплатформенную среду управления контентом;
- Интегрировать 3D-движок для визуализации контента;
- Реализовать систему подписок;
- Создать микросервисную архитектуру.

Решение
В первую очередь наша команда стремилась сделать дизайн платформы максимально удобным, чтобы менеджеры по рекламе легко разбирались в UI/UX без вводного обучения. Также нам нужно было создать отлаженную систему управления контентом, которая упрощает создание рекламных кампаний и управление ими.
Мы также интегрировали карты, чтобы было удобно отслеживать устройства и терминалы, на которые доставляется контент. Чтобы менеджер мог легко выбрать конкретный файл для отправки на устройства, задать время и частоту показа и указать расположение устройств по всему миру. Кроме того, на платформе есть наглядные отчёты в виде диаграмм и графиков с подробной информацией по всем завершённым и активным рекламным кампаниям.
Наши клиенты будут пользоваться платформой по подписке, поэтому мы также сделали личный кабинет для пользователей и добавили двухфакторную защиту. На уровне самой платформы реализованы все степени защиты, вплоть до защиты от DDoS-атак. Подробнее о преимуществах платформы - ниже:
Микросервисная архитектура
В рамках проекта высоконагруженные части приложения были вынесены в отдельные микросервисы. Это обеспечивает равномерную загрузку серверных ресурсов, гибкое распределение нагрузки и защищает приложение от сбоев.
Видеоконвертер
Отдельное микросервисное приложение, которое конвертирует видео с помощью набора кодеков FFmpeg. FFmpeg преобразует входящий видеофайл для воспроизведения на конечном устройстве, у которого особые требования к формату видео.
Интеграция с Unity
Графический 3D-движок Unity встроен в веб-приложение и используется для анимации изображений, их последующей конвертации в видео и воспроизведения на устройстве.
Построение графиков с помощью библиотеки C3
Мы использовали библиотеку C3 для построения графиков и диаграмм с информацией о работе устройств, показывающих голограммы, и для визуализации отчётов по рекламным кампаниям.
Система подписок
Система подписок позволяет получить лицензию на устройства, по которой пользователь может работать с ними в течение ограниченного периода.
Гибкая система контроля доступа
Гибкая система прав позволяет создавать любые группы пользователей, а также назначать индивидуальные права отдельным пользователям.
Система анализа видеопотока
Система анализа загружаемых видеофайлов не даёт загрузить видео, которое не может корректно воспроизводиться на устройстве.
Интеграция с Google Maps
Приложение показывает все устройства на карте. Через карту можно получить информацию о любом устройстве, его характеристиках, загрузке и эффективности. Можно выбрать группу устройств, чтобы затем создать рекламную кампанию.
Полное покрытие бэкенда тестами
Серверное приложение полностью покрыто тестами Mocha, что обеспечивает стабильность разработки новой функциональности и отказоустойчивость системы в целом.
Pixel perfect дизайн
Дизайн веб-приложения точно соответствует макетам.
Агрегация в MongoDB
В проекте используются сложные агрегационные запросы для объединения массивов данных. Это избавляет от их дальнейшей обработки на серверном приложении и экономит системные ресурсы.
Технологии и инструменты

Процесс
Этот проект начался для нас в 2017 году. Прежде всего, обсудив с клиентом его цели, мы приступили к созданию MVP платформы. Через два месяца работы мы предоставили заказчику прототип, который был полностью одобрен. По ходу работы мы также предложили внедрить дополнительные функции и после их согласования перешли к полномасштабной разработке.
Мы работали по методологии Agile: наши специалисты готовили ежедневные отчёты и обсуждали с клиентом проделанную работу и планы на будущее. Для управления задачами и документацией мы использовали сервис Jira, а для общения с заказчиком - мессенджер Slack.
После всех этапов разработки и финального тестирования платформы напрямую с терминалами по всему миру мы запустили это приложение.
Команда
Длительность проекта

Результаты
Подводя итог: наши специалисты полностью оправдали ожидания заказчика. Мы создали удобную облачную платформу с множеством функций, которые позволяют управлять контентом и отслеживать всю статистику по размещению рекламы.
Наш заказчик будет продавать это ПО по подписке, чтобы компании со всего мира могли рекламировать своё оборудование по всему миру. Этот проект удался в том числе благодаря отлаженному общению с клиентом: мы прислушивались к его идеям и предлагали свои. Мы продолжаем сотрудничество и периодически выпускаем обновления с новыми функциями, которые нужны быстро развивающемуся рынку.
- Удобная платформа, позволяющая размещать рекламу по всему миру
- Платная подписка на платформу приносит компании доход
