Интернет-магазин по доставке цветов MagicFlower
Клиент: MagicFlower
Magic Flower
интернет-магазин по доставке цветов, работающий в Москве и Санкт-Петербурге
Magic Flower встали на техническое сопровождение сайта и разработку приложения накануне 8 марта 2024 года. А после злонамеренной атаки на сайт (DDos), которую мы отразили, речь зашла о доработке и полном сопровождении сайта
Magic Flower встали на техническое сопровождение сайта и разработку приложения накануне 8 марта 2024 года. А после злонамеренной атаки на сайт (DDos), которую мы отразили, речь зашла о доработке и полном сопровождении сайта
Задачи
Разработка мобильного приложения с нуля:
создать кроссплатформенное мобильное приложение на Flutter, обеспечивающее стабильную работу на iOS и Android
Доработка бэкенда:
адаптировать и оптимизировать существующую серверную инфраструктуру для полноценной интеграции с мобильным приложением и веб-сайтом, устранить существующие ошибки и добавить недостающие функции
Решения

Разработано мобильное приложение, соответствующее требованиям UX/UI и техническим стандартам

Доработан и стабилизирован бэкенд, обеспечивающий синхронизацию данных между мобильным приложением и веб-сайтом

Произведены технические доработки макетов, предоставленных заказчиком

Достигнута надёжная работа приложения на обеих платформах
Главный экран
На главном экране вывели главные разделы. Здесь же разместили систему лояльности: бонусы начисляются в зависимости от суммы выкупа и уровня кешбэка.


Каталог
Каталоги Москвы и Санкт-Петербурга отличаются
Если пользователь находится в Москве, каталог Санкт-Петербурга остаётся скрытым, и наоборот. При первом открытии приложения видно только тот, который соответствует его текущей локации
Если пользователь находится в Москве, каталог Санкт-Петербурга остаётся скрытым, и наоборот. При первом открытии приложения видно только тот, который соответствует его текущей локации
После оформления первого заказа пользователь видит каталог по городу, который соответствует адресу последнего заказа
Определение местоположения
Проблема заключалась в том, что после авторизации пользователь не мог вручную изменить локацию. Это стало серьёзным препятствием: не всегда удавалось корректно определить местоположение, что приводило к ситуации, когда клиент попадал не в свой каталог и не мог оформить заказ.
Решение оказалось элегантным и удобным: теперь, если неавторизованный пользователь пытается добавить товар в корзину или открывает пустую корзину, приложение предлагает ввести адрес.
Такой подход минимизирует ошибки и улучшает пользовательский опыт.
Экран товара
Устроен по принципу страницы маркетплейса: когда клиент выбирает параметры, например, красный цвет и высоту букета 35 сантиметров, система автоматически подбирает подходящий вариант из ассортимента, заранее заполненного заказчиком в административной панели


Такая логика стимулирует продажи
С её помощью клиент имеет возможность группировать для пользователя наиболее подходящие группы товаров
Все под рукой
Здесь же пользователь может посмотреть на характеристики самого букета, рейтинг, отзывы, а также узнать стойкость, сезонность и артикул


Рейтинг и отзывы
Можно просматривать, сортировать и добавлять отзывы, в том числе фотографии. Здесь же видно ответы интернет-магазина на них
Также есть возможность пожаловаться на отзыв из-за искажения информации, неприемлемого содержания или другой причине
Избранное
Сюда пользователь добавляет понравившиеся товары, чтобы в любой момент быстро их найти
А если избранного товара нет в наличии — вид карточки меняется
Push-уведомления
Пользователь получает пуши:


Мои заказы
Здесь покупатель видит текущие заказы и архив с предыдущими. Он может:
Мои адреса
Адреса можно добавлять и удалять
Ранее дизайн был реализован следующим образом: адреса самовывоза находились в разделе «Контакты». Мы же продублировали их в «Мои адреса», потому что такое расположение привычнее для пользователя. Ещё сделали ссылки кликабельными — раньше такой опции не было
Есть возможность добавить комментарий. Например, «Просьба не звонить в домофон»
Корзина
Пользователь может:
- Добавить товар в корзину из каталога или сразу с главного экрана
- Добавить бесплатную открытку
- Вставить промокод
- Выбрать опцию «купить товар в один клик» — тогда ему перезвонит менеджер, вводить адрес доставки и другие данные вручную не понадобится
- Удалить товар. После этого у него есть 5 секунд, чтобы его вернуть — на случай если покупатель передумает или удалит товар по ошибке

Доставка и оплата
Покупатель видит разные варианты доставки и оплаты:


Статистика разработки
- Менеджмент
-
292 часа
- Аналитика
-
12 часов
- Дизайн
-
135 часов
- Бэкенд
-
1180 часов
- QA
-
80 часов
- Flutter-разработчик
-
1244 часа
Стек бэк-технологий
- Языки
-
Python•Django•FastAPI
- База данных
-
Postgresql•Redis
- Документация
-
Sphinx
Стек мобильной разработки
- Язык
-
Python
- Архитектурные шаблоны
-
REST API
- Технологии
-
Firebase•GitYandex maps
- Фреймворки
-
Flutter
- Библиотеки
-
flutter_bloc•DioEquatable•go_routerget it•lottieclean architectureflutter_svgshared_preferencesflutter_security_storageflutter_native_splashinternet_connection_checker_pluscached_network_image
Spider Group специализируется на разработке мобильных приложений, сайтов, CRM-систем и серверной логики, внедрении AI, а также создании дополненной реальности и интернета вещей разработке мобильных приложений, веба, серверных проектов, дополненной реальности, искусственного интеллекта и Интернета вещей.