Как я сократила время на добавление новых страниц с помощью системы автоматической генерации роутов

На новом проекте по виртуализации (Vue3, ProxMox) я столкнулась с проблемой: в его интерфейсе используется древовидная структура со сложной логикой доступности. Например, сущность Узел доступна только из Датацентра. А страница Снимки есть у ВМ и Контейнера, но нет у Узла.

Похожие структуры в других проектах у нас делаются с большим количеством шаблонного кода и дублированием. Как потом я выяснила из статистики на внутреннем портале компании, создание новой страницы или внесение правки могло достигать 2 рабочих дней.

Я предложила такую систему: страницы регистрируются в едином реестре с правилами доступности, а итоговый объект routes рассчитывается динамически.

Под капотом это работает так: 1. Декларативно описаны правила навигации: сущности и списки их страниц. 2. На старте приложения хук useRoutes рекурсивно обходит словарь вложенности сущностей и собирает итоговый объект роутов, подбирая подходящий метод через паттерн Стратегия.

Теперь добавление новой страницы занимает до 8 часов, а правки – до 4 часов. Работать стало намного удобнее! Интересно, что это был мой первый практический опыт применения паттерна Стратегия на практике.

Интересно было бы узнать, как такие задачи решаются в крупных компаниях. Может есть способы быстрее и проще?