Назад к кейсам

Разработка PIM-системы

«Разработка PIM-системы» «Разработка PIM-системы»

О клиенте

Компания СООО «Конте Спа» была основана в 1997 году в г. Гродно (Республика Беларусь), когда рынок только начинал свое развитие. 20 лет неустанного развития и эффективной работы вывели «Конте Спа» на позицию лидера в производстве одежды, белья, чулочно-носочных изделий в Восточной Европе.

«Разработка PIM-системы» лендинг.

О проекте

Название проекта “Contematrix” родилось из слова “Матрица”, которым назывались XLS-файлы с информацией о товарах. В течение многих лет в компании обновление списка товаров в информационных системах производилось через загрузку таких огромных файлов, которые собирались руками.

Проект Contematrix представляет из себя web-приложение, в котором менеджеры компании добавляют новые товары, изменяют существующие, работают с товарными категориями, фотографиями и синхронизируют изменения с B2C и B2B системами. Платформа интегрирована со складами, что позволяет получать актуальные списки товарных предложений, цены, контрагентов.

Цели проекта

Цифры
  • в 5 раз Ускорили процесс изменения товаров.
  • на 90% Сократили количество ошибок в товарной базе.
  • 1 минута Применение изменений для ~10 000 товаров.

Решение

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

Весь интерфейс состоит из нескольких разделов:

Проблемы и вызовы

Таблица для миллиона товаров? Чтобы всем было удобно? Легко!

Раздел “Номенклатура” является ключевым компонентом системы. Реализовать действительно удобный инструмент и учесть все популярные сценарии работы сотрудников оказалось непростой задачей. В течение нескольких месяцев мы собирали обратную связь от менеджеров и доводили функционал до идеала.

Что особенного в “простой” таблице:


  • Производительность. Первой и основной нашей целью было добиться отрисовки страницы таблицы в пределах 200 мс (⅕ секунды). Это невероятно сложная задача, учитывая большое количество данных, некоторые из которых нужно вычислять “на лету”. К тому же, пользователь может добавлять неограниченное количество фильтров и даже менять структуру таблицы, что еще более усложняет задачу.
  • Неограниченная фильтрация. Фильтры представляют из себя интуитивно понятный конструктор, в котором пользователь может добавить любые из полей товаров и определить правила фильтрации. Правила учитывают типы полей: для дат правило показывает календарь с выбором дня или периода, для полей “Да/Нет” – галочку, для полей с ограниченным списком значений – выбор из списка и так далее.
«Разработка PIM-системы» страница закрытия смены.
  • Добавление, удаление, перемещение колонок таблицы. С таблицей работают сотрудники разных отделов компании и решают разные задачи. То, что удобно одним, не нужно для других. Поэтому каждый пользователь может настроить выводимые данные именно так, как нужно ему.
  • Массовые действия с товарами. Изменить любые поля, удалить, переместить в другую категорию – все это можно сделать сразу для 10 или 100000 товаров. Для этого реализована и удобная функция “Выбрать все по фильтру”.
  • Запоминание настроек. Любые настройки таблицы, такие как фильтры, колонки, сортировка, запоминаются для пользователя и их не требуется настраивать каждый раз.
  • Быстрое редактирование. Некоторые поля товаров, которые изменяются чаще других, можно изменять прямо в таблице, даже не открывая карточку товара.
  • Экспорт и импорт. Можно скачать все данные по выбранному фильтру или загрузить файл с новыми товарами, которые будут добавлены в систему.

Система черновиков и отложенной публикации

Пожалуй, самый сложный с технической точки зрения компонент системы. Мы реализовали своеобразную систему контроля версий товаров, где пользователи могут вести независимые “версии” со своими изменениями, откатывать их или применять в любой момент времени. Со стороны бизнеса это выглядит так: пользователь системы вносит изменения в товары, а завершая работу он принимает решение, хочет ли он опубликовать изменения на подключенные платформы немедленно или это необходимо сделать в определенный момент в будущем. Классический пример – вывод в продажу новой линейки продукции в определенный день и час. К нему может быть приурочен даже запуск акции, поэтому важно, чтобы товары не появились раньше времени. Менеджер может добавить в систему всю линейку даже за неделю до дня Х, проверить отображение товаров на тестовой площадке, а затем назначить публикацию в продакшн на нужный день и час.

Надежный и быстрый обмен с другими системами

Исходя из требований бизнеса, мы поставили себе цель – добиться того, чтобы любые изменения товарной базы доставлялись в B2B и B2C-системы не более чем за минуту. Мы потратили много сил на построение максимально эффективной системы обмена, проводили ряд экспериментов и сравнивали скорость, и по итогу достигли своей цели. На данный момент через разработанную нами шину обмена изменения за секунды распространяются по подключенным платформам. Так как обмен содержит исключительно изменившиеся поля, то клиентским системам требуется минимальное время для их обработки.

«Разработка PIM-системы» страница выбора билета.

Точная и глубоко проработанная система настройки доступов

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

Технологии

  • Symfony
  • React.s
  • PHP
  • Go
  • MongoDB
  • PostgreSQL
  • Elasticsearch
  • RabbitMQ
  • Docker
  • Redis
  • Nginx
  • REST API

Сотрудничество

2022 — ∞