← Volver a los proyectos
Marketplaces y FinTech Caso de estudio

Autoplius.lt — El mayor portal de anuncios clasificados de automóviles en los países bálticos

Desarrollo y evolución del portal de anuncios clasificados de automóviles de alta carga Autoplius.lt (Baltic Classifieds Group): búsqueda, catálogo de anuncios, herramientas para vendedores particulares y concesionarios, analítica de mercado. Stack: Symfony, ElasticSearch, RabbitMQ, Redis, Twig.

Tecnologías 6
PHP
JavaScript
Symfony
PostgreSQL
Elasticsearch
Redis
Autoplius.lt — El mayor portal de anuncios clasificados de automóviles en los países bálticos
Proyecto destacado ↗

Sobre el proyecto

Autoplius.lt es el portal de anuncios clasificados de automóviles más visitado de los países bálticos, con la mayor selección de coches usados de la región. Desde 2003, el portal ayuda a los compradores a encontrar vehículos adecuados y a los vendedores particulares y concesionarios a atraer compradores potenciales.

El portal alberga más de 210.000 anuncios — desde turismos, transporte pesado y bicicletas hasta piezas de repuesto, neumáticos y llantas, de los cuales más de 44.000 son anuncios de turismos nuevos y usados. La audiencia en Lituania es de casi 600.000 usuarios al mes, y el número de visitas supera los 11 millones al mes. En promedio, un usuario pasa alrededor de 1 hora y 40 minutos al mes en Autoplius.lt — en agosto de 2026, el portal ocupaba el primer lugar entre los sitios que participan en el estudio Gemius en Lituania.

Trabajé en el proyecto como desarrollador Symfony: responsable del backend de la plataforma, la infraestructura de búsqueda, las integraciones con servicios de historial de vehículos y analítica, así como de las herramientas para concesionarios y vendedores particulares. El proyecto forma parte de Baltic Classifieds Group, gestionado y desarrollado por UAB «Diginet LTU».

Autoplius.lt — El mayor portal de anuncios clasificados de automóviles en los países bálticos

Autoplius.lt es el portal de anuncios clasificados de automóviles más visitado de los países bálticos, con la mayor selección de coches usados de la región. Desde 2003 ayudamos a los compradores a encontrar vehículos adecuados y a los vendedores particulares y concesionarios a atraer compradores potenciales.

El portal alberga más de 210.000 anuncios — desde turismos, transporte pesado y bicicletas hasta piezas de repuesto, neumáticos y llantas. De ellos, más de 44.000 son anuncios de turismos nuevos y usados.

La audiencia de Autoplius.lt en Lituania es de casi 600.000 usuarios al mes, y el número de visitas supera los 11 millones al mes. En promedio, un usuario pasa alrededor de 1 hora y 40 minutos al mes en Autoplius.lt — en agosto de 2026, el portal ocupaba el primer lugar entre los sitios que participan en el estudio Gemius en Lituania.

Mi rol en el proyecto

Desarrollador Symfony: responsable del backend de la plataforma, la infraestructura de búsqueda, las integraciones y las herramientas para concesionarios y vendedores particulares.

Stack tecnológico

  • Backend: Symfony (PHP)
  • Frontend: Twig
  • Búsqueda: ElasticSearch
  • Colas: RabbitMQ
  • Caché y sesiones: Redis
  • Infraestructura: workers en segundo plano para el procesamiento asíncrono de anuncios, indexación y notificaciones

Tareas clave

  • Evolución de la infraestructura de búsqueda en ElasticSearch
  • Procesamiento asíncrono de anuncios y eventos mediante RabbitMQ
  • Caching y optimización de la salida mediante Redis
  • Integración con el servicio de historial de vehículos Autoistorija.lt
  • Herramientas para concesionarios (Autopulsas, analítica de mercado)
  • Funcionalidades para vendedores particulares (valoración del coche, «Mokėk, kai parduosi»)
  • Optimización del rendimiento bajo alta carga
  • Monitoreo y alertas de procesos clave

Resultado

La plataforma sirve de forma fiable a cientos de miles de usuarios al mes y millones de visitas, ofreciendo búsqueda rápida sobre cientos de miles de anuncios, analítica para concesionarios y herramientas prácticas para vendedores particulares.

Lo que entregué

01

Los usuarios necesitan una búsqueda rápida y relevante sobre más de 210.000 anuncios con n...

El desafío

Los usuarios necesitan una búsqueda rápida y relevante sobre más de 210.000 anuncios con numerosos filtros (marca, modelo, año, kilometraje, precio, región, tipo de carrocería, etc.). Las consultas SQL pesadas no soportaban la carga y no ofrecían la relevancia requerida.

Solución

  • Diseño y optimización de índices de ElasticSearch para entidades clave (anuncios, coches, concesionarios, piezas de repuesto).
  • Implementación de la sincronización de datos entre la BD y ElasticSearch mediante eventos de RabbitMQ.
  • Configuración de búsqueda por facetas, agregaciones y ordenaciones para los filtros.
  • Optimización de mappings y reindexación para grandes volúmenes.

Resultados

  • Búsqueda rápida y relevante sobre cientos de miles de anuncios.
  • Filtros y facetas flexibles para los usuarios.
  • Reducción de la carga sobre la base de datos principal.

02

La publicación, edición, moderación e indexación de anuncios son operaciones pesadas que n...

El desafío

La publicación, edición, moderación e indexación de anuncios son operaciones pesadas que no pueden ejecutarse de forma síncrona en el ciclo HTTP. Bajo carga creciente, esto provocaba retrasos y timeouts.

Solución

  • Diseño de colas de eventos para publicación, actualización, eliminación y moderación de anuncios.
  • Implementación de workers con Symfony Messenger + RabbitMQ.
  • Adición de políticas de retry, dead-letter queue y monitoreo.
  • Garantía de idempotencia de los handlers.

Resultados

  • Respuesta rápida de la interfaz independientemente de las operaciones en segundo plano.
  • Resiliencia a fallos y picos de carga.
  • Procesamiento escalable de anuncios.

03

Las páginas populares (homepage, categorías, top anuncios, páginas de concesionarios) gene...

El desafío

Las páginas populares (homepage, categorías, top anuncios, páginas de concesionarios) generaban una enorme carga sobre la BD en cada solicitud. Se requería una entrega más rápida y una carga reducida.

Solución

  • Introducción de caching multinivel de datos calientes y agregados en Redis.
  • Configuración de la invalidación de caché mediante eventos (publicación/edición/eliminación de anuncio).
  • Uso de Redis para sesiones y bloqueos distribuidos.
  • Adición de monitoreo hit/miss y tiempos de respuesta.

Resultados

  • Reducción significativa del tiempo de respuesta de las páginas clave.
  • Carga reducida sobre la base de datos.
  • Funcionamiento estable bajo pico de carga.

04

Los compradores necesitan acceder a los informes del historial del vehículo directamente e...

El desafío

Los compradores necesitan acceder a los informes del historial del vehículo directamente en la página del anuncio. Se requería una integración fiable con el servicio externo Autoistorija.lt sin bloquear las solicitudes de los usuarios.

Solución

  • Implementación de un cliente de integración con Autoistorija.lt con caching de respuestas.
  • Traslado de las solicitudes pesadas a tareas asíncronas mediante RabbitMQ.
  • Adición de manejo de errores, timeouts y escenarios de fallback.
  • Garantía del renderizado de informes en plantillas Twig en la página del anuncio.

Resultados

  • Los usuarios reciben el historial del vehículo directamente en la página del anuncio.
  • Sin bloqueos cuando el servicio externo no está disponible.
  • Mayor confianza de los compradores en los anuncios.

05

Los concesionarios necesitan herramientas para la evaluación del mercado, el análisis del...

El desafío

Los concesionarios necesitan herramientas para la evaluación del mercado, el análisis del rendimiento de los anuncios y del entorno competitivo, así como para la automatización de la gestión de anuncios. Las capacidades existentes eran insuficientes para la planificación del surtido.

Solución

  • Desarrollo del backend para Autopulsas: agregación de datos de mercado, cálculo de métricas por segmento.
  • Implementación de analítica sobre anuncios del concesionario y de la competencia.
  • Adición de herramientas de gestión masiva de anuncios (operaciones bulk).
  • Creación de informes y exportaciones para concesionarios.

Resultados

  • Los concesionarios obtuvieron herramientas de planificación de surtido y evaluación del rendimiento.
  • Automatización del trabajo diario con anuncios.
  • Mayor engagement de los concesionarios en la plataforma.

06

Los vendedores particulares necesitan herramientas simples: valoración del coche y posibil...

El desafío

Los vendedores particulares necesitan herramientas simples: valoración del coche y posibilidad de pagar el anuncio después de la venta («Mokėk, kai parduosi»). Se requería una gestión correcta de pagos y condiciones del servicio.

Solución

  • Implementación de un servicio de valoración del coche basado en datos de mercado.
  • Desarrollo de la mecánica «Mokėk, kai parduosi»: pago diferido, seguimiento de la venta, cargo según condiciones.
  • Integración de la pasarela de pago y procesamiento de estados mediante RabbitMQ.
  • Adición de notificaciones y dashboard del vendedor.

Resultados

  • Simplificación de la publicación de anuncios para vendedores particulares.
  • El modelo de pago flexible aumentó la conversión de anuncios.
  • Condiciones y estados transparentes para el vendedor.

07

El portal sirve a casi 600.000 usuarios y más de 11 millones de visitas al mes. Se requerí...

El desafío

El portal sirve a casi 600.000 usuarios y más de 11 millones de visitas al mes. Se requería un funcionamiento estable bajo pico de carga sin degradación de la respuesta.

Solución

  • Profiling de cuellos de botella y optimización de consultas SQL e índices.
  • Introducción de caching y procesamiento asíncrono de operaciones pesadas.
  • Optimización de plantillas Twig y entrega de assets estáticos.
  • Configuración del escalado horizontal de workers.

Resultados

  • Funcionamiento estable bajo pico de carga.
  • Reducción del tiempo de respuesta de las páginas clave.
  • Preparación para el crecimiento futuro del tráfico.

08

El portal opera 24/7, y los fallos en indexación, colas o integraciones son críticos para...

El desafío

El portal opera 24/7, y los fallos en indexación, colas o integraciones son críticos para el negocio. Se requería un sistema de monitoreo y alertas.

Solución

  • Configuración de la recolección de métricas sobre ElasticSearch, RabbitMQ, Redis y eventos de negocio clave.
  • Implementación de alertas ante anomalías (crecimiento de la DLQ, retrasos de indexación, errores de workers).
  • Adición de dashboards para el equipo.
  • Integración del logging de operaciones críticas.

Resultados

  • Detección y reacción rápidas ante incidentes.
  • Reducción de los tiempos de inactividad.
  • Transparencia del estado de la plataforma para el equipo.

09

En el portal se publican cientos de miles de anuncios, entre ellos duplicados, publicacion...

El desafío

En el portal se publican cientos de miles de anuncios, entre ellos duplicados, publicaciones fraudulentas e incorrectas. Se requería una moderación automatizada sin retrasos para vendedores legítimos.

Solución

  • Implementación de un pipeline de moderación: reglas automatizadas + cola de verificación manual.
  • Adición de comprobaciones de duplicados y patrones sospechosos.
  • Traslado de la moderación a tareas asíncronas mediante RabbitMQ.
  • Adición de herramientas para moderadores y logging de decisiones.

Resultados

  • Reducción del número de anuncios fraudulentos y duplicados.
  • Publicación rápida para vendedores legítimos.
  • Herramientas prácticas para el equipo de moderación.

10

Todas las acciones sobre anuncios (creación, edición, moderación, eliminación) debían ser...

El desafío

Todas las acciones sobre anuncios (creación, edición, moderación, eliminación) debían ser trazables para la resolución de disputas y la analítica. Se requería un sistema de auditoría que no ralentizara los procesos principales.

Solución

  • Diseño de un esquema de audit log vinculado a anuncio, usuario y acción.
  • Implementación de la escritura asíncrona de la auditoría mediante RabbitMQ.
  • Adición de herramientas de búsqueda y exportación de audit logs (ElasticSearch).
  • Garantía de inmutabilidad de los registros.

Resultados

  • Auditoría completa de las acciones sobre anuncios.
  • Resolución rápida de disputas.
  • Base para la analítica del comportamiento de los vendedores.

11

El crecimiento de la audiencia y del número de anuncios requería un escalado de la infraes...

El desafío

El crecimiento de la audiencia y del número de anuncios requería un escalado de la infraestructura sin reescribir los componentes clave. Se requería una solución resiliente a picos de carga y crecimiento de datos.

Solución

  • Traslado de operaciones pesadas a workers separados, escalables horizontalmente.
  • Configuración del sharding de índices de ElasticSearch.
  • Optimización del uso de Redis y RabbitMQ.
  • Introducción de pruebas de carga y profiling.

Resultados

  • Infraestructura preparada para el crecimiento de tráfico y datos.
  • Resiliencia a picos de carga.
  • Rendimiento predecible de los escenarios clave.

Tecnologías y temas

Etiquetas del proyecto

#Symfony #PHP #Twig #ElasticSearch #RabbitMQ #Redis #Classifieds #Marketplace #High Load #Auto #Autoplius #Baltic Classifieds Group #REST API #Symfony Messenger #Procesamiento asíncrono #Búsqueda #Moderación #Antifraude #Audit Logging
04
Iniciar un proyecto

¿Necesita un enfoque técnico similar?

Analicemos su proyecto, la arquitectura y el mejor stack tecnológico para él.

Hablemos ↗