AzoftКейсыПриложение для курьерской службы доставки

Приложение для курьерской службы доставки

Жаргал Данзанов Апрель 12, 2018

Мобильное приложение СДЭК

У транспортно-курьерской компании СДЭК за плечами восемнадцать лет работы в логистике, сотни офисов и тысячи пользователей по России и ближнему зарубежью. А мобильного приложения до сих пор не было.

Тендер на разработку выиграли мы. Цель: создать удобный инструмент для отправления, получения и отслеживания посылок, заказа курьера, расчёта стоимости доставки, поиска ближайшего офиса и связи с колл-центром. Предстояло реализовать непростой функционал в красивой UI/UX упаковке.

Подготовка к работе

Мы знали, что у СДЭК есть своя экспертиза в Android-разработке и они могут ревьюить наш код. Поэтому было логично начать именно с Android приложения. План был такой: сначала выкатываем нативное приложение под Android и уже потом, с учётом накопленного опыта, разрабатываем iOS версию.

На старте проекта мы потратили довольно много времени на написание объёмной документации. Чтобы дело пошло быстрее, СДЭК даже выделил нам отдельного менеджера. Закончив с этим, дальше решили двигаться малыми итерациями.

Первая версия Android приложения

Выбрали несколько базовых функций и начали с них:

  • уточнение статуса заказа по номеру накладной
  • поиск офисов в радиусе 1, 3 и 10 км по основным параметрам: график работы и условия приёма посылок (например, приём грузов тяжелее 30 кг)
  • звонок в колл-центр
  • заказ обратного звонка

Первую фазу мы завершили осенью 2017. Релиз в Google Play состоялся 20 сентября.

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

Функционал приложения СДЭК

Вторая версия Android приложения

Здесь мы разработали оставшиеся функции:

  • калькулятор стоимости доставки
  • вызов курьера

Важным моментом была работа с фильтрами. И калькулятор, и вызов курьера учитывают несколько основных параметров:

  • кто пользуется приложением: отправитель или получатель
  • откуда забрать груз и куда доставить
  • сколько весит посылка и какого она размера
  • в какое время лучше доставить груз получателю

После ввода параметров форма калькулятора меняется, подстраивается под запросы пользователя. За интуитивно понятным интерфейсом спрятан непростой скринфлоу, учитывающий самые разные сценарии. Пользователь может свободно скакать между экранами — данные, которые он ввёл, сохраняются автоматически.

Ещё одна фишка калькулятора — несколько вариантов расчёта. От самого дешёвого, но долгого, до быстрого, но подороже. История расчётов тоже сохраняется.

Кроме того, в калькуляторе есть список с дополнительными опциями. Доставка в выходной день, подъём на этаж, СМС-уведомления и другие мелочи, которые так или иначе влияют на стоимость. При необходимости пользователь управляет ими на отдельном экране с помощью кастомных контролов.

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

Мобильное приложение СДЭК

iOS приложение

На третьем этапе разработали приложение под iOS. У нас уже был багаж знаний и опыта, поэтому эту фазу мы прошли без проблем.

Отдельного внимания заслуживает UI/UX дизайн и на Android, и на iOS. Мы разработали его сами, без привлечения ресурсов заказчика. Мало того, что дизайн получился отличным, так это еще и прилично сэкономило время. Изменений по ходу работы было много и быстрее было редактировать интерфейс своими руками, а не ждать дизайнера со стороны.

Технологии

Android: Java, Kotlin, Databinding, Rxjava, Dagger 2, Retrofit, Objectbox, Google maps, Yandex api
iOS: Swift, VIPER, Dependency Injection, Realm, Eureka, Google Maps
Server-Side: Java 8, Spring, Hibernate, PostgreSQL, MapStruct, Flyway

Выводы

Себе в актив мы охотно записываем интуитивно понятный UI/UX дизайн и калькулятор для расчёта доставки со сложной логикой и гибким функционалом. Кстати, калькулятор выгодно выделяет СДЭК среди аналогичных приложений на российском рынке. В них такой функции нет.

Сегодня у приложения в Google Play уже больше 50 000 скачиваний. В App Store СДЭК появится совсем скоро, в апреле 2018.

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

Еще один приятный вывод касается тестирования двумя командами: нашей и заказчика. Некоторые баги были связаны со сложной спецификой логистического бизнеса, и нам было непросто найти их. В этой ситуации тестирование двумя командами сработало на пять с плюсом.

Комментарии

комментарии