Федеральный поставщик строительно-дорожной техники «Техстройконтракт» поставил перед агентством Soft Media Group задачу по масштабной адаптации интернет-площадки под новые бизнес-требования. Проект охватывает 93 филиала по всей России, более 100 тысяч наименований запчастей и обширный каталог спецтехники ведущих мировых производителей.

Задачи проекта

  • Адаптировать существующую площадку под новые бизнес-процессы компании.
  • Обеспечить стабильную интеграцию с внутренней системой на базе Oracle (СУБД) — импорт спецификации через XML (язык разметки) объемом до 1000+ Мб.
  • Реализовать динамическую фильтрацию с гибкой настройкой из административной панели.
  • Полностью переработать раздел «Запчасти»: создать новый дизайн и расширенный функционал.
  • Повысить конверсию и снизить нагрузку на отдел продаж за счет автоматизации.

Исходные данные и вызовы

Площадка работала на стеке Python 3.7 (язык программирования) и Django 2.2 (фреймворк). Архитектура перестала удовлетворять темпам роста бизнеса: импорт данных из Oracle (СУБД) не справлялся с нагрузкой, отсутствовали готовые макеты дизайна, а поддержка разнородных разделов («Новая техника», «Техника с наработкой», «Техника в аренду», «Навесное оборудование») требовала значительных ресурсов.

Изображение предоставлено агентством Soft Media Group (Софт Медиа Групп) с сайта softmg.ru

Ход работы и реализованные решения

Команда проекта включала бэкенд- и фронтенд-разработчиков, дизайнеров, DevOps-инженеров (специалистов по инфраструктуре) и SEO-специалистов (экспертов по поисковой оптимизации).

1. Проектирование и дизайн

Поскольку исходных макетов не было, с нуля разработан UI-kit (набор интерфейсных компонентов) и полный дизайн в Figma (редакторе прототипов). Все разделы сайта переведены под новый дизайн с учетом единой логики и UX-принципов (пользовательского опыта).

Изображение предоставлено агентством Soft Media Group (Софт Медиа Групп) с сайта softmg.ru

2. Интеграция с Oracle и обработка данных

Самый сложный этап проекта — работа с XML-выгрузками объемом до 1 Гб, содержащими до 11 млн записей. Реализован принципиально новый механизм импорта:

  • Обработка разбита на очереди с использованием Celery (системы управления задачами) и Redis (хранилища данных в памяти).
  • Настроена валидация XML по XSD-схемам (стандарту описания структуры).
  • Данные обновляются не массивами, а инкрементально — только по изменившимся позициям.
  • Номенклатура обновляется два раза в сутки через XML, а цены и остатки — динамически через JSON (формат обмена данными).
  • Создана подробная техническая документация и закрыты каналы от посторонних запросов.

3. Поиск и фильтрация

Внедрен быстрый поиск через ElasticSearch (поисковую систему) с временем отклика 0,3 секунды. Реализованы два уровня фильтрации:

  • Быстрый поиск по модели техники и подкатегории.
  • Расширенный поиск с учетом технических параметров, бренда, наличия и срока доставки.
Изображение предоставлено агентством Soft Media Group (Софт Медиа Групп) с сайта softmg.ru
  • Создан личный кабинет с раздельной логикой для физических и юридических лиц.
  • Реализована карточка товара с динамическим набором полей (например, VIN-номер и филиал для техники в аренду).
  • Настроен механизм записи на сервис с учетом доступного времени, даты и предварительной стоимости по мото-часам.
  • Внедрена корзина с учетом выбранного филиала и актуальной цены.
  • В кратчайшие сроки запущен раздел «Распродажа» с поиском и динамической фильтрацией.

5. Обновление стека технологий

Проект переведен на актуальные версии Python 3.13 и Django 5+ (фреймворк). Внедрены Docker (система контейнеризации), CI/CD (непрерывная интеграция и доставка), Poetry (менеджер зависимостей), PyTest (фреймворк тестирования). Создано более 90 автотестов для контроля качества.

6. SEO-оптимизация

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

В настоящее время ведется перевод клиентской части на NextJS (фреймворк) с дальнейшим расширением интеграций с внешними сервисами и CRM (системой управления клиентами)

Основные сложности, которые удалось преодолеть

  • Интеграция с закрытой Oracle (СУБД) через XML-файлы объемом до 1 Гб.
  • Обработка массива до 11 млн записей цен и остатков.
  • Полная переработка фронтенда без готовых макетов.
  • Сложная логика фильтрации и динамического отображения данных.
  • Параллельная работа над несколькими разделами с разной бизнес-логикой.

Результаты в цифрах и фактах

  • Импорт данных ускорен в 6 раз (с 18 часов до 3 часов на первичную выгрузку; обновление — за минуты).
  • Время отклика поиска — 0,3 секунды.
  • Поддержка более 10 000 товаров и 1000+ пользователей онлайн одновременно.
  • 100% фронтенда обновлено, 80% бэкенда переписано.
  • Разработано более 20 новых API-методов (программных интерфейсов).
  • Написано более 90 автоматизированных тестов.
  • Рост конверсии в заказы — на 25%.
  • Рост трафика — на 30% за первые три месяца после релиза.
Изображение предоставлено агентством Soft Media Group (Софт Медиа Групп) с сайта softmg.ru

Бизнес-эффект для «Техстройконтракт»

  • Снижение нагрузки на отдел продаж: менеджеры сосредоточились на активных продажах, а не на обработке заявок.
  • Полная автоматизация обмена данными с Oracle (СУБД) — исключены ручные операции.
  • Упрощенная поддержка благодаря Docker (контейнеризации), CI/CD (непрерывной интеграции) и технической документации.
  • Улучшение пользовательского опыта: современный дизайн, быстрый поиск, удобные формы заказа и записи на сервис.
  • Повышение позиций в поисковой выдаче по ключевым запросам отрасли.
  • Масштабируемая архитектура, готовая к росту бизнеса и внедрению новых интеграций.