Здравствуйте, буду краток.
Есть приложение на Vue (OMS для разных магазинов), относительно небольшое, всего 5 самостоятельных страниц (пока что, планируется около 10-15, если учесть всех клиентов с кастомизациями), которые многим схожи, но появилась необходимость кастомизировать приложение под каждого клиента (клиентов около 5-6 и у каждого своя стилизация в рамках цветов, некоторый функционал). Функционал может различаться достаточно сильно, например, у одного из клиентов есть товары с логикой работы с весами, у других нет и тд. Также различается и верстка.
Сейчас методы мелко разделены на миксины, тк почти в каждом компоненты используются одни и те же функции, некоторые такие миксины можно назвать базовыми, и они будут неизменными для каждого клиента, некоторые будут немного правиться.
И я никак не могу придумать, как лучше разграничить приложение для каждого из клиентов, есть вариант разделить репо на ветки для каждого клиента и кастомизировать там, как душе угодно, но в таком случае, если найдется баг в одном месте, то его придется править во всех ветках, что, в принципе, проблема не большая, но хотелось бы более элегантного решения.
PS. Кратко не получилось...
UPD. Прикладываю скрины интерфейса для разных клиентов
Список заказовПросмотр заказа
Здесь у 2 клиента есть блок "Задачи", также у товаров (блок слева вверху) присутствует цвет, у 1 нет. У 1 клиента редактирование доступно всегда, у 2 только при определенном статусе заказа.
Редактирование заказа
У 2 клиента есть поле Отчество, у 1 клиента можно редактировать способ доставки/оплаты, у 2 нет.
Также у 2 клиента есть несколько страниц с практически тем же самым, что на редактировании заказа, но с другими действиями на панели сверху, также у 2 клиента есть несколько дополнительных страниц.
Также планируется обслуживать 3 клиента, у которого есть весовые товары => изменится логика для работы с ними