abw.by - крупнейший в Беларуси автомобильный интернет-портал ABW.BY 160.000 посещений и более 2 млн. просмотров страниц ежедневно. Портал состоит из отдельных модулей для администрирования сайта, магазин, доски объявлений частных пользователей по продаже автомобилей и принадлежностей к ним, личный кабинет пользователя, форум, раздел с предложениями автосервисов и других авто-услуг, раздел с новостями и функцией предоставления аналога печатной версии газеты портала. Архитектура проекта построена таким образом, что каждый модуль представляет собой отдельное приложение, которые интегрированы в общую систему с помощью Rails Engines. Магазин (один из основных модулей проекта) Каталог товаров состоящий из категорий и товаров. Управление категориями реализовано в интерфейсе и администраторы для каждой категории могут задавать поля разных типов (от простых – строка, число; до сложных деревьев, создавать связанные поля, которые будут заполняться при добавлении продуктов в каталог). На основании полей категории формируется блок фильтров, с помощью которого легко подобрать нужный товар. В системе могут работать представители разных магазинов, для которых обеспечен доступ в личные кабинеты для управления каталогом своих товаров. К каждому продукту различные магазины могут подавать заявки на продажу с указанием цены и условий продажи. Продавцы могут заполнять и обновлять свой каталог посредством им-порта/экспорта из xlsx. Технические особенности проекта: • Масштабируемая горизонтально система поиска объявлений и товаров в каталоге позволяет справляться с большим количеством пользователей и большим количеством объявлений и товаров. • Гибкая архитектура каталога позволяет настраивать категории объявлений и товаров пользователям. • Модульная архитектура приложения позволяет разрабатывать каждый модуль отдельно, практически не затрагивая другие. Используемые технологии и инструменты: nginx, varnish, rake app for image serving wih dragonfly, faye for web-sockets, rails 3, mongodb, redis, memcached, elasticsearch, side-kiq for background tasks. Elasticsearch not only for full-text search but as database for quick filtering.