← Назад к проектам
Маркетплейсы и FinTech Кейс

Autoplius.lt — крупнейший портал автомобильных объявлений в странах Балтии

Разработка и развитие высоконагруженного портала автомобильных объявлений Autoplius.lt (Baltic Classifieds Group): поиск, каталог объявлений, инструменты для частных продавцов и автодилеров, аналитика рынка. Стек: Symfony, ElasticSearch, RabbitMQ, Redis, Twig.

Доступные языки
Технологии 6
PHP
JavaScript
Symfony
PostgreSQL
Elasticsearch
Redis
Autoplius.lt — крупнейший портал автомобильных объявлений в странах Балтии
Избранный проект ↗

О проекте

Autoplius.lt — самый посещаемый портал автомобильных объявлений в странах Балтии с крупнейшим выбором подержанных автомобилей в регионе. С 2003 года портал помогает покупателям находить подходящие транспортные средства, а частным продавцам и автодилерам — привлекать потенциальных покупателей.

На портале размещено более 210 000 объявлений — от легковых автомобилей, тяжёлого транспорта и велосипедов до запчастей, шин и колёсных дисков, из которых более 44 000 — объявления о новых и подержанных легковых автомобилях. Аудитория в Литве составляет почти 600 000 пользователей в месяц, а число посещений превышает 11 миллионов в месяц. В среднем пользователь проводит на портале около 1 часа 40 минут в месяц — по этому показателю в августе 2026 года Autoplius.lt занимал первое место среди сайтов, участвующих в исследовании Gemius в Литве.

Я работал над проектом как Symfony-разработчик: отвечал за развитие backend-части платформы, поисковую инфраструктуру, интеграции с сервисами оценки автомобилей и аналитики, а также за инструменты для дилеров и частных продавцов. Проект входит в состав Baltic Classifieds Group, управлением и развитием занимается UAB «Diginet LTU».

Autoplius.lt — крупнейший портал автомобильных объявлений в странах Балтии

Autoplius.lt — самый посещаемый портал автомобильных объявлений в странах Балтии с самым большим выбором подержанных автомобилей в регионе. С 2003 года мы помогаем покупателям находить подходящие транспортные средства, а частным продавцам и автомобильным дилерам — привлекать потенциальных покупателей.

На портале размещено более 210 000 объявлений — от легковых автомобилей, тяжёлого транспорта и велосипедов до запчастей, шин и колёсных дисков. Из них более 44 000 — объявления о новых и подержанных легковых автомобилях.

Аудитория Autoplius.lt в Литве составляет почти 600 000 пользователей в месяц, а число посещений превышает 11 миллионов в месяц. В среднем один пользователь проводит на Autoplius.lt около 1 часа 40 минут в месяц — по этому показателю в августе 2026 года портал занимал первое место среди сайтов, участвующих в исследовании Gemius в Литве.

Моя роль в проекте

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

Технологический стек

  • Backend: Symfony (PHP)
  • Frontend: Twig
  • Поиск: ElasticSearch
  • Очереди: RabbitMQ
  • Кэш и сессии: Redis
  • Инфраструктура: фоновые воркеры для асинхронной обработки объявлений, индексации и уведомлений

Ключевые задачи

  • Развитие поисковой инфраструктуры на ElasticSearch
  • Асинхронная обработка объявлений и событий через RabbitMQ
  • Кэширование и оптимизация выдачи через Redis
  • Интеграция с сервисом истории автомобилей Autoistorija.lt
  • Инструменты для автодилеров (Autopulsas, аналитика рынка)
  • Функционал для частных продавцов (оценка авто, «Mokėk, kai parduosi»)
  • Оптимизация производительности под высокую нагрузку
  • Мониторинг и алертинг ключевых процессов

Результат

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

Что я сделал

01

Пользователям нужен быстрый и релевантный поиск по более чем 210 000 объявлений с множеств...

Задача

Пользователям нужен быстрый и релевантный поиск по более чем 210 000 объявлений с множеством фильтров (марка, модель, год, пробег, цена, регион, тип кузова и т. д.). Тяжёлые SQL-запросы не справлялись с нагрузкой и не давали нужной релевантности.

Решение

  • Спроектировал и оптимизировал индексы ElasticSearch под ключевые сущности (объявления, автомобили, дилеры, запчасти).
  • Реализовал синхронизацию данных между БД и ElasticSearch через RabbitMQ-события.
  • Настроил фасетный поиск, агрегации и сортировки для фильтров.
  • Оптимизировал маппинги и реиндексацию для больших объёмов.

Результаты

  • Быстрый и релевантный поиск по сотням тысяч объявлений.
  • Гибкие фильтры и фасеты для пользователей.
  • Снижение нагрузки на основную БД.

02

Публикация, редактирование, модерация и индексация объявлений — тяжёлые операции, которые...

Задача

Публикация, редактирование, модерация и индексация объявлений — тяжёлые операции, которые нельзя выполнять синхронно в HTTP-цикле. При росте нагрузки это приводило к задержкам и таймаутам.

Решение

  • Спроектировал очереди событий для публикации, обновления, удаления и модерации объявлений.
  • Реализовал воркеры на Symfony Messenger + RabbitMQ.
  • Добавил retry-политики, dead-letter queue и мониторинг.
  • Обеспечил идемпотентность обработчиков.

Результаты

  • Быстрый отклик интерфейса независимо от фоновых операций.
  • Устойчивость к сбоям и пиковым нагрузкам.
  • Масштабируемая обработка объявлений.

03

Популярные страницы (главная, категории, топ-объявления, страницы дилеров) генерировали ог...

Задача

Популярные страницы (главная, категории, топ-объявления, страницы дилеров) генерировали огромную нагрузку на БД при каждом запросе. Требовалось ускорить отдачу и снизить нагрузку.

Решение

  • Внедрил многоуровневое кэширование горячих данных и агрегатов в Redis.
  • Настроил инвалидацию кэша по событиям (публикация/редактирование/удаление объявления).
  • Использовал Redis для сессий и распределённых блокировок.
  • Добавил мониторинг hit/miss и времени отклика.

Результаты

  • Значительное снижение времени отклика ключевых страниц.
  • Уменьшение нагрузки на БД.
  • Стабильная работа под пиковой нагрузкой.

04

Покупателям нужен доступ к отчётам об истории автомобиля прямо на странице объявления. Тре...

Задача

Покупателям нужен доступ к отчётам об истории автомобиля прямо на странице объявления. Требовалась надёжная интеграция с внешним сервисом Autoistorija.lt без блокировки пользовательских запросов.

Решение

  • Реализовал клиент интеграции с Autoistorija.lt с кэшированием ответов.
  • Вынес тяжёлые запросы в асинхронные задачи через RabbitMQ.
  • Добавил обработку ошибок, таймаутов и fallback-сценариев.
  • Обеспечил отображение отчётов в Twig-шаблонах страницы объявления.

Результаты

  • Пользователи получают историю автомобиля прямо на странице объявления.
  • Отсутствие блокировок при недоступности внешнего сервиса.
  • Повышение доверия покупателей к объявлениям.

05

Автодилерам нужны инструменты оценки рынка, анализа эффективности объявлений и конкурентно...

Задача

Автодилерам нужны инструменты оценки рынка, анализа эффективности объявлений и конкурентной среды, а также автоматизации управления объявлениями. Существующих возможностей не хватало для планирования ассортимента.

Решение

  • Разработал backend для Autopulsas: агрегация рыночных данных, расчёт метрик по сегментам.
  • Реализовал аналитику по объявлениям дилера и конкурентам.
  • Добавил инструменты массового управления объявлениями (bulk-операции).
  • Построил отчёты и выгрузки для дилеров.

Результаты

  • Дилеры получили инструменты планирования ассортимента и оценки эффективности.
  • Автоматизация ежедневной работы с объявлениями.
  • Рост вовлечённости дилеров на платформе.

06

Частным продавцам нужны простые инструменты: оценка автомобиля и возможность оплатить разм...

Задача

Частным продавцам нужны простые инструменты: оценка автомобиля и возможность оплатить размещение объявления после продажи («Mokėk, kai parduosi»). Требовалась корректная работа с платежами и условиями услуги.

Решение

  • Реализовал сервис оценки автомобиля на основе рыночных данных.
  • Разработал механику услуги «Mokėk, kai parduosi»: отложенная оплата, отслеживание продажи, списание по условиям.
  • Интегрировал платёжный шлюз и обработку статусов через RabbitMQ.
  • Добавил уведомления и личный кабинет продавца.

Результаты

  • Упрощение размещения объявлений для частных продавцов.
  • Гибкая модель оплаты повысила конверсию размещений.
  • Прозрачные условия и статусы для продавца.

07

Портал обслуживает почти 600 000 пользователей и более 11 миллионов посещений в месяц. Тре...

Задача

Портал обслуживает почти 600 000 пользователей и более 11 миллионов посещений в месяц. Требовалось обеспечить стабильную работу под пиковой нагрузкой без деградации отклика.

Решение

  • Профилировал узкие места и оптимизировал SQL-запросы и индексы.
  • Внедрил кэширование и асинхронную обработку тяжёлых операций.
  • Оптимизировал Twig-шаблоны и отдачу статики.
  • Настроил горизонтальное масштабирование воркеров.

Результаты

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

08

Портал работает 24/7, и сбои в индексации, очередях или интеграциях критичны для бизнеса....

Задача

Портал работает 24/7, и сбои в индексации, очередях или интеграциях критичны для бизнеса. Требовалась система мониторинга и оповещений.

Решение

  • Настроил сбор метрик по ElasticSearch, RabbitMQ, Redis и ключевым бизнес-событиям.
  • Реализовал алерты на аномалии (рост DLQ, задержки индексации, ошибки воркеров).
  • Добавил дашборды для команды.
  • Интегрировал логирование критичных операций.

Результаты

  • Быстрое обнаружение и реакция на инциденты.
  • Снижение времени простоя.
  • Прозрачность состояния платформы для команды.

09

На портале публикуются сотни тысяч объявлений, среди которых встречаются дубликаты, мошенн...

Задача

На портале публикуются сотни тысяч объявлений, среди которых встречаются дубликаты, мошеннические и некорректные публикации. Требовалась автоматизированная модерация без задержек для добросовестных продавцов.

Решение

  • Реализовал пайплайн модерации: автоматические правила + очередь на ручную проверку.
  • Добавил проверки на дубликаты и подозрительные паттерны.
  • Вынес модерацию в асинхронные задачи через RabbitMQ.
  • Добавил инструменты для модераторов и логирование решений.

Результаты

  • Снижение количества мошеннических и дублирующихся объявлений.
  • Быстрая публикация для добросовестных продавцов.
  • Удобные инструменты для команды модерации.

10

Требовалось отслеживать все действия с объявлениями (создание, редактирование, модерация,...

Задача

Требовалось отслеживать все действия с объявлениями (создание, редактирование, модерация, удаление) для разбора спорных ситуаций и аналитики. Нужна была система аудита, не замедляющая основные процессы.

Решение

  • Спроектировал схему аудит-лога с привязкой к объявлению, пользователю и действию.
  • Реализовал асинхронную запись аудита через RabbitMQ.
  • Добавил инструменты поиска и выгрузки аудит-логов (ElasticSearch).
  • Обеспечил неизменяемость записей.

Результаты

  • Полный аудит действий с объявлениями.
  • Быстрый разбор спорных ситуаций.
  • Основа для аналитики поведения продавцов.

11

Рост аудитории и числа объявлений требовал масштабирования инфраструктуры без переписывани...

Задача

Рост аудитории и числа объявлений требовал масштабирования инфраструктуры без переписывания ключевых компонентов. Требовалось решение, устойчивое к пиковым нагрузкам и росту данных.

Решение

  • Вынес тяжёлые операции в отдельные воркеры, масштабируемые горизонтально.
  • Настроил шардирование индексов ElasticSearch.
  • Оптимизировал использование Redis и RabbitMQ.
  • Внедрил нагрузочное тестирование и профилирование.

Результаты

  • Готовность инфраструктуры к росту трафика и данных.
  • Устойчивость к пиковым нагрузкам.
  • Предсказуемая производительность ключевых сценариев.

Технологии и темы

Теги проекта

#Symfony #PHP #Twig #ElasticSearch #RabbitMQ #Redis #Classifieds #Marketplace #High Load #Auto #Autoplius #Baltic Classifieds Group #REST API #Symfony Messenger #Async Processing #Search #Moderation #Antifraud #Audit Logging
04
Начать проект

Нужен аналогичный технический подход?

Давайте обсудим ваш проект, архитектуру и наилучший технологический стек для него.

Давайте обсудим ↗