Осенью 2016 года международная транспортная компания СДЭК открыла тендер на разработку мобильного приложения.
Функции приложения:
Мы, компания Azoft, выиграли тендер. Перед нами была цель: разработать два нативных приложения для iOS и Android. Приложения должны быть быстрыми, с удобным и красивым дизайном.
В компании СДЭК есть своя экспертиза в Android, поэтому мы начали именно с Android версии — в этом случае тестировать приложение можно было сразу двумя командами: нашей и со стороны заказчика. Версию iOS решили сделать позже, когда полностью обкатаем Android приложение.
Поставленная задача и ее решение
Весной 2017 года мы начали работу над проектом. Сразу определили три этапа:
Прежде чем приступить к разработке, нам потребовалось заполнить некоторые пробелы в документации. Для ускорения процесса заказчик выделил нам менеджера. В июле мы уже приступили к первой задаче, а в сентябре первая версия приложения СДЭК появилась в Google Play.
Функции приложения на данном этапе:
Все эти функции было сравнительно просто реализовать. Задачи посложнее мы оставили на десерт.
Чем дополнили приложение на этом этапе:
Обе функции должны быть доступны с главного экрана и простые в использовании. Для обеих используются несколько фильтров:
В калькуляторе есть и дополнительные опции: отправка в выходной день, подъём груза на этаж, SMS-уведомления. Мы учли все мелочи, которые влияют на стоимость доставки. Некоторые опции приходили нам в голову уже по ходу работы над проектом.
Мы решили не вываливать на пользователя сразу все параметры, а выдавать их постепенно, по мере необходимости. Когда юзер заполняет поля, то калькулятор, в зависимости от параметров, подстраивается под конкретный заказ и меняет форму. Для удобства все дополнительные опции доставки оформлены отдельным списком с кастомными контролами.
Кроме того, калькулятор мы сделали гибким — он выдаёт несколько вариантов расчёта, с разным соотношением цены и времени доставки. Вся история расчётов сохраняется в приложении.
Чтобы учесть все сценарии, нам потребовалось как следует продумать скринфлоу калькулятора. Пользователь может сперва вызвать курьера, а потом посчитать стоимость. Может сделать всё наоборот. Может вообще сделать расчёт, а вызов курьера оставить на потом. В любом случае всегда можно откатиться к предыдущему шагу и изменить параметры расчёта. Введённые данные никуда не потеряются.
В целом, именно калькулятор стал главным вызовом во всем проекте. Это была сложная и интересная задача, и мы горды тем, что справились с ней на отлично. В ноябре 2017 вторая версия приложения СДЭК с полным функционалом появилась в Google Play. Всего через пару месяцев после первой.
Третий этап начался в январе 2018. Здесь мы сразу взялись за полную версию iOS приложения. Могли это позволить себе, так как за плечами уже был опыт работы над Android версией. Все трудные места мы знали и оперативно портировали приложение на новую платформу.
К весне iOS приложение было фактически готово. Оставалось допилить некоторые моменты и дождаться релиза в App Store. Это произошло в апреле 2018.
После успешного релиза мы приступили к финальной части проекта: добавили в приложение авторизацию пользователей в личном кабинете. Теперь клиентам СДЭК удобно просматривать профиль и историю заказов, фильтровать заказы по статусу (например, “в пути”, “выполненные”), присваивать заказам названия.
Напоследок отметим, что UI/UX дизайн приложения — полностью наша заслуга. Им мы занимались, не задействуя специалистов со стороны заказчика. Это было удобно и выгодно по времени: намного быстрее скорректировать мелочи самому, чем ждать дизайнера на стороне клиента.
СДЭК дал нам много интересных и разноплановых задач. И стэк получился впечатляющий. Вот основные технологии, которые мы использовали:
Android: Java, Kotlin, Databinding, Rxjava, Dagger 2, Retrofit, Objectbox, Google maps, Yandex api
iOS: Swift, VIPER, Dependency Injection, Realm, Eureka, Google Maps
Сервер: Java 8, Spring, Hibernate, PostgreSQL, MapStruct, Flyway
Конечным результатом довольны и мы сами, и заказчик. Себе в копилку заслуг охотно отправляем удачный UI/UX дизайн и непростой калькулятор с гибким функционалом.
Между прочим, именно калькулятор выгодно выделяет СДЭК среди аналогичных приложений компаний-конкурентов. У многих из них такой функции нет. В целом, приложение дало компании СДЭК прямой контакт с клиентами, новый рычаг для развития рынка физлиц.