Статья:

ПРОЕКТИРОВАНИЕ ИНТЕГРАЦИОННОГО СЛОЯ ВЕБ-ПРИЛОЖЕНИЯ ДЛЯ АВТОМАТИЗИРОВАННОГО ПОДБОРА И ЦЕНООБРАЗОВАНИЯ ИМПОРТИРУЕМЫХ АВТОМОБИЛЕЙ

Журнал: Научный журнал «Студенческий форум» выпуск №27(378)

Рубрика: Технические науки

Выходные данные
Лазутин Л.С. ПРОЕКТИРОВАНИЕ ИНТЕГРАЦИОННОГО СЛОЯ ВЕБ-ПРИЛОЖЕНИЯ ДЛЯ АВТОМАТИЗИРОВАННОГО ПОДБОРА И ЦЕНООБРАЗОВАНИЯ ИМПОРТИРУЕМЫХ АВТОМОБИЛЕЙ // Студенческий форум: электрон. научн. журн. 2026. № 27(378). URL: https://nauchforum.ru/journal/stud/378/189368 (дата обращения: 24.08.2026).
Журнал опубликован
Мне нравится
на печатьскачать .pdfподелиться

ПРОЕКТИРОВАНИЕ ИНТЕГРАЦИОННОГО СЛОЯ ВЕБ-ПРИЛОЖЕНИЯ ДЛЯ АВТОМАТИЗИРОВАННОГО ПОДБОРА И ЦЕНООБРАЗОВАНИЯ ИМПОРТИРУЕМЫХ АВТОМОБИЛЕЙ

Лазутин Лев Сергеевич
студент, Владивостокский государственный университет, РФ, г. Владивосток
Лаврушина Елена Геннадьевна
научный руководитель, канд. экон. наук, доц., Владивостокский государственный университет, РФ, г. Владивосток

 

Аннотация. В статье рассматривается проектирование интеграционного слоя веб-приложения для импорта автомобилей с зарубежных аукционов. Обосновывается микросервисная архитектура и гибридная схема хранения данных, объединяющая реляционную и документоориентированную СУБД. Предлагается трёхуровневый шаблон «провайдер — сервис — репозиторий», обеспечивающий подключение новых поставщиков данных без переработки бизнес-логики. Описаны механизмы отказоустойчивости при взаимодействии с внешними сервисами и алгоритм автоматического расчёта итоговой стоимости автомобиля «под ключ». Приведены результаты тестирования и технико-экономического обоснования.

Abstract. The paper deals with the design of the integration layer of a web application for importing cars from foreign auctions. A microservice architecture and a hybrid data storage scheme combining relational and document-oriented databases are justified. A three-tier “provider — service — repository” pattern is proposed, allowing new data providers to be connected without reworking the business logic. Fault-tolerance mechanisms for interaction with external services and an algorithm for the automatic calculation of the final turnkey price of a car are described. The results of testing and a feasibility study are presented.

 

Ключевые слова: веб-приложение, интеграция сервисов, микросервисная архитектура, отказоустойчивость, гибридное хранилище данных, автоматизация ценообразования, японские аукционы.

Keywords: web application, service integration, microservice architecture, fault tolerance, hybrid data storage, pricing automation, Japanese auctions.

 

Введение

Импорт подержанных автомобилей с аукционов Японии, Республики Корея и Китая остаётся одним из крупнейших каналов поставки транспортных средств на российский рынок. Однако для конечного покупателя этот рынок непрозрачен: реальная итоговая стоимость лота складывается из ставки на торгах, аукционных сборов, морского фрахта, таможенных пошлин, логистики по России и вознаграждения посредника, а исходные данные о лотах разрознены и быстро устаревают. В компаниях-импортёрах значительная часть операций выполняется вручную — сотрудники самостоятельно ищут проданные лоты, рассчитывают финальную цену и готовят предложения, что замедляет обработку обращений и повышает риск ошибок.

Целью работы является проектирование и реализация интеграционного слоя веб-приложения, который автоматизирует получение аукционных данных, расчёт итоговой стоимости и передачу заявок в корпоративную CRM-систему. Ключевая задача — построить архитектуру, устойчивую к сбоям внешних сервисов и расширяемую на новые источники данных без переработки основной бизнес-логики.

Архитектура системы и обоснование выбора

Система построена по микросервисному принципу и разделена на три исполняемых компонента, объединённых обратным прокси Nginx как единым шлюзом. Клиентская часть реализована на Next.js и React с использованием TypeScript: серверный рендеринг сокращает время открытия страниц каталога, а компонентная модель упрощает поддержку интерфейса. Бизнес-логика (приём заявок, калькулятор стоимости, административные операции) вынесена в приложение на Django с Django REST Framework. Автономный микросервис на FastAPI отвечает за наполнение каталога и по расписанию забирает обновления аукционных лотов. Такое разделение позволяет нагрузке от просмотра каталога не пересекаться с бизнес-логикой и обеспечивает независимое масштабирование сервисов.

Хранение данных организовано по гибридной схеме. Структурированные бизнес-данные с жёсткими требованиями к целостности — настройки ценообразования, правила расчёта пошлин, курсы валют и заявки клиентов — размещены в реляционной СУБД PostgreSQL. Слабоструктурированный и объёмный массив сведений об аукционных лотах хранится в документоориентированной СУБД MongoDB. Redis используется для кэширования «горячих» данных и как брокер очередей фоновых задач Celery. Подобное распределение закрепляет за каждым хранилищем свой класс задач и повышает скорость обработки запросов.

Интеграционный слой

Веб-приложение взаимодействует с тремя разнородными внешними сервисами: платформой ProAuctions (структурированные данные о лотах зарубежных аукционов по модели подписки), публичным API Центрального банка Российской Федерации (валютные котировки для калькулятора) и корпоративной CRM-системой Битрикс24 (приём заявок в виде лидов). Интеграции распределены между сервисами по предметному признаку: FastAPI работает с ProAuctions, а Django обращается к API ЦБ РФ и Битрикс24, что исключает дублирование интеграционного кода.

В основу каждой интеграции положен трёхуровневый шаблон, соответствующий принципам чистой архитектуры. Провайдер представляет собой низкоуровневый HTTP-клиент и скрывает детали конкретного внешнего API. Сервис реализует бизнес-логику обработки данных — дедупликацию, обогащение метаданными, валидацию и маппинг полей. Репозиторий отвечает за сохранение данных в СУБД. Такое разделение упрощает автоматическое тестирование за счёт подмены провайдера заглушкой и позволяет заменить поставщика данных или CRM без изменения основной логики.

Расширяемость обеспечена абстрактным базовым классом ABCLotsProvider, который описывает контракт получения лотов; от него наследуется конкретная реализация ProAuctionsLotsProvider. Заложенная архитектура провайдеров и поддержка мультивалютных расчётов (JPY, CNY, KRW) позволяют в дальнейшем подключить корейские, китайские или иные аукционные площадки без переработки сервисного слоя. Получение данных выполняется по расписанию планировщиком APScheduler: фоновая задача постранично опрашивает REST API поставщика, приводит ответы к внутренней модели, устраняет дубликаты по идентификатору лота и сохраняет документы в MongoDB.

Отказоустойчивость и автоматизация расчётов

Устойчивость к сбоям внешних сервисов реализована на нескольких уровнях. Курсы валют синхронизируются с API ЦБ РФ один раз в сутки и сохраняются одновременно в PostgreSQL и в кэше Redis; при недоступности источника калькулятор использует последнее сохранённое значение с отметкой даты, что гарантирует его работоспособность даже при длительных перебоях. Передача заявок в Битрикс24 вынесена в асинхронную задачу Celery: заявка мгновенно фиксируется в локальной базе, а её отправка выполняется в фоне с повторными попытками по экспоненциально возрастающему интервалу (до пяти попыток). Идемпотентность обеспечивается уникальным идентификатором заявки — повторная отправка одной записи не создаёт дубликат лида в CRM.

Автоматический расчёт итоговой стоимости «под ключ» суммирует цену лота, комиссию аукциона, логистику, таможенную пошлину, утилизационный сбор и наценку компании. Ставки пошлины и утилизационного сбора подбираются по характеристикам автомобиля (объём двигателя, возраст) из таблиц правил в базе данных, а суммы в иностранной валюте пересчитываются по актуальным курсам ЦБ РФ с учётом настраиваемых администратором коэффициентов наценки. Покупатель видит итоговую цену в рублях и иенах непосредственно в карточке лота, что делает ценообразование прозрачным и снимает нагрузку с менеджеров.

Результаты

Тестирование проводилось на стенде, повторяющем рабочую конфигурацию системы: Docker, Nginx, все микросервисы и тысячи реальных аукционных лотов. Разработаны модульные и интеграционные тесты; благодаря слоистой архитектуре сервисный слой проверялся изолированно — внешние API подменялись заглушками. Дополнительно выполнены нагрузочное тестирование и прогон типовых пользовательских сценариев. Достигнутый уровень покрытия кода тестами составил 83,42 % при целевом значении свыше 70 %. Значения остальных ключевых метрик приведены в таблице 1 и удовлетворяют заданным целевым порогам.

Таблица 1.

Результаты оценки ключевых метрик

Показатель

Целевое значение

Факт

Покрытие кода тестами

> 70 %

83,42 %

Время ответа API каталога

< 500 мс

120–280 мс

Отрисовка первого контента (FCP)

< 1800 мс

1000 мс

Время блокировки интерфейса (TBT)

< 200 мс

140 мс

 

Технико-экономическое обоснование показало практическую эффективность внедрения. Совокупные инвестиционные затраты составили около 696 тыс. рублей. За счёт автоматизации подбора и расчёта время подготовки одного коммерческого предложения сократилось с 1,2 до 0,2 часа; с учётом исключения ручной актуализации каталога и переноса заявок в CRM суммарная экономия рабочего времени составила около 178 часов в месяц, или порядка 54 тыс. рублей. При таких показателях срок окупаемости проекта составляет приблизительно 12,9 месяца.

Заключение

Предложенная архитектура интеграционного слоя решает основную проблему предметной области — непрозрачность и трудоёмкость подбора импортируемых автомобилей. Сочетание микросервисного разделения, гибридного хранилища данных и трёхуровневого шаблона «провайдер — сервис — репозиторий» обеспечивает расширяемость системы и устойчивость к сбоям внешних сервисов, а автоматический расчёт стоимости «под ключ» делает ценообразование прозрачным для покупателя. Результаты тестирования и технико-экономического обоснования подтверждают работоспособность и целесообразность решения. Направлениями дальнейшего развития являются подключение корейских и китайских аукционных площадок через реализованный контракт провайдеров, а также добавление модуля аналитики динамики цен по проданным лотам.

 

Список литературы:
1. Богатенков, С. Разработка сайтов и веб-приложений: учебное пособие. — СПб.: Лань, 2024. — 270 с.
2. Гниденко, И. Г. Технология разработки программного обеспечения: учебное пособие для вузов / И. Г. Гниденко, Ф. Ф. Павлов, Д. Ю. Федоров. — М.: Юрайт, 2022. — 235 с.
3. Головатый, А. Django. Подробное руководство / А. Головатый, Д. Каплан-Мосс. — СПб.: Символ-Плюс, 2021. — 560 с.
4. Маркин, А. В. Программирование на SQL: учебное пособие. — М.: Юрайт, 2023. — 435 с.
5. Вендров, А. М. Проектирование программного обеспечения экономических информационных систем. — М.: Финансы и статистика, 2023. — 544 с.
6. Абельсон, Х. Структура и интерпретация компьютерных программ / Х. Абельсон, Дж. Сассман. — М.: Добросвет, 2022. — 594 с.
7. Мартин, Р. Чистая архитектура. Искусство разработки программного обеспечения. — СПб.: Питер, 2021. — 352 с.
8. Ричардсон, К. Микросервисы. Паттерны разработки и рефакторинга. — СПб.: Питер, 2020. — 544 с.
9. FastAPI: официальная документация [Электронный ресурс]. — URL: https://fastapi.tiangolo.com (дата обращения: 09.07.2026).