Федеральный поставщик строительно-дорожной техники «Техстройконтракт» поставил перед агентством Soft Media Group задачу по масштабной адаптации интернет-площадки под новые бизнес-требования. Проект охватывает 93 филиала по всей России, более 100 тысяч наименований запчастей и обширный каталог спецтехники ведущих мировых производителей.
Задачи проекта
- Адаптировать существующую площадку под новые бизнес-процессы компании.
- Обеспечить стабильную интеграцию с внутренней системой на базе Oracle (СУБД) — импорт спецификации через XML (язык разметки) объемом до 1000+ Мб.
- Реализовать динамическую фильтрацию с гибкой настройкой из административной панели.
- Полностью переработать раздел «Запчасти»: создать новый дизайн и расширенный функционал.
- Повысить конверсию и снизить нагрузку на отдел продаж за счет автоматизации.
Исходные данные и вызовы
Площадка работала на стеке Python 3.7 (язык программирования) и Django 2.2 (фреймворк). Архитектура перестала удовлетворять темпам роста бизнеса: импорт данных из Oracle (СУБД) не справлялся с нагрузкой, отсутствовали готовые макеты дизайна, а поддержка разнородных разделов («Новая техника», «Техника с наработкой», «Техника в аренду», «Навесное оборудование») требовала значительных ресурсов.

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

2. Интеграция с Oracle и обработка данных
Самый сложный этап проекта — работа с XML-выгрузками объемом до 1 Гб, содержащими до 11 млн записей. Реализован принципиально новый механизм импорта:
- Обработка разбита на очереди с использованием Celery (системы управления задачами) и Redis (хранилища данных в памяти).
- Настроена валидация XML по XSD-схемам (стандарту описания структуры).
- Данные обновляются не массивами, а инкрементально — только по изменившимся позициям.
- Номенклатура обновляется два раза в сутки через XML, а цены и остатки — динамически через JSON (формат обмена данными).
- Создана подробная техническая документация и закрыты каналы от посторонних запросов.
3. Поиск и фильтрация
Внедрен быстрый поиск через ElasticSearch (поисковую систему) с временем отклика 0,3 секунды. Реализованы два уровня фильтрации:
- Быстрый поиск по модели техники и подкатегории.
- Расширенный поиск с учетом технических параметров, бренда, наличия и срока доставки.

- Создан личный кабинет с раздельной логикой для физических и юридических лиц.
- Реализована карточка товара с динамическим набором полей (например, 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% за первые три месяца после релиза.

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