Разработать приложение, которое позволит расплачиваться без использования банковской карты и терминала, например, на рынках или на ярмарках в ТЦ.
Разработали приложение, позволяющее использовать мобильный телефон в качестве терминала для приема оплаты.
Продавец указывает в приложении название денежной операции и сумму. Приложение генерирует уникальный идентификатор операции, затем покупатель оплачивает по нему покупку. После оплаты у продавца отображается статус платежа.
Можно посмотреть историю платежей прямо в приложении.
Работали с опережением графика и в тесной связке с разработчиками клиента. Со стороны клиента была разработка дизайна и библиотеки по взаимодействию с банковским бэкендом (Android SDK). Мы должны были создать само Android-приложение, интегрировать сверстанные экраны с SDK и реализовать iOS SDK, по аналогии с Android SDK
Пока ждали от клиента материалы, не теряли времени и работали над бизнес-логикой и базой данных. Когда получили дизайн, начали делать экраны и интеграцию с SDK. При разработке использовали Kotlin Multiplatform Mobile и наши библиотеки MOKO, такие как moko-mvvm, moko-resources, moko-fields. Для базы данных использовали SQLDelight, чтобы можно было пользоваться приложением, даже если пропал интернет.
Работа шла параллельно: мы верстали экраны, потом получали очередной блок SDK, интегрировали его и шли дальше. Получалось верстать экраны с запасом.
Сделали Android-версию вместе с общим кодом за 1,5 месяца.
В iOS-версии повторили интерфейс инструментами iOS. То есть не переносили дизайн один в один с Android-версии. Это было сделано, чтобы обеспечить пользователю привычный UI и UX. Использовали moko-kswift, чтобы сделать код на Kotlin более «красивым» для Swift. Уложились в две недели.
За несколько недель разработали iOS SDK на основе Android SDK. Для этого разобрались в криптографии, а также в создании и хранении приватных ключей шифрования в iOS Keychain. Теперь клиент может использовать iOS SDK в других проектах.
Тестированием занимались самостоятельно.
Создание iOS SDK на основе Android SDK. Нужно было глубоко погрузиться в iOS-криптографию.
Реализовали генерацию пар приватных-публичных ключей с сохранением приватного ключа в защищенной области iOS. Реализовали проверку SSL-сертификата сервера и механизм SSL-авторизации клиента. Многое для себя почерпнули, что поможет нам в будущих проектах.
«Работа над проектом прошла по плану. Команда проекта узнала интересные детали про реализацию криптографии на iOS, чему была очень рада. Взаимодействие с клиентом было быстрым и ясным. Ждем дальнейшего развития проекта».
Разработали Android-приложение, которое позволяет совершить оплату с помощью телефона и хранит статистику операций. Также перевели Android-библиотеку на iOS и сверстали iOS-версию приложения.
Разработка заняла 2,5 месяца. Android-версия приложения ожидает релиза.
Приложение позволяет вести статистику продаж. Можно отслеживать, в какой день продаж было больше, а в какой — меньше.