backend frontend интеграции и API интернет-магазины UI-дизайн
·

Интернет-супермаркет стройматериалов

С нуля разработали интернет-магазин для гипермаркета строительных товаров «Аквилон». Настроили сложные интеграции и увеличили посещаемость сайта.

Задача

Когда компания «Аквилон» обратилась к нам в 2020 году, у них было три строительных магазина в Казахстане, а для заказов через интернет работал сайт на CMS «1С-Битрикс».

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

Мы с энтузиазмом взялись за решение этих проблем.

«Аквилон» — интернет-супермаркет строительных материалов, один из крупных игроков на рынке Казахстана.

Анализ требований и выбор технологий

Начали с анализа требований. Стало известно, что в каталоге 30 000 товаров, а целевая посещаемость ожидается на уровне 100 000 пользователей. Сайт должен обеспечивать быстродействие и удобство при этих вводных.

Аудит существующего сайта на «1С-Битрикс» показал, что возможностей этой CMS тут недостаточно.

Поэтому мы предложили разработать новый интернет-магазин с нуля на базе фреймворка Symfony. Это популярный бэкенд-фреймворк, написанный на языке PHP. Symfony предоставляет большую гибкость и эффективность в разработке и масштабировании проекта.

В качестве базы данных мы выбрали MongoDB. Это документоориентированная СУБД, а это значит, что она не требует описания схемы таблиц. MongoDB отлично подходит в ситуации, когда нужно хранить множество типов товаров с совершенно разными полями-свойствами.

Среди плюсов использования MongoDB — возможность сделать гибкий поиск и сложные фильтры. А это необходимые элементы удобного строительного интернет-магазина.

Для фронтенда выбрали архитектуру Server Side Rendering на фреймворке Nuxt. Это современный подход, удобный в разработке и эффективный в плане поискового продвижения (SEO) и пользовательского опыта.

Личный кабинет покупателя на сайте «Аквилон»
Личный кабинет покупателя на сайте «Аквилон»

Цель – запуск через полгода

Нам нужно было успеть запустить новый сайт до весны, к началу строительного сезона. Это означало, что у нас было всего полгода, тогда как обычные сроки разработки интернет-магазина с нуля — минимум год. Задача предстояла непростая, но решаемая. Главное, это правильно расставить приоритеты и запускать продукт поэтапно.

Нам важно было иметь четкое видение MVP (minimal viable product) — минимально работоспособной версии продукта. Для этого нам нужно было обозначить функции, которые критически необходимы для запуска первой версии сайта.

К этим функциям мы отнесли каталог товаров и оформление заказа. Остальные задачи (например, Программа Лояльности) хоть и тоже важны, но в нашем плане они были размещены после запуска.

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

В итоге мы получили такой список необходимых качеств будущего сайта:

  • Быстрая загрузка страниц,
  • Понятная структура каталога,
  • Удобный поиск,
  • Комфортная мобильная версия.
Диаграмма Ганта разработки интернет-магазина «Аквилон»
Диаграмма Ганта разработки интернет-магазина «Аквилон»

Проектирование

Несмотря на сжатые сроки, мы не спешили начинать писать код. Первые три месяца мы вместе с клиентом занимались проектированием.

Мы считаем, что перед разработкой крайне важно полностью погрузиться в предметную область заказчика и тщательно разобраться в бизнес-требованиях. Это один из ключевых принципов подхода, который известен как DDD — Domain-Driven Design.

В рамках DDD клиент всегда в контакте с разработчиками и делится с ними своей экспертизой. Только так можно быть уверенным, что продукт будет создаваться на основе реальных потребностей и особенностей бизнеса.

Преимущества подхода DDD (Domain-Driven Design):

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

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

Снимки экрана интернет-магазина «Аквилон» при входе с мобильного устройства
Снимки экрана интернет-магазина «Аквилон» при входе с мобильного устройства

Интеграция с 1С

Клиент хранил информацию о заказах и товарах в 1С. И если нужно было использовать эту информацию где-то еще, например на сайте, то данные брались из 1С. Таким образом, 1С всегда оставалась первоисточником информации.

И одним из требований бизнеса было сохранить этот подход. Потому что переносить данные из 1С куда-то в нашем случае — дорого и нецелесообразно.

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

Чтобы решить эту проблему, мы внедрили менеджер очередей RabbitMQ. Грубо говоря, это копия базы данных из 1С, которая всегда актуальна и всегда доступна для нас 100% времени.

Если по какой-то причине 1С перестала отвечать на запросы, то сайт продолжает работать с копией данных в RabbitMQ. И когда 1С восстановится, то данные сразу же будут синхронизированы.

Запуск

В итоге, благодаря тому, что мы фокусировались на MVP, правильно расставляли приоритеты и тщательно всё планировали, мы смогли уложиться в заданный дедлайн и запустились к весеннему сезону.

Главная страница интернет-магазина «Аквилон»
Главная страница интернет-магазина «Аквилон»

Релиз занял около месяца и проходил в три этапа:

  • Сначала протестировали новый сайт на небольшой группе постоянных покупателей и собрали от них обратную связь.
  • Окрыли сайт на отдельном поддомене и поделились ссылкой с более широкой аудиторией.
  • Когда убедились, что пользователям всё нравится, выгрузили новую версию сайта и на основном домене.
Как мы запускали интернет-магазин «Аквилон»

Как мы запускали интернет-магазин «Аквилон»

Смотрите запись доклада директора panfilov.digital Максима Панфилова с конференции DIY Digital Days

Дальнейшее развитие сайта

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

Умный подбор вариантов доставки

При заказе автоматически подбирается и предлагается тот вариант доставки, который лучше всего подходит под этот заказ.

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

Диаграмма, которая показывает алгоритм подбора варианта доставки
Диаграмма, которая показывает алгоритм подбора варианта доставки

AI-поиск по сайту

Удобный поиск на сайте имеет очень важное значение для интернет-магазинов в сфере строительства и ремонта: до 70% продаж на сайте начинаются с поиска.

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

Но это всё равно простой поиск, который не всегда отвечает коммерческим задачам сайта. Поэтому со временем мы  внедрили поисковой движок с искусственным интеллектом.

У поиска с ИИ есть несколько преимуществ:

  • подсказки в поисковой строке,
  • релевантная предиктивная выдача,
  • исправление набора при некорректной раскладке клавиатуры.
Как умный поиск AnyQuery увеличивает продажи интернет-магазинов

Как умный поиск AnyQuery увеличивает продажи интернет-магазинов

Смотрите подробности в докладе с конференции DIY Digital Days

Комплекты товаров

Некоторые товары обычно покупаются комплектом. Например, если вы покупаете дверь, то к ней нужно подобрать наличники, петли, коробку.

Функция комплектов товаров упрощает подобные покупки. Когда вы добавляете в корзину одну часть комплекта, то сайт автоматически подберёт и предложит остальное.

Оформление заказа в интернет-магазине «Аквилон»
Оформление заказа в интернет-магазине «Аквилон»

Строительный калькулятор

Строительный калькулятор поможет определить, какой объем товара нужно купить при заданных вводных.

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

Строительный калькулятор и функция комплектов повысили удобство и увеличили средний чек покупки.

Результат

Мы считаем, что любой продукт нужно запускать как можно раньше, и наш подход к разработке построен вокруг этого принципа. В случае с «Аквилоном» ранний запуск был отдельно важен, чтобы успеть к началу строительного сезона.

Ценность запуска минимально рабочей версии (MVP) не только в сокращении time-to-market (время от начала разработки до запуска). Это также даёт возможность оценить, что реальные пользователи думают о сайте и как им пользуются. И на основе этого фидбека можно скорректировать дальнейший план разработки.

Но самое главное — после запуска проект начинает приносить прибыль и отбивать вложения в него.

Результат

Показатели, которых достиг интернет-магазин «Аквилон» за три года после запуска.

100 000

пользователей ежемесячно

+30%

рост небрендированного SEO-трафика

до 1%

рост конверсии в заказы с органического трафика

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

Результат работы понравился заказчику, поэтому мы продолжили сотрудничество и сделали мобильное приложение. О том, как проходила разработка приложения, можно почитать в статье нашего блога по ссылке ниже.

Мобильное приложение для сети магазинов стройматериалов

Мобильное приложение для сети магазинов стройматериалов

Разработка гибридного мобильного приложения для компании «Аквилон» на основе готового интернет-магазина с использованием кроссплатформенной технологии React Native.

Расскажите о вашей задаче

Все поля формы обязательны