article-spots
article-carousel-spots
programs
Новости

Студенческие проекты лаборатории тренинг-центра: BEACONS

25 дек. 2020

Мы продолжаем знакомить вас со студенческими проектами тренинга-центра EPAM. На этот раз взяли интервью у Senior-разработчика Ашота Асланяна, менеджера проекта BEACONS в лаборатории тренинг-центра в Санкт-Петербурге.

О проекте   

BEACONS — это проект внутренней навигации. Представьте, что вам поставили задачу по реализации навигации внутри помещений. Уже привычные GPS, Глонасс и подобные системы спутниковой навигации в зданиях не сработают. В этом случае подходит технология Beacons, отсюда и название всего проекта. Это bluetooth-маячки (от англ.beacon) и ридеры, которые размещаются в помещении. Когда человек или другой объект передвигаются, маячок издает сигнал, ридеры его считывают и по показаниям 5-6 ридеров с некоторой точностью определяется, где объект находится. В лаборатории тренинг-центра EPAM проект BEACONS стартовал как учебный, но в перспективе его ждёт коммерческое развитие.  

Проблема 

Идея учебного проекта по созданию внутренней навигации возникла, когда в EPAM обратилась энергетическая компания, у которой есть нефтяные буровые платформы. Основной запрос — контроль безопасности персонала на объектах: кто и где находится на территории, нет ли угрозы падения за борт и т. д. В тренинг-центре решили, что потренироваться в разработке такой системы можно на примере создания навигации внутри офиса EPAM.

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

Решение  

За два года существования проекта в технической части было сделано очень многое. Во-первых, построен трудоёмкий процесс работы с «железом», то есть правильный подбор устройств ридеров, маячков и антенн. Во-вторых, вопрос энергоэффективности. Маячки потребляют энергию, даже когда не вещают. Одной батарейки хватает в среднем на два года, но всегда есть, что улучшать по этому параметру.   

Следующий важный пункт – работа с алгоритмами. По законам физики, тело человека отражает сигналы маячков, поэтому такой лишний «шум» мешает определить точное расстояние. Чтобы разобраться с этой задачей, команда проекта посоветовалась с коллегами-разработчиками из EPAM, которые занимаются алгоритмами. После этого был создан специальный алгоритм, помогающий «чистить» сигналы.

Уже на полученных данных применяется ещё один важный алгоритм - трилатерации. Он нужен для вычисления местоположения объектов. Алгоритмы остаются самой сложной частью проекта. Остальное – это уже понятная работа над интерфейсом и панелью администрирования. Тестово уже удалось реализовать полную версию внутренней навигации офиса EPAM в Санкт-Петербурге. 

Чем интересен проект 

Преимущество технологии Beacon в том, что она легко адаптируется под разные задачи. При этом в основе находится одно и то же техническое оборудование. Оно подходит и для торгового центра, и для завода. Любой человек с помощью внутренней навигации может быстро найти ближайшую стойку регистрации в огромном здании аэропорта или отдел с нужным товаром в торговом центре. Маячки помогают ориентироваться в пространстве и создают подсказки на карте в приложении. 

С навигацией внутри торговых центров появляются и новые инструменты для маркетинга – проходя мимо магазина, человек моментально узнаёт о скидках во всплывающем сообщении на экране смартфона. 

Технологический стек проекта  

На учебном проекте студенты выполняют разнообразные задачи по двум важным компонентам проекта. Это серверная часть, где собираются данные, обрабатывается и высчитывается местоположение, и это front-end часть с разработкой интерфейса панели администрирования.  

Студенты лаборатории постоянно развиваются, работая с различными фреймворками. Для front-end используется React и провайдеры карты, чтобы показывать кто и где находится. Именно поэтому на проекте хорошо проработано картографическое сопровождение: сначала пользовались Google Maps, потом OpenStreetMap. Поскольку нет четкой привязки к формату карт, можно будет легко перейти на любой другой вариант.    

В back-end проекта – микросервисная архитектура. Из фреймворков используется Spring, Spring Boot и Spring Security. В качестве инструмента сообщений между модулями Kafka, а Mongo DB для хранения и управления данными. Такой стек – это уже стандарт IT-индустрии. Он применяется и на большинстве реальных проектов. Студентам, которые уже знакомы с этими технологиями, в дальнейшем будет гораздо легче с ними работать.   

Команда проекта  

Сейчас в команде около десяти человек: из них шесть Java-разработчиков, два Frontend-разработчика и два DevOps. С такой группой студентов работают шесть менторов-наставников из EPAM, они занимаются архитектурой приложения, проверяют код и отвечают на вопросы. Есть еще техлид, он отвечает за приложение в целом и продумывает улучшения, и тоже участвует в проверке кода студентов.  

Роль менторов в проекте 

Каждому студенту лаборатории в конце обучения предстоит проверить свой уровень знаний и пройти финальное техническое интервью. Поэтому в проекте менторы также стараются помогать студентам с подготовкой: дают рекомендации, подсказывают, в какой теме еще есть пробелы, устраивают пробные собеседования. В среднем такое интервью проходит после трех месяцев в лаборатории тренинг-центра EPAM. По окончании обучения ментор пишет фидбек каждому студенту. А после — студенту назначается техническое интервью уже в коммерческий проект компании. Часто выпускники тренингов становятся менторами после года работы на реальном проекте, в команде BEACONS есть такие примеры.  

Организация процесса 

Один из сложных моментов в организации проекта — это адаптация студентов. Важно, чтобы они быстро погружались в процесс и другие компоненты проекта, а не только знакомились с документацией. Для этого проводятся внутренние техтолки — регулярные онлайн-встречи, где менторы подробно рассказывают об инструментах и технических задачах, с которыми предстоит работать студентам. На встречах активно делиться информацией могут не только менторы, но и более опытные студенты. Они также помогают новичкам разобраться в задачах.

На проекте BEACONS придерживаются слогана: «Глупых вопросов не бывает». Важно спрашивать о том, что непонятно. Еще один лайфхак: вопросы и дискуссии задавать в общих чатах вместо личной переписки с ментором — так студенты могут помогать друг другу, быстрее получают ответы на вопросы, больше общаются и учатся работать в команде.   

В целом, на проекте работают по Scrum и Agile: дважды в месяц проходят сессии-разборы бэклога (списка задач), где определяют задачи на двухнедельные рабочие интервалы-спринты. Кроме этого, есть ежедневные созвоны, где студенты рассказывают про текущую работу и сложности, с которыми они столкнулись. 

Будущее проекта  

В планах — углубление в мобильную разработку: уже реализовано приложение на Android, планируется развитие платформы и на iOS. Cейчас проект находится на той стадии, когда уже есть тестовый стенд и усиленно идёт подготовка к презентации проекта для бизнеса.