Интернет-магазин товаров для художников «Etudesite»
Этюд — крупнейший художественный интернет-магазин, в котором вы найдете лучшие товары для художников, дизайнеров, архитекторов, и творческих людей. Самый большой ассортимент всего необходимого для творчества, для черчения от известных производителей.
Выполнили для клиента

Цели и задачи проекта
Реализация интернет-магазина, соответствующего современным нормам в удобстве использовании пользователями и поддержки и развития разработчиками.
Выполненные работы
- генерация виртуального каталога для оптимальной работы с его данными, с программной точки зрения. Решение по реализации было принято в связи с тем, что структура каталога задаётся на сайте посредством заполнения 5 инфоблоков, что исключало возможность оптимального (и быстрого) выбора данных для отображения на сайте. Виртуальный каталог строится по информации из исходных данных и хранится в одном инфоблоке, попутно содержит ряд предрасчётных данных (например, раздел сразу содержит информацию о количестве товаров в нём)
- отдельный слой кеширования цен позволил значительно ускорить работу каталога в целом. Подобное решение стало возможным благодаря упрощённым требованиям к работе скидок на проекте (одна цена в каталоге, нет зависимости цен от групп, нет правил корзины, меняющих цены каталога). Цены в кеше обновляются с определённым периодом, либо если произошло изменение базовой цены. При этом обновление кеша происходит оптимально при обновление каталога из 1С - массово, не замедляя его в процессе
- фильтрация совмещена с поиском и работает по всему каталогу
- импорт номеров отслеживания посылок: Почта России, Boxberry
- построение QR-кодов для оплаты через Сбербанк.Онлайн
- возможность вставки виджетов отображающих информацию каталога (разделы, товары) на любую страницу (например, внутрь текста новости) с помощью макроподстановок. Благодаря универсальной реализации, с помощью минимальной коррекции конфигурации, имеется возможность подключить таким образом любой компонент удовлетворяющий определённому интерфейсу
- модификация внешнего вида для выбора конечного способа оплаты после выбора метода оплаты онлайн (Paykeeper)
- 3 вида корзины: к покупке, избранное, напомнить о поступлении (и отправка почтового уведомления, связанного с этой корзиной)
- собственная система хранения баннеров с возможностью гибкой настройки цели отображения (выбор из заранее известных областей и\или указание отображения рядом с определёнными объектами - элемент или раздел инфоблока, например, раздел каталога)
- автоматическая авторизация на сайте после перехода по ссылке заказа из писем
- каталог товаров, в том числе по брендам
- личный кабинет: авторизация, регистрация, восстановление пароля, профиль, заказы, карточка заказа
- быстрый просмотр карточки товара из любого места, где отображаются списки товаров
- корзина и оформление заказа
- виджет подписки на рассылки, возможность подписаться в ходе завершения оформления заказа
Технические аспекты проекта
- бизнес-объекты сайта описаны с помощью классов и позволяют работать с ними по заданному интерфейсу без необходимости «помнить» имена полей, как при «классическом» подходе с Битрикс
- реализован уровень абстракции над выборками данных (read-only ORM), благодаря которому сохраняется привычная возможность выборки данных через полный аналог getList, но при этом:
- возвращается список бизнес-объектов, а не ассоциативных массивов
- данные всегда загружаются лениво и массово, за счёт чего количество запросов минимизируется
- возможен прозрачный доступ к связанным объектам (например, у товара есть бренд - это тоже объект, у бренда есть изображение и т.п.) без потери производительности за счёт ленивой массовой загрузки
- используется Docker для запуска сайта на локальных компьютерах разработчиков. Конфигурация приближена к конфигурации на продуктивном сайте (там Docker не используется)
- Webpack для сборки фронтенд-кода и БЭМ-методология в верстке
- реализована возможность размещать статические страницы стандартным для Битрикс путем, но при этом не захламляя веб-директорию. Заполнение производится в выделенную для этого директорию. В связи с тем, что на проекте используется модифицированная генерация Sitemap, коррекция, которая учла это, была минимальной
- В рамках проекта была проведена реализация и запуск в эксплуатацию полноценного интернет магазина с нестандартным каталогом, фильтром и рядом других особенностей
- По скорости работы сайт перешёл из категории «очень медленно - медленно» в стабильное «быстро»
- Намечено и запланировано активное расширение и развитие функций сайта (дополнительные виды представления списка товаров, интеграция с Instagram, отзывы, профили в личном кабинете и др.)