Все кейсы
Сайты и сервисы 2016

Moto365

Агрегатор мото-запчастей и экипировки с подбором по модели мотоцикла и интеллектуальным поиском.

Клиент
Moto365
Сфера
Мото-индустрия
Платформа
Yii2
Срок
с 2016
Moto365

Задача

Moto365.ru - сервис для подбора и сравнения мотозапчастей, расходников и экипировки. Мы ведём проект с момента его запуска и занимаемся его комплексной разработкой, архитектурным развитием, поддержкой и внедрением новых технологий - от ИИ до автоматического парсинга.

Изначально платформа разрабатывалась как полноценный интернет-магазин - с каталогом, фильтрами, корзиной, оформлением заказов и личным кабинетом. Позже концепция была переосмыслена, и мы трансформировали сайт в агрегатор, заточенный под сравнение товаров из разных источников.

Что сделано нашей командой

Полная разработка платформы на Yii2
- Проект построен на Yii2, с продуманной архитектурой и гибкой ORM.
- Реализованы авторизация, личный кабинет, мультиязычность, категории, теги, фильтры и карточки товаров.
- Панель администратора с возможностью редактировать контент, управлять категориями, парсингом и логикой показа товаров.

Агрегация данных из внешних источников.
- Поддержка обновления: названий, описаний, артикулов, цен, остатков, изображений.
- Налажена система логов по каждому этапу парсинга (успехи, ошибки, недостающие данные).
- Добавлена защита от дублирования и некорректных данных.

AI-классификация товаров
- Разработана система классификации на базе GPT + pgvector.
- Эмбеддинги категорий сохраняются в PostgreSQL, поиск ближайшей категории работает на локальном сервере.
- Используются данные из названия, описания и артикулов (включая OEM) для точного определения категории.
- Автоклассификация подключена к cron, логируется, поддерживает dry run и отладку.

Внедрение Meilisearch для быстрого поиска
- Установлен и интегрирован Meilisearch.
- Индексируются только актуальные товары, с поддержкой языков, артикулов и синонимов.
- Скорость поиска - до 50 мс, что критично при высоких нагрузках.
- Поиск работает и в боте, и на сайте, возвращает карточки с фото и ценой.

Рекомендательные, сопутствующие товары и аксессуары (AI + логика категорий)
Для повышения удобства пользователей и увеличения глубины просмотра мы реализовали полноценную систему товарных связей:
- Сопутствующие товары (например, комплект прокладок к поршню, масло к воздушному фильтру);
- Аксессуары (например, держатели, сумки, защитные элементы);
- Инструменты (например, ключи, монтажки, мерные ёмкости);
- Рекомендуемые товары - автоматическая подборка на основе категории, ключевых характеристик и семантики описания.

Как это работает:
- Связи между товарами хранятся в отдельных таблицах (products_accessories, products_additionals, products_recommended, products_instruments).
- Для автоматического заполнения связей используется GPT-4 от OpenAI.
  Модель анализирует название, описание, артикул, категорию и ключевые слова товара, после чего предлагает список релевантных связей.
- Результаты можно проверять вручную или сохранять напрямую при высокой точности.
- Процесс интегрирован в cron-задачи и логируется для мониторинга и отладки.

Благодаря этой системе:
- Повышается конверсия и вовлечённость;
- Пользователи получают осмысленные рекомендации;
- Каталог становится «умнее» и более интерактивным.

Telegram-бот с AI
- Реализован Telegram-бот, который принимает текстовый запрос, находит товары и возвращает карточки с кнопками.
- Бот подключён к Meilisearch, умеет фильтровать по наличию и доступности.
- В планах - обучение GPT на базе найденных результатов (RAG-подход).

Семантический поиск с RAG
- Пользовательский запрос проходит через Meilisearch.
- Затем найденные товары передаются в GPT, который формулирует пояснение, подсказывает выбор, сравнивает позиции.
- Такой подход приближает поиск к живому диалогу с консультантом.

Генерация sitemap на Python
- Система sitemap генерируется по расписанию, на основе прямого подключения к базе.
- В sitemap попадают только активные товары с корректной категорией и переводом.
- Учитывается мультиязычность (русский/английский).

Работа с логами и мониторинг
- Все процессы (классификация, парсинг, cron-задачи, OpenAI-запросы) логируются с уровнями INFO/WARNING/ERROR.
- Ведётся централизованный сбор логов, удобный для аудита и отладки.

Оптимизация MySQL и Redis
- Реализовано кеширование категорий, фильтров, часто запрашиваемых товаров.
- Настроены индексы и оптимизированы SQL-запросы к таблицам.
- Redis используется для хранения промежуточных результатов и ускорения доступа к данным.

Использование Docker-контейнеров
- Большая часть инфраструктуры работает в контейнерах, включая Meilisearch, парсер и инструменты мониторинга.
- Это упростило развертывание, масштабирование и обновление компонентов без простоев.
- Контейнеризация обеспечивает изоляцию сервисов и стабильность при CI/CD-процессах.

Оптимизация интерфейса и главной страницы
- Главная страница переработана: добавлены баннеры, блоки с категориями, визуальные акценты на фильтры.
- Улучшена навигация по брендам и категориям.
- Вёрстка адаптирована под мобильные устройства, реализован lazy loading изображений.

Мультиязычность
- Товары и категории поддерживают перевод.
- В базе используются таблицы product_langs, category_langs, SEO-поля.
- Сайт работает на русском и английском языках, включая ЧПУ и контент.

Результат

Moto365 - это не просто сайт, а высокотехнологичная платформа с гибкой архитектурой, продвинутым поиском и глубоким уровнем автоматизации. Благодаря AI-инструментам, продуманной архитектуре на Yii2 и использованию современных решений (Meilisearch, Docker, Redis), платформа ежедневно обрабатывает десятки тысяч товаров и делает поиск действительно удобным.

Проект находится в активной разработке, и мы продолжаем расширять его функциональность - от улучшения UX до внедрения аналитики и персональных рекомендаций.

О проекте

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

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

Подбор по модели

Реализовали подбор запчастей по марке, модели и году мотоцикла.

Каталог совместимости

Структурировали базу совместимости запчастей и техники.

Агрегация данных

Настроили сбор названий, описаний, артикулов, цен, остатков и изображений из внешних источников.

Производительность

Оптимизировали каталог на 80k+ позиций для быстрой работы.

Галерея

Как это выглядит

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

Хотите такой же результат?

Расскажите о задаче - подберём подход, оценим объём и сроки.