AirKey

Вместе с компанией AirKey разработали первую систему доступа через мобильные приложения и локальный сервер. AirKey – компания из ОАЭ, созданная на основе компании SmartAirKey. Занимается созданием систем доступа на основе собственных устройств. В 2022 году Endwork присоединилась к команде «Airkey», чтобы вместе переработать мобильное приложение и создать новые решения. Все текущие системы доступа – либо только B2B, либо B2С. Они закрыты для обычного пользователя. «AirKey» же является открытой экосистемой, куда можно подключить офис или дом, не переживая за безопасность. Удобство «Mafatehi» заключается в том, что пользователь использует одно приложение для доступа в любое место: дом, офис, спортзал или коворкинг.

Цели

  • Переписать приложения под актуальный на 2023 год стек технологии, параллельно делая редизайн;
  • Создать упрощённую копию облачного решения в виде локального сервера и переработать интерфейс;
  • Предусмотреть гибкость архитектуры под различные направления бизнеса;
  • Упростить процесс установки и настройки серверов и устройств компании.

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

Нам важно быть там, где удобно пользователю. У каждого из нас есть мобильный телефон. И мы постоянно с ним взаимодействуем, решаем повседневные задачи. Поэтому мы решили реализовать все возможности доступа в мобильном приложении «Mafatehi».

Артём Василевский – бизнес-аналитик AirKey.

Результаты

С первого дня работы над проектом до запуска MVP прошло полгода. За это время мы вместе с командой «AirKey»:

  • Переписали архитектуру приложений;
  • Разработали микросервисную архитектуру сервера;
  • Предусмотрели систему безопасности;
  • Продумали дизайн-концепцию.

Аналитика

Аналитики Endwork помогали разрабатывать концепцию приложения. Мы провели большую исследовательскую работу:

  • Собирали ожидания пользователей;
  • Тестировали первоначальную концепцию на аудитории;
  • Провели 6 итераций глубинных интервью по 10–12 респондентов в каждой.

Дизайн

Интерфейс после изменений оказался настолько прост в освоении, что впервые увидевшие проект пользователи смогли решать сложные задачи с доступом. Документация по эксплуатации теперь осталась только для галочки.

Для мобильных приложений мы полностью переработали дизайн и упростили регистрацию. Итогом стало уменьшение времени регистрации с 2 минут до 10 секунд. Все необходимые функции находятся на поверхности и легко доступны из главного меню.

Разработка

Для разработки приложений уже использовались нативные варианты, мы решили не отказываться от них из-за необходимости тонкой настройки BLE.

Изначально приложения были написаны на java и ObjectiveC. Мы переписали их на kotlin и swift, а еще перевели Ui на и SwiftUi вместо UiKit. Это позволит легче поддерживать приложение.

Для создания локального сервера мы выбрали python с асинхронным фреймворком FastAPI. Это помогло одновременно быстро писать высокоэффективный код и пользоваться внутренними наработками.

Фронтенд мы сделали на React с библиотекой react-admin для работы с большим количеством таблиц. Это сократило сроки создания интерфейса.

Архитектура

Чтобы реализовать локальный сервер, нужно было дать пользователям единую точку входа для получения ключей, а компаниям — собственный отказоустойчивый сервер для контроля.

  • Создали ci/cd пайплайны для работы с docker.
  • Написали свой инсталлятор для локального сервера.
  • В итоге компания смогла разворачивать решения в течение 10 минут с нуля на любом компьютере. Кроме того, любые изменения стали быстро доходить до пользователя.
  • Все ключи приходят на единое облако для мобильных приложения, а полностью закрытые системы могут работать через VPN.

Системам доступа очень важна безопасность. Мы добавили в приложения и локальный сервер end-to-end шифрования для получения цифровых ключей.

Для B2C сегмента первые в мире реализовали в качестве асинхронного шифрования протокол Диффи-Хеллмана на эллиптических кривых.

Тестирование

Сервер мы покрывали тестами с четырёх сторон:

  1. Юнит тесты — пишут разработчики во время написания кода;
  2. Тестирование эндпоинтов для фронтенда — pytest;
  3. Тестирование фронтенда — selenium;
  4. Интеграционное тестирование — поскольку система очень сложная, то действия в мобильном приложении приводят к изменению на локальных серверах. Это потребовало дополнительного тестирования.

Для мобильных платформ использовали Appium.

Проблемы

В ходе создания проекта мы столкнулись с рядом проблем.

Ошибки:

Первым делом мы заметили, что в системе уже происходят ошибки, и они никак не регулируются. Мы подключили ко всей облачной архитектуре Zabbix и ELK, а для мобильных приложений — Crashlitics. Так мы смогли видеть все ошибки и оперативно на них реагировать.

Аналитика:

После нескольких интервью с пользователями мы заметили ключевые боли в использовании мобильных приложений:

  • Долгая и сложная регистрация и восстановление пароля;
  • Половина необходимых фич спрятана глубоко в настройках;
  • Работа приложения с железом неочевидна для пользователя и нестабильна.

СМС:

В середине проекта вектор компании сменился с только B2B на B2B и B2C, где клиенты это туристы в ОАЭ. Проблема возникла с тем, что не на все номера местный СМС-провайдер мог отправить СМС. Мы разделили номера на категории: поддерживаемых стран и не поддерживаемых. После этого СМС для номеров из РФ и ОАЭ отсылались через местных провайдеров, а для всех остальных через — Sinch. Так же мы предусмотрели возможность flashcall для всех клиентов компании.

Награды и признание

На международной выставке Intersec всегда было много людей возле стенда AirKey. Демонстрация технологи поразила всех посетителей!

Category:
Date: