Веб-разработка. Разработка с нуля. Язык программирования: JavaScript. Разработать встраиваемый модуль визуального подбора оборудования. Допустимый стек: html, css, vanilla js, jquery. Модуль будет подключаться в качестве div блока на сайте. Исходные данные - Дерево оборудования в графическом виде - Пример визуального оформления Мягкие ограничения - Не требуется поддержка IE - Минимальное количество сторонних js библиотек Строгие ограничения - Структурировать предоставленные исходные данные (дерево оборудования) в json объект. Т.е. предложить структуру json объекта - Json объект хранить в виде хардкода в js - Разработать js движок построения html по json объекту - Предполагается, что структура дерева может изменяться в дальнейшем, т.е. движок не должен иметь жесткой привязки к текущему контенту дерева - В перспективе предполагается изменение контента дерева, но не его структуры. Т.е. возможно добавление ветвей дерева, листьев и удаление их, движок должен корректно обрабатывать подобные изменения в данных без корректировки кода. Сценарий работы модуля - При запуске модуля, движок обрабатывает хранимый json объект со структурой дерева и отрисовывает верхний уровень, т.е. точку входа для пользователя - Пользователь выбирает один из подходящих для него пунктов - Движок обрабатывает нажатие пользователя и отрисовывает следующий шаг подбора - Пользователь в нисходящем цикле выполняет шаги подбора и в результате доходит до нижнего уровня, что должно являться результатом подбора - Пользователь должен иметь возможность выполнения обратных шагов вплоть до шапки дерева Критерии успешного выполнения - Выполнена консультация заказчика по возможным вариантам визуального оформления - Разработана и обоснована структура json объекта - Разработан движок просмотра json объекта и построения на его основе верстки - Разработана верстка и стили - Модуль запускается в браузере - Выполнено тестирование на предоставленном дереве, выполнена демонстрация работоспособности движка при изменении дерева - Тестирование заказчиком с точки зр.