Поддерживаем сайт по оптовой продаже автозапчастей
Для e-commerce компании обновление сайта постоянный процесс, который никогда не заканчивается. Специалисты Evrone присоединились к команде уральского дилера «Восход», чтобы помочь с развитием сайта оптовой продажи автозапчастей. Ниже расскажем о ходе и результатах нашей работы.
Клиент
Восход — оптовый b2b-поставщик автомобильных запчастей. Находится под управлением одноименной компании, которой также принадлежат розничный онлайн-магазин, бренд автохимии, сеть автосервисов и логистическая компания. Основная площадка дистрибьютора — сайт v-avto.ru, где юридические лица могут оптом закупать необходимые товары.
У клиента есть две версии сайта, новая и старая, которые пока существуют параллельно. Основной функционал уже доступен в новой версии, и в будущем планируется полностью перейти на нее. Клиенту понадобился специалист, который бы помог команде с развитием новой версии сайта и частичной поддержкой старого.
Сайт работает как витрина для взаимодействия с покупателями, поиска и формирования заказов. Основные данные хранятся в 1С, там же и происходит основная часть расчетов. Бэкенд обоих версий сделан на Ruby on Rails, фронтенд в новой e-commerce версии реализован на React. Старый сайт полностью реализован на Rails с шаблонами.
Взаимодействие с 1С
На сайте действует сложная система расчета цен, которая работает на основе интеграции с 1C. Прайс-листы формируются по правилам, прописанным в 1С, где можно задать скидки и наценки. База данных сайта полностью синхронизируется с базой 1C раз в сутки, при этом в течении дня происходит множество локальных обменов данными.
Каждый клиент может загрузить прайс-лист в виде файла, который генерируется и автоматически обрабатывается на основе данных из 1С. На сайте доступны варианты выгрузки прайс-листа для всех товаров сайта или только для отдельных товаров и категорий. Плюс, можно настроить автоматическую выгрузку листов, которые будут приходить на почту с заданной периодичностью.
Мы ускорили расчет цен из 1С, теперь прайс-листы формируются быстрее и меньше нагружают сервер. Этого удалось достичь за счет предзагрузки правил в приложение и уменьшения количества SQL-запросов. Теперь все данные загружаются одним запросом, и к ним применяются предзагруженные правила.
Локальные улучшения для нового сайта
В рамках перехода на новую версию сайта перед нами стояла задача переписать методы на GraphQL. По сути, это новая обертка для существующих функций, которая позволяет им работать на React-фронтенде. Например, мы переписали регистрацию и добавили новую страничку к процессу, где клиент сразу может указать постоянный адрес для поставки.
Популярная у покупателей функция — формирование корзины по xlsx-файлу. Пользователь загружает таблицу с артикулами и количеством товара, на ее основе формируется корзина. Иногда один артикул существует для разных вариантов товара, тогда нужно попросить пользователя выбрать нужный вариант. На бэкенде это стейт машина, которая реагирует на события: файл прочитан, обработан, найдены варианты и тд. Помимо бэка, написали фронтенд функции для старого сайта и GraphQL-метод для нового.
Для нового сайта мы настроили интеграции со сторонними сервисами. Например, интеграции через API с платформой ABCP — популярным программным решением для магазинов запчастей — и сервисом DaData, который автоматически подтягивает необходимую информацию о юрлице при заполнении форм.
Готовится к запуску в прод новая система уведомлений. Прошлая была разветвленной и довольно сложной, для удобства фронтенд-разработчиков и бизнес-аналитиков мы отрефакторили код и добавили простую статистику в BI-систему.
Новые функции
Evrone подключился и к разработке новых функций. Так, мы участвовали во внедрении маркетинговых акций. На товары можно устанавливать скидку в 1С, на сайте они будут отображаться с ярлыками и подсвечиваться в поисковой выдаче. Плюс есть отдельный раздел, где видны товары по специальному предложению.
Мы также добавили на сайт лист ожидания для товаров, отсутствующих на складе. Клиенты могут добавить нужное в список, и когда нужный товар появится в нужном количестве, придет уведомление. При этом, уведомления приходят один раз сутки, исключая ночное время, выходные и праздники, для удобства пользователей.
Результаты
В планах компании запуск новой системы уведомлений и новая версия каталога. Новый каталог будет рендериться в несколько этапов и быстрее загружаться, поиск тоже станет лучше работать. Появится новая админка, для этого стек нужно обновить до седьмой версии Rails, мы подготовили систему к переходу. Готовится полезное обновление, которое позволит точнее определять интервалы доставки. И, конечно, главная цель — полностью перейти на новую версию b2b-сайта для оптовиков и дилеров.
Вот, что мы успели сделать на проекте:
- Оптимизировали взаимодействие сайта с 1С, теперь цены рассчитываются быстрее.
- Настроили интеграции со сторонними сервисами.
- Переписали запросы на GraphQL, чтобы перенести функции старого сайта на новый.
- Сделали раздел лист ожидания, и поработали над маркетинговыми акциями.
Вы также можете нанять специалистов Evrone на аутстаф, чтобы разгрузить команду в пиковые периоды. Мы поможем создать платформу электронной коммерции e-commerce и настроить интеграцию с 1С. Заполните форму внизу, и мы свяжемся с вами.