restore: — крупнейшая сеть магазинов и сервисных центров техники Apple в России, первый фирменный магазин которой открылся в 2005 году. В настоящее время сеть насчитывает 90 магазинов в 22 городах РФ.
Задача
re-store.ru является высоконагруженным e-commerce проектом. В условиях сложной архитектуры проекта, обусловленной большим количеством SKU, сложной логикой и требованием аптайма проекта 24*7, бизнес нуждался в надежной команде разработчиков, готовых поддерживать высокие стандарты, умеющих оперативно вести разработку и работать в параллель с другими командами.
В процессе погружения в задачи проекта обозначены проблемы:
- неудовлетворительное время загрузки страниц из-за комплексности используемых алгоритмов для расчета и отображения информации;
- децентрализация функционала и элементов верстки по коду.
Решение
Процесс разработки и техподдержки интернет-магазина организован совместно с еще одним подрядчиком. Внутри проекта была создана выделенная команда ведущих разработчиков с тимлидом с опытом рефакторинга, которые умеют анализировать, проектировать и реализовывать качественный базовый архитектурный каркас функционала.
Грамотно продуманная структура проекта, готовая к масштабированию, позволила разработать функциональные части сайта.
Отделение от мультисайта
Изначально проект клиента существовал в формате мультисайта с нахождением нескольких сайтов на одном ядре. При развитии сайта re-store.ru появились потребность в их разделении. Это позволило решить проблему с масштабируемостью проекта. Разделение баз сайтов также сказалось на улучшении производительности.
Внедрение фреймворка Symfony
В связи с перспективой перехода проекта на микросервисы было принято решение о внедрении фреймворка Symfony. Это позволило переиспользовать набор независимых модулей и компонентов, быстро и эффективно проектировать, разрабатывать, масштабировать и поддерживать проект.
Переход на Vue.js
В результате развития интерфейсов сайта использование Jquery перестало себя оправдывать: внесение правок занимало много времени и приводило к ошибкам. Для решения данных проблем интерфейсы сайта были приведены в соответствие с UI-kit, а также спроектирован и организован “бесшовный” постраничный переход на Vue.js одновременно с рефакторингом текущего кода. Внедрение Vue.js положительно отразилось на общей производительности сайта.
Адаптивность
Сайт адаптирован под все виды устройств – от смартфона и планшета до компьютеров с разной диагональю экрана. При разработке строго соблюдались новые брейкпоинты, при которых происходит переключение адаптивов, также они должны быть сквозными для всех элементов, типовых блоков и всех страниц сайта.
Интеграции
- Сервис Forward. Сервис позволяющий за минимальную сумму в месяц пользоваться новинками продукции restore: покупатель пользуется устройством, постепенно выкупая его.
- Yandex Pay. Любой пользователь «Яндекса», который привязал карту к профилю, может совершать покупки через кнопку «ЯPay» без ручного ввода реквизитов карты.
- Yandex ID. Пользователю нет необходимости заводить учетную запись и заполнять дополнительные формы. API Яндекс ID позволяет автоматически подтягивать данные пользователя из его аккаунта в Яндексе.
- Dynamic Yield. Позволяет сегментировать пользователей интернет-магазина и персонализировать контент на сайте. Реализация товарных рекомендаций основана на собранных данных о каждом пользователе.
Результат
Усовершенствование архитектуры делает интернет-магазин restore: простым в использовании и сопровождении, сокращает время на разработку и поддержку проекта. Использование Vue.js и Symfony фреймворков позволяет выстроить стандартизированную работу, которую можно автоматизировать.
Команда Progressive Media выполнила высокопроизводительный и масштабируемый проект с микросервисной структурой, который позволяет выполнять интеграции с лучшими отраслевыми решениями и внедрять передовые технологии.
В настоящее время команда продолжает развитие проекта re-store.ru.
Выставлено в номинациях:
— Сайт магазина розничной торговли
— Лучший сайт для потребителей (b2c)