Главное Авторские колонки Вакансии Образование
Выбор редакции:
275 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Мобильные приложения службы доставки СДЭК

«Я почему вредный был? Потому что у меня мобильного приложения не было!» Рассказываем, как мы работали над Android и iOS приложением для службы курьерской доставки СДЭК.
Мнение автора может не совпадать с мнением редакции

СДЭК занимается доставкой посылок и грузов с 2000 года. За 18 лет многое поменялось. Теперь сложно представить курьерскую компанию такого уровня без своего мобильного приложения.

Рассчитать стоимость доставки, отследить заказ, найти офис, вызвать курьера, связаться с колл-центром или заказать обратный звонок — функции приложения понятны. Другой вопрос: как их собрать и оформить, чтобы конечный продукт был удобным, быстрым и красивым? Именно такая цель была поставлена перед нами.

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


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

Описание реализации кейса

На старте проекта нас притормозили пробелы в документации. Чтобы заполнить их и приступить к работе, СДЭК выделил нам менеджера. За месяц мы собрали нужную информацию и начали первую фазу. На этом этапе мы разработали приложение СДЭК с усечённым функционалом:

  • отслеживание заказа по номеру накладной

  • поиск офисов по удаленности (1, 3 и 10 км), времени работы и условиям приема посылок (например, где принимают посылки свыше 30 кг)

  • связь с колл-центром

  • заказ обратного звонка.

Через 2 месяца после старта первая версия приложения появилась в Google Play. Без лишних пауз мы взялись за вторую фазу. Что сделали на этом этапе:

  • калькулятор для расчёта стоимости доставки

  • вызов курьера.

В обеих функциях используется набор фильтров: тип пользователя (отправитель или получатель), адреса точек А и Б, вес и размеры посылки, время доставки. В ходе работы в функционале калькулятора появились дополнительные опции. Например, отправка посылки в выходной день, подъём груза на этаж, СМС-уведомления.

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

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

Калькулятор стал, пожалуй, самой сложной частью проекта. Но мы справились с задачами и спустя пару месяцев после релиза выкатили в Google Play вторую версию приложения СДЭК.

На следующем этапе мы разработали iOS приложение сразу с функционалом I и II фаз. Опыт работы на Android помог нам портировать приложение на другую платформу.

После успешного релиза приложений мы приступили к финальной части проекта: в III фазе добавили в приложение авторизацию пользователей в личном кабинете. Теперь клиентам СДЭК удобно просматривать профиль и историю заказов, фильтровать заказы по статусу (например, «в пути», «выполненные»), присваивать заказам названия.

Мы полностью создали UI/UX дизайн приложения. Это стало большим плюсом и сэкономило немало времени. Всегда проще самому подкрутить мелочи, чем ждать дизайнера на стороне заказчика.


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

Результаты сотрудничества

Проект подарил много интересных и разноплановых задач. И стэк использовали приличный.

Mobile (Android): Java, Kotlin, Databinding, Rxjava, Dagger 2, Retrofit, Objectbox, Google maps, Yandex api

Mobile (iOS): Swift, VIPER, Dependency Injection, Realm, Eureka, Google Maps

Сервер: Java 8, Spring, Hibernate, PostgreSQL, MapStruct, Flyway.

Конечным результатом довольны и мы сами, и заказчик. Главные поводы для гордости — интуитивно понятный, функциональный калькулятор для расчёта доставки и отличный UI/UX дизайн.

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.