NDA
Информационные технологии и интернет
Россия
IOS, Android
Ноябрь 2024
Наши заказчики решили сделать приложение, которое превращает мобильное устройство сотрудника или гостя в пропуск и позволяет в режиме реального времени отслеживать все перемещения. А за его разработкой обратились к нам в Purrweb.
В этом кейсе мы расскажем, как за месяц разработали прототип с ключевыми флоу, внедрили трекинг локации и интегрировали сложную функциональность с сервисами заказчика.
Проект находится под NDA, так что мы не можем раскрыть название продукта и информацию о заказчике. Скажем лишь, что это крупный российский телеком-оператор, а проект — инновационная система для службы безопасности. Вместе с заказчиком мы решили, что будет интересно рассказать о нашей совместной работе, и так появился этот кейс.
Обычно в рамках СКУД (Системы контроля и управления доступом) сотруднику нужно иметь отдельный физический пропуск и сканировать его через турникет, чтобы попасть в здание. У этой системы есть свои преимущества и ограничения, но главное: с пропуском может что-то случиться. Его могут забыть, потерять или вообще передать постороннему лицу. А еще невозможно отследить перемещения в здании и точное количество людей — а все это может быть критически важно для безопасности.
Продукт заказчиков решает эти проблемы. Главная идея такая: мобильное устройство сотрудника становится его пропуском. Смартфон также выполняет роль маяка, позволяя отслеживать перемещения внутри здания.
С помощью мультифакторной аутентификации система фиксирует статус пользователя — авторизован он или нет, и на основе этой информации определяет, «свой» это или «чужой»:
Сравнили обычные системы с продуктом заказчика в этой таблице ↓
В продукте две стороны — мобильное приложение для сотрудников и веб-интерфейс для службы безопасности.
В мобильном приложении реализована такая функциональность:
- многофакторная аутентификация с подтверждением по номеру телефона и c помощью нативных средств смартфона (Face ID, Touch ID);
- отслеживание геолокации по Bluetooth;
- интеграция с внешними системами безопасности в здании для потоковой передачи видео на экраны охраны.
В веб-панели для службы безопасности отображаются следующие данные: проходы авторизованных сотрудников, гостей и «подозрительных» чужих — тех, кто не прошел авторизацию в приложении. Понимаем, что это может звучать как антиутопия. На деле система помогает предотвращать нештатные ситуации и обеспечивать безопасность в местах с большим количеством людей.
Продукт разрабатывался с нуля. В крупных корпорациях за запуск новых решений часто отвечают отдельные команды, а для быстрого тестирования идей удобнее привлечь аутсорс-разработчиков, чем перераспределять ресурсы или нанимать новых сотрудников.
Заказчики выбрали нас благодаря хорошим отзывам от других ребят из индустрии. Плюс у нас уже был опыт разработки IoT-проектов: например, мы разработали приложение EnerGO для аренды пауэрбанков. А еще в нашу пользу сыграла огромная вовлеченность и готовность подхватить горящую задачу :)
Сама задача звучала так: за полтора месяца создать рабочий прототип приложения с основной функциональностью. Прототип планировали показать в головном офисе и от того, насколько успешно пройдет демо, зависело, будут ли развивать продукт или нет.
Мы в Purrweb много работали со стартапами, поэтому горящими задачами и супер-сжатыми сроками нас не напугать! Так что мы максимально быстро погрузились в контекст проекта, сделали пошаговый план и вместе с заказчиками обозначили, какие функции нужны для прототипа мобильного приложения:
- авторизация;
- мультифакторная аутентификация;
- создание пропуска.
Также мы должны были разработать веб-интерфейс для службы безопасности, чтобы показать, как все будет работать.
У заказчика уже были наработки по дизайну и основным флоу, а также готовый макет веб-интерфейса для охраны. Это позволило нам сэкономить часы разработки. Показывать детали из-за NDA мы не можем, но выглядело это примерно так:
Дашборд для службы безопасности ↑
Для скорости наша команда, которая состояла из системного аналитика, дизайнера, бэкенд- и фронтенд-разработчиков, а также тестировщика, приступила к параллельной работе. А еще мы наладили коммуникацию со специалистами со стороны заказчика, разделили зоны ответственности и обозначили возможные риски, и то, как мы можем их предотвратить.
Поскольку проект был новым, заказчику нужно было выбрать технологию для работы с BLE-маячками. Чтобы не терять время, решили временно использовать китайский аналог и его документацию, пока не примут окончательное решение.
Для приложения выбрали стек React Native. С ним было быстрее и проще интегрировать нужные библиотеки и сверстать компоненты из готовой дизайн-системы заказчика. Другое преимущество React Native — возможность кроссплатформенной разработки и переиспользования кода сразу для Android и iOS.
В итоге мы уложились в срок, демо прошло успешно, и проект решили развивать. Наработки прототипа легли в основу дальнейшей разработки, а с заказчиком договорились о небольшом редизайне приложения.
Посмотрим на основные флоу. Небольшой дисклеймер: для кейса мы немного изменили дизайн интерфейса приложения, чтобы сохранить коммерческую тайну. Но все пользовательские сценарии реальные.
В мобильном приложении у пользователя есть две роли: сотрудник и гость. Они взаимосвязаны — гость привязывается к конкретному сотруднику. Эта связь фиксируется в системе и на видеопотоке, что помогает анализировать взаимодействия и учитывать передвижение гостей.
Местоположение определяется через Bluetooth, поэтому его нужно держать включенным для корректной работы приложения.
При первом входе сотрудник проходит авторизацию по номеру телефона — система проверяет, есть ли он в базе:
Далее вход осуществляется через многофакторную аутентификацию, которая использует встроенные функции устройства. Такая проверка защищает от несанкционированного доступа, например, если телефон окажется в чужих руках.
Только после успешного прохождения проверки открывается экран с пропусками сотрудника:
Доступ осуществляется двумя способами:
1. «Свободные руки» – автоматический вход на территорию и в здание без необходимости доставать смартфон.
2. QR-код – проход по сканированию QR-кода в приложении.
В обоих случаях приложение должно быть запущено на смартфоне.
Активные пропуски сотрудника:
А что тем временем в дашборде сотрудника отдела безопасности? Все как на ладони :) Здесь отображаются все подозрительные проходы: дата, время, телефон и имя, кто выключил Bluetooth, не авторизовался или не использовал QR-код.
Дальнейшие действия зависят от политики безопасности на объекте, но в дашборде различаются нарушители и те, кто не сделал нужные действия по объективным причинам (например, если было плохое интернет-соединение)
Для удобства сделали сортировку по вкладкам: все проходы, подозрительные и гости.
Чтобы приложение эффективно выполняло свою задачу и позволяло отслеживать перемещения людей в реальном времени, мы реализовали несколько ключевых функций:
- Интерактивную карту офиса.
- Графический слой поверх видеопотока (Canvas).
- Поддержку потоковой трансляции через HLS.
- Кастомный видеоплеер с дополнительными функциями.
Как это работает в системе контроля доступа и безопасности?
Мы развернули приложение на инфраструктуре заказчика — это было ключевым требованием проекта. И передали готовое приложение, которое наши клиенты продолжили развивать силами инхаус-команды.
Заказчики остались довольны нашей совместной работой и хотели бы в будущем сделать с нами еще какой-нибудь классный проект. А мы только за!