Разработка сети сайтов автомобильных дилеров

Разрабока сети сайтов автомобильных дилеров

Задача: создать систему, которая позволяла бы быстро запускать сайт дилера на основе дизайна и контента основного сайта бренда.

Система состоит из двух частей:

  1. Многосайтовая CMS, которая позволяет запустить сайт дилера в несколько кликов и управлять его контентом.
  2. Подсистема синхронизации с сайтом бренда, которая должна регулярно забирать элементы дизайна и централизованный контент (например, описания и цены автомобилей), обрабатывать его и автоматически заливать на сайт дилера.

Основная сложность проекта состоит в том, что собирать информацию о дизайне и контенте основного сайта можно только путем парсинга сайта, какая-либо структурированная информация или специализированные API-отсутствуют. Это осложняло наличие в 2013 году на сайте бренда flash-приложений, обращающихся с фоновыми запросами к сайту, а также присутствие в современной версии сложных javascript-приложений по типу конфигуратора автомобиля, которые тоже необходимо было автоматически переносить с сайта бренда на сайты дилеров.

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

Система обросла многочисленными модулями, начиная от новостных лент, заканчивая биллингом для отдельных дилеров.