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

Мы провели аналитику требований от клиента, составили техническое задание на новый раздел «Запчасти». Поскольку отсутствовали макеты дизайна, заново создали UI-kit
Все разделы сайта: «Новая техника», «Техника с наработкой», «Техника в аренду» и «Навесное оборудование» были переведены под новый дизайн. Все они отличались логикой, что усложняло реализацию и поддержку
Также мы реализовали новый раздел «Распродажа» в кратчайшие сроки. С использованием поиска, динамической фильтрации, новым дизайном
На сайте был настроен импорт данных из сторонней системы посредством XML большого объема, часть импорта оказалась в нерабочем состоянии. В процессе мы его оптимизировали, разбили обработку на очереди (с дочерними подпроцессами), настроили валидацию данных XML по схемам XSD
Создали документацию, четко описали все методы по импорту и закрыли по безопасности от посторонних запросов
Реализовали механизм добавления товара в корзину в зависимости от выбранного филиала с учетом цены. Для техники в аренду создали механизм добавления в корзину с выбором количества дней аренды
Сейчас мы занимаемся переводом сайта на современный стек технологий в виде NextJS, в дальнейшем планируем улучшать интеграции с внешними сервисами и CRM заказчика
Перевели проект на Python 3.13 и Django 5+
Подключили Celery, Redis, ElasticSearch, CI/CD, Poetry, PyTest
Полностью переписали XML-импорт, сделав его стабильным даже для больших объемов данных
Добавили тесты на основной функционал сайта
Внедрили Docker для удобного развертывания
Создали систему автоматизированного тестирования
Внедрили быстрый поиск по сайту через 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 и документации