/
Кассир

Создали приложение для быстрой оплаты товара или услуги

Работает на Android и iOS.

2,5 месяца разработки

Задача

Задача

Разработать приложение, которое позволит расплачиваться без использования банковской карты и терминала, например, на рынках или на ярмарках в ТЦ.

Решение

Решение

Разработали приложение, позволяющее использовать мобильный телефон в качестве терминала для приема оплаты.

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

Можно посмотреть историю платежей прямо в приложении.

Процесс разработки

Работали с опережением графика и в тесной связке с разработчиками клиента. Со стороны клиента была разработка дизайна и библиотеки по взаимодействию с банковским бэкендом (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-авторизации клиента. Многое для себя почерпнули, что поможет нам в будущих проектах.

Юрий Егоров

Project manager

«Работа над проектом прошла по плану. Команда проекта узнала интересные детали про реализацию криптографии на iOS, чему была очень рада. Взаимодействие с клиентом было быстрым и ясным. Ждем дальнейшего развития проекта».

card-0
card-1
card-2

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

KMM (Kotlin Mobile Multiplatform)
MOKO libraries
MOKO-mvvm под капотом AAC (Android Architecture Components)
moko-resources
moko-fields
SQLDelight

Результат

Разработали Android-приложение, которое позволяет совершить оплату с помощью телефона и хранит статистику операций. Также перевели Android-библиотеку на iOS и сверстали iOS-версию приложения.

Разработка заняла 2,5 месяца. Android-версия приложения ожидает релиза.

iOS
iOS
Android

Приложение позволяет вести статистику продаж. Можно отслеживать, в какой день продаж было больше, а в какой — меньше.

Ведение статистики

Приложение позволяет вести статистику продаж. Можно отслеживать, в какой день продаж было больше, а в какой — меньше.

0

Давайте обсудим ваш проект!

Это бесплатно. Мы расскажем, как приложение решит конкретные бизнес-задачи.