Полноценная e-commerce платформа для розничного продавца межкомнатных дверей, напольных покрытий и фурнитуры: витрина с гибким каталогом и фасетными фильтрами, корзина и оформление заказа, административная панель для контент-менеджеров, а также мгновенная доставка заявок и заказов в Telegram. Проект построен на ASP.NET Core и сознательно обходится без тяжелого SPA-фреймворка: вместо него работает собственный легкий слой маршрутизации поверх Minimal API с серверным рендерингом HTML-фрагментов, что обеспечило быструю отрисовку, низкую стоимость поддержки и предсказуемое поведение каталога даже на тысячах товарных позиций.
Каталог построен на гибкой модели характеристик: атрибуты, их допустимые значения и привязки к товарам вынесены в отдельные сущности, поэтому добавление нового параметра или целой категории не требует изменения схемы базы и правок в коде. Характеристики наследуются вниз по дереву категорий рекурсивно, так что фильтр, заданный на верхнем уровне, автоматически работает во всех вложенных разделах.
Варианты товара решены через группировку дочерних позиций вокруг родительской. Для дверей реализовано автоматическое создание зеркального исполнения: при сохранении одной карточки вторая сторона генерируется системой сама. На странице товара алгоритм сам определяет, какие характеристики отличают варианты друг от друга, и выводит их как переключатели, мгновенно ведущие на соседнюю товарную позицию.
Фасетные фильтры объединяют выбор по характеристикам и диапазон цены, а их состояние синхронизировано с адресной строкой, поэтому отфильтрованную выборку можно сохранить в закладки и переслать. Сервер отдает уже готовую отрисованную сетку товаров, фронтенд лишь подставляет ее в страницу.
Лиды и заказы доставляются в Telegram: телефон из быстрой заявки и состав корзины из оформления заказа уходят во все привязанные чаты менеджеров за секунды.
- Рабочий магазин с витриной и админкой выведен в продакшен в сжатые сроки благодаря легкой архитектуре без тяжелых зависимостей.
- Каталог масштабируется на тысячи позиций и любую глубину вложенности категорий без изменения схемы базы данных.
- Новая категория со своим набором фильтров заводится силами контент-менеджера, без привлечения разработки, что снимает узкое место в наполнении магазина.
- Автогенерация зеркального исполнения дверей сократила время заведения карточки примерно вдвое и исключила рассинхрон между парными позициями.
- Заявки и заказы доходят до менеджеров за секунды через Telegram, что ускоряет обработку обращений и снижает риск потери лида.
- Отказ от SPA в пользу серверного рендеринга фрагментов дал легкую первичную загрузку, низкое потребление ресурсов и простую поддерживаемость кодовой базы.