Интернет-витрина оборудования бренда SMARTWATT
Бренд SMARTWATT принадлежит компании ENERGON, лидеру российского рынка промышленных аккумуляторных батарей. 250+ реализованных проектов с оборудованием SMARTWATT, 460+ высококачественных товаров в ассортименте, 650+ опытных профессионалов в команде.
Выполнили для клиента

Функционал
- вся продукция размещённая на сайте разово импортировалась из PIMCore через разработанный скрипт
- реализовано понятие "набора свойств", что позволило группировать свойства для вывода их в карточке продукта
- при редактировании продукта в административной части отображаются только те свойства, которые используются в наборах свойств продукта
- для продуктов, баннеров и других объектов реализована возможность настраивать кнопки-ссылки, включая кнопки, которые открывают Б24 CRM формы
- поддерживается упрощённое управление всеми SEO мета-тегами с помощью редактирования специального CSV-файла
- почти всё содержимое сайта, за редкими исключениями, поддерживает редактирование через административную часть и включаемые области
- основное меню продукции позволяет производить настраивать способ группировки отображаемых серий, каждый пункт ведёт на страницу каталога с предустановленным фильтром
Общие технические моменты
- проект разворачивается локально используя Docker
- после клонирования репозитория, при наличии определённых системных зависимостей, проект может быть инициализирован одной консольной командой, которая полностью подготовит весь сайт к работе, включая Битрикс, благодяря bitrix-cli-install
- ведётся Markdown-документация, включая описание ключевых моментов стека, ключевых рецептов при работе с проктом и правил которым нужно придерживаться, т.е. ADR
Бэкенд
- используются пять идей чистого кода в Битрикс проекте, в частности, в качестве контейнера зависимостей применяется [PHP-ID](https://php-di.org)
- качество кода проверяется с помощью PHPStan, PHP_CodeSniffer, PHP CS Fixer и SonarQube
- миграции (161 шт. на момент сдачи проекта) пишутся через Doctrine Migrations, для упрощения написания миграций используются шаблоны обеспечиваемые пакетом maximaster/bitrix-migrations
- для масштабирования и тримминга изображений используется imgproxy
- консольные команды оформляются и запускаются через symfony/console
Фронтенд
- адаптивная вёрстка (три точки перехода, применение масштабирования содержимого, коррекции для отдельных сценариев вне существующих точек перехода)
- фреймворки не используются, так как требовалось максимально легковестное решение
- весь код написан на TypeScript
- стили написаны на SASS
- для сборки используется Webpack
- качество кода проверяется с помощью ESLint