Техстройконтракт

Техстройконтракт

Стек технологий:
javascript
python
react
Продажа строительно-дорожной техники ведущих мировых производителей
Разработка 2025
Перейти на сайт
Задача

Нам требовалось адаптировать существующий сайт под новые бизнес-требования. Полностью переработать раздел «Запчасти», создав новый дизайн и расширенный функционал. Реализовать динамическую фильтрацию с возможностью гибкой настройки прямо из административной панели. Главной задачей была интеграция с внутренней системой компании – импорт всей спецификации из Oracle БД через XML-выгрузки (до 1000+ Мб), который изначально не справлялся с нагрузкой.

Решение

Проект находился на устаревшем стеке технологий: Python 3.7, Django 2.2, с неработающим функционалом и незавершенными задачами. Среди проблем также наблюдались: устаревшая техническая база мешала масштабированию и дальнейшей разработке, не работал импорт данных из внутренней системы Oracle (XML-файлы до 1000+ Мб). Плохая производительность и неудобство в обслуживании, было невозможно быстро управлять фильтрами и контентом.

Мы провели аналитику требований от клиента, составили техническое задание на новый раздел «Запчасти». Поскольку отсутствовали макеты дизайна, заново создали UI-kit.

Все разделы сайта: «Новая техника», «Техника с наработкой», «Техника в аренду» и «Навесное оборудование» были переведены под новый дизайн. Все они отличались логикой, что усложняло реализацию и поддержку.

Также мы реализовали новый раздел «Распродажа» в кратчайшие сроки. С использованием поиска, динамической фильтрации, новым дизайном.

На сайте был настроен импорт данных из сторонней системы посредством XML большого объема, часть импорта оказалась в нерабочем состоянии. В процессе мы его оптимизировали, разбили обработку на очереди (с дочерними подпроцессами), настроили валидацию данных XML по схемам XSD.

Создали документацию, четко описали все методы по импорту и закрыли по безопасности от посторонних запросов.

Реализовали механизм добавления товара в корзину в зависимости от выбранного филиала с учетом цены. Для техники в аренду создали механизм добавления в корзину с выбором количества дней аренды.

Сейчас мы занимаемся переводом сайта на современный стек технологий в виде NextJS, в дальнейшем планируем улучшать интеграции с внешними сервисами и CRM заказчика.

Первым делом мы провели полный аудит проекта. Поняли, что большая часть кода нуждается в глубоком рефакторинге, а некоторые части требовалось переписать с нуля. Макетов сайта не было, мы также создали UI kit и полный дизайн в Figma.

Что мы сделали:

  • Перевели проект на Python 3.13 и Django 5+
  • Внедрили Docker для удобного развертывания
  • Подключили Celery, Redis, ElasticSearch, CI/CD, Poetry, PyTes
  • Создали систему автоматизированного тестирования
  • Полностью переписали XML-импорт, сделав его стабильным даже для больших объемов данных
  • Внедрили быстрый поиск по сайту через ElasticSearch
  • Добавили тесты на основной функционал сайта
  • Улучшили возможности СЕО-оптимизации
  • Доработали текущие разделы и добавили новые
Основные сложности
  • Интеграция с внутренней системой Oracle через XML-файлы (до 1ГБ)
  • Обработка огромных объемов данных (до 11 млн позиций цен)
  • Полная переработка фронтенда без готовых макетов
  • Сложная логика фильтрации и динамического отображения данных
  • Одновременная работа над несколькими разделами с разной логикой
  • Отсутствие документации
Стек технологий
  • Backend : Python, Django, Django Rest Framework, PostgreSQL, Redis, Celery, ElasticSearch
  • Frontend : HTML5, CSS3, JavaScript, ReactJS, NextJS (в процессе перехода)
  • Инструменты : Docker, CI/CD, Poetry, PyTest, Figma
  • Интеграции : CRM, КЛАДР, FTP, XML, XSD, API
Итоги
  • Импорт данных стал в 6 раз быстрее (с 18 часов до 3)
  • Поиск товаров — 0.3 секунды
  • Поддержка более 10 000 товаров , 1000+ пользователей онлайн
  • Полностью обновлен фронтенд (100%), значительная часть бэкенда (80%)
  • Более 20 новых API-методов , 90+ автоматизированных тестов
Бизнес-эффект
  • Снижение нагрузки на отдел продаж
  • Рост конверсии в заказы на 25%
  • Упрощённая поддержка благодаря Docker, CI/CD и документации

Понравился проект?

Оставьте заявку, и наши менеджеры свяжутся с тобой

Галерея страниц проекта
Обсудить проект
Выберите тип задачи, расскажите о ней, каким вы видите решение и результат:
0/500
Перетащите файлы,
чтобы загрузить их
Прикрепить файлыЗагружаемые файлы не должны превышать 20 мб
Нажимая на кнопку «Отправить», Вы соглашаетесь c политикой обработки персональных данных и получением информационных рассылок.