Система Доступа
МОБИЛЬНАЯ И ВЕБ РАЗРАБОТКА
-
Создано в
2022
Вместе с компанией AirKey разработали первую систему доступа через мобильные приложения и локальный сервер. AirKey – компания из ОАЭ, созданная на основе компании SmartAirKey. Занимается созданием систем доступа на основе собственных устройств. В 2022 году разработчики Yourfavorite.agency присоединились к команде «Airkey», чтобы вместе переработать мобильное приложение и создать новые решения. Все текущие системы доступа – либо только B2B, либо B2С. Они закрыты для обычного пользователя. «AirKey» же является открытой экосистемой, куда можно подключить офис или дом, не переживая за безопасность. Удобство «Mafatehi» заключается в том, что пользователь использует одно приложение для доступа в любое место: дом, офис, спортзал или коворкинг.
Цели
Переписать приложения под актуальный на 2023 год стек технологии, параллельно делая редизайн;
Создать упрощённую копию облачного решения в виде локального сервера и переработать интерфейс;
Предусмотреть гибкость архитектуры под различные направления бизнеса;
Упростить процесс установки и настройки серверов и устройств компании.
В будущем приложение станет супераппом. С его помощью можно будет открывать двери и пользоваться лифтами, бронировать жильё и пользоваться парковкой. Со стороны сервера можно будет иметь продвинутую систему мониторинга сотрудников и интеграции с доставкой еды.
Результаты
С первого дня работы над проектом до запуска MVP прошло полгода. За это время мы вместе с командой «AirKey»:
Переписали архитектуру приложений;
Разработали микросервисную архитектуру сервера;
Предусмотрели систему безопасности;
Продумали дизайн-концепцию.
Аналитика
Аналитики Yourfavorite.agency помогали разрабатывать концепцию приложения. Мы провели большую исследовательскую работу:
Собирали ожидания пользователей;
Тестировали первоначальную концепцию на аудитории;
Провели 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 сегмента первые в мире реализовали в качестве асинхронного шифрования протокол Диффи-Хеллмана на эллиптических кривых.
Тестирование
Сервер мы покрывали тестами с четырёх сторон:
Юнит тесты — пишут разработчики во время написания кода;
Тестирование эндпоинтов для фронтенда — pytest;
Тестирование фронтенда — selenium;
Интеграционное тестирование — поскольку система очень сложная, то действия в мобильном приложении приводят к изменению на локальных серверах. Это потребовало дополнительного тестирования.
Для мобильных платформ использовали Appium.
Проблемы
В ходе создания проекта мы столкнулись с рядом проблем.
Ошибки:
Первым делом мы заметили, что в системе уже происходят ошибки, и они никак не регулируются. Мы подключили ко всей облачной архитектуре Zabbix и ELK, а для мобильных приложений — Crashlitics. Так мы смогли видеть все ошибки и оперативно на них реагировать.
Аналитика:
После нескольких интервью с пользователями мы заметили ключевые боли в использовании мобильных приложений:
Долгая и сложная регистрация и восстановление пароля;
Половина необходимых фич спрятана глубоко в настройках;
Работа приложения с железом неочевидна для пользователя и нестабильна.
СМС:
В середине проекта вектор компании сменился с только B2B на B2B и B2C, где клиенты это туристы в ОАЭ. Проблема возникла с тем, что не на все номера местный СМС-провайдер мог отправить СМС. Мы разделили номера на категории: поддерживаемых стран и не поддерживаемых. После этого СМС для номеров из РФ и ОАЭ отсылались через местных провайдеров, а для всех остальных через — Sinch. Так же мы предусмотрели возможность flashcall для всех клиентов компании.
Заключение
В результате сотрудничества AirKey и Yourfavorite.agency была создана новаторская система доступа с помощью мобильных приложений и локальных серверов. Mafatehi, обновленное приложение, упрощает доступ пользователей к различным местам, таким как дома, офисы и спортивные залы, с помощью единой платформы.
Ключевые достижения включают упрощенный процесс регистрации, надежную микросервисную серверную архитектуру и усиленные меры безопасности. Несмотря на такие проблемы, как управление ошибками и проблемы с доставкой SMS, стратегические решения были успешно реализованы.
Mafatehi собирается превратиться в суперприложение, предлагающее комплексные функции, такие как доступ к дверям и лифту, бронирование жилья и многое другое. Этот проект демонстрирует инновационный потенциал AirKey и Yourfavorite.agency, устанавливая новый стандарт для систем доступа во всем мире.