Описание реализации кейса На старте проекта нас притормозили пробелы в документации. Чтобы заполнить их и приступить к работе, СДЭК выделил нам менеджера. За месяц мы собрали нужную информацию и начали первую фазу. На этом этапе мы разработали приложение СДЭК с усечённым функционалом:
отслеживание заказа по номеру накладной поиск офисов по удаленности (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 дизайн.