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

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

Продажа строительно-дорожной техники ведущих мировых производителей
Стек технологий:
  • Python
  • JavaScript
  • React

Задачи

  • Нам требовалось адаптировать существующий сайт под новые бизнес-требования

  • Главной задачей была интеграция с внутренней системой компании – импорт всей спецификации из 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

  • Улучшили возможности СЕО-оптимизации, доработали текущие разделы и добавили новые

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

Основные сложности

Основные сложности
Основные сложности

Стек технологий

Стек технологий

Результаты

Результаты

Бизнес-эффект

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

Оставьте заявку, и наши менеджеры свяжутся с вами
  • Python
  • JavaScript
  • React