Обновить приложение, повысив его стабильность и отказоустойчивостьУ заказчика уже было рабочее приложение, но оно морально устарело и использовало старые технологии. Нам предстояло написать новое приложение, которое отвечает современным стандартам и форматам.Помимо этого заказчик попросил учесть некоторые технические особенности, например, динамически меняющийся каталог товаров, различные способы доставки и способы оплаты, а также возможность доставки в другие страны.
Учли технические особенности бэкенда, подключили свой опыт по разработке мобильных маркетплейсов и упростили процесс обновлений для заказчикаПри работе над приложением для Android мы использовали Kotlin и MVVM — современный, признанный сообществом и рекомендованный Google подход к разработке.При выборе библиотек опирались на удобство использования, отказоустойчивость, полную совместить с Kotlin и пожелания заказчика. Так мы выбрали Coroutines, Navigation Components, Retrofit, Hilt, Coil, Paging, Yandex Mapkit, Jetpack Compose, Jivo chat, Firebase, Room.Серверную часть подключили с помощью классического REST и библиотеки Retrofit. Классический REST — это популярный архитектурный подход для создания API в современном мире. А библиотека Retrofit — лучший серверный клиент для Android.Нам нужно было сделать так, чтобы в приложении отображался динамический UI с сервера. Чтобы решить эту задачу, мы использовали подход Server Driven UI, при котором за отображение экрана отвечает сервер.Каталог в виде плиткиВ онлайн-гипермаркете огромный ассортимент товаров, поэтому мы выбрали плиточный вид каталога. Так пользователю удобнее находить нужный раздел, кликая на крупную иконку, и уже потом искать товары внутри него.Сортировка и фильтрыТовары в каталоге можно сортировать по цене, новизне и популярности.Для быстрого поиска есть фильтры: цена, категория, тип товара, бренд, материал.Продающая карточка товараВ карточке товара можно выбрать нужный цвет, посмотреть большие фото, узнать, где товар есть в наличии и что пишут про него другие пользователи.На этом же экране для каждого товара отображаются сроки доставки разными способами, чтобы пользователь мог выбрать самый быстрый.Выбор ближайшего офлайн-магазинаБольшинство товаров предназначены для творческих людей, поэтому зачастую покупателю удобнее посмотреть товар вживую, чем прочитать сотню отзывов в сети.В каталоге можно выбрать удобный магазин, чтобы просматривать товары в наличии и актуальные цены.Поиск магазина, где товар есть в наличииНа случай, если нужного товара нет в выбранном магазине, мы реализовали простой и удобный интерфейс для поиска магазина, где товар есть в наличии. Искать можно по списку или на карте.Выбор способа доставкиЗабирать заказы можно разными способами: самовывозом из магазина, доставкой в пункт выдачи или курьером.Выбрать нужный способ доставки можно на этапе подтверждения заказа.Отдельная форма заказа для юридических лицСреди клиентов «Леонардо» — не только обычные покупатели, но и компании.Для вторых мы реализовали отдельный интерфейс оформления заказа, в котором можно указать реквизиты вроде ИНН и названия организации.Выбор товаров к заказу из корзиныМногие пользователи используют корзину как «Избранное»: кидают в нее товары, чтобы не потерять. Поэтому справа есть кнопка «Выбрать все», с которой можно вручную сформировать состав заказа или в один клик заказать все позиции из корзины.Актуальный статус заказаРядом с каждым заказом отображается статус, который регулярно обновляется.Если заказ доставлен, пользователь видит статус на зеленой плашке. Если задерживается — на красной.Бонусные баллы за отзывыЧтобы повышать вовлеченность покупателей и укреплять систему лояльности, мы реализовали систему поощрений за отзывы.Подарочный сертификат за баллы«Леонардо» предлагает радовать покупками не только себя, но и других. Для этого в системе лояльности предусмотрена возможность обмена бонусных баллов на подарочные сертификаты.Обменять баллы на сертификаты разных номиналов можно в личном кабинете.Скидки по дисконтной картеУчастники системы лояльности могут получать скидки на покупки в офлайн-магазинах через приложение. Для этого мы подключили возможность привязки дисконтной карты к профилю пользователя и генерации уникальных скидочных кодов.ОтзывыНа основе отзывов автоматически рассчитывается средняя оценка товара. Она схематично отображается по шкале от одного до пяти и помогает пользователям сделать выбор. А еще отзывы позволяют «Леонардо» контролировать качество товаров, которые поставляют производители.Видео с мастер-классамиНа главной — специальный раздел для творческих людей «Онлайн-мастерская Леонардо». В нем собраны серии видео от опытных мастеров, которые рассказывают о вышивке лентами, стилях декорирования, скетчинге и других творческих направлениях.Сканер штрихкодовС помощью приложения можно отсканировать товар в офлайн-магазине, чтобы узнать о нем больше.Мы реализовали сканер штрихкодов, который использует камеру смартфона.Локализация для стран СНГГипермаркеты «Леонардо» открываются в других странах, поэтому в приложении пользователь может выбрать нужную страну. Интерфейс автоматически будет переведен на язык этой страны.