Веб ПОД NDA

Корпоративный B2B-портал для производителя промышленного оборудования

Название заказчика не разглашается по условиям договора · Производитель насосного и компрессорного оборудования, ~180 сотрудников, дилерская сеть в 6 регионах ЦФО и Поволжья · Прямой коммерческий договор · 4,5 месяца

Задача

Заказчик — производитель промышленных насосов и компрессоров с собственной дилерской сетью. Актуальные цены и остатки дилеры получали по телефону и в переписке по почте, заказы оформлялись вручную в Excel-таблицах, которые дублировались и расходились с данными склада. Расхождения между тем, что видел дилер, и тем, что было в 1С, регулярно приводили к срывам сроков отгрузки.

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

Решение

  • Веб-портал на React: каталог ~2 400 SKU с фильтрами по категориям и наличию, корзина, история заказов и статусов отгрузки.
  • Интеграция с 1С:Управление торговлей: синхронизация остатков и цен дважды в сутки (утро/вечер), подтверждённые заказы автоматически уходят обратно в 1С.
  • Ролевая модель на 3 уровня: дилер видит свой прайс и историю заказов, региональный менеджер — сводку по своим дилерам, администратор — полный доступ и журнал действий пользователей.
  • Адаптивная вёрстка под планшеты — часть региональных менеджеров работает в разъездах.
  • Развёртывание в Docker на VPS заказчика, CI/CD-пайплайн для обновлений без остановки портала в рабочие часы.

Стек и инфраструктура

Дилеры и менеджеры работают через браузер с React-интерфейсом. Запросы проходят через Nginx на Node.js API, данные хранятся в PostgreSQL. Обмен с 1С:УТ — по расписанию дважды в сутки: остатки и цены подтягиваются пакетами, подтверждённые заказы уходят обратно в учётную систему через 1С HTTP-сервис. Развёртывание — Docker-контейнеры на VPS заказчика, обновления выкатываются через CI/CD без остановки портала в рабочее время.

React, Node.js, PostgreSQL, REST API, 1С HTTP-сервис, Nginx, Docker.

flowchart LR

  A["Дилер
(браузер)"] --> B["Nginx"] B --> C["Node.js API"] C --> D[("PostgreSQL")] C <--> E["1С HTTP-сервис"] E <--> F["1С:УТ
2 раза в сутки"]

Упрощённая схема — для иллюстрации, без деталей внутренней инфраструктуры заказчика

Результат

−62%

время на оформление заказа дилером

+37%

заказов оформляется через портал

Без критичных сбоев

первый квартал эксплуатации по мониторингу заказчика

Отзыв

«Дилеры перестали дублировать заявки в почте. Цены и остатки совпадают с 1С к вечерней синхронизации — это было главным требованием комиссии при приёмке.»

Описание основано на реальном проекте. Идентификация заказчика не раскрывается в связи с соглашением о конфиденциальности.