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

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

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

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

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

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