@architawr
"Ok, Google" и все твои проблемы решены

Приложение на Vue с кастомизацией?

Здравствуйте, буду краток.
Есть приложение на Vue (OMS для разных магазинов), относительно небольшое, всего 5 самостоятельных страниц (пока что, планируется около 10-15, если учесть всех клиентов с кастомизациями), которые многим схожи, но появилась необходимость кастомизировать приложение под каждого клиента (клиентов около 5-6 и у каждого своя стилизация в рамках цветов, некоторый функционал). Функционал может различаться достаточно сильно, например, у одного из клиентов есть товары с логикой работы с весами, у других нет и тд. Также различается и верстка.
Сейчас методы мелко разделены на миксины, тк почти в каждом компоненты используются одни и те же функции, некоторые такие миксины можно назвать базовыми, и они будут неизменными для каждого клиента, некоторые будут немного правиться.
И я никак не могу придумать, как лучше разграничить приложение для каждого из клиентов, есть вариант разделить репо на ветки для каждого клиента и кастомизировать там, как душе угодно, но в таком случае, если найдется баг в одном месте, то его придется править во всех ветках, что, в принципе, проблема не большая, но хотелось бы более элегантного решения.

PS. Кратко не получилось...

UPD. Прикладываю скрины интерфейса для разных клиентов

Список заказов
1 клиент

5d1b4f108b2d6166800003.png

2 клиент

5d1b4f1de2dfd600837921.png


Просмотр заказа
1 клиент

5d1b4f682f2e4582984752.png

2 клиент

5d1b4f78a80c6797842386.png

Здесь у 2 клиента есть блок "Задачи", также у товаров (блок слева вверху) присутствует цвет, у 1 нет. У 1 клиента редактирование доступно всегда, у 2 только при определенном статусе заказа.

Редактирование заказа
1 клиент

5d1b4fde811dd045735737.png

2 клиент

5d1b4ffb29ee6631648697.png

У 2 клиента есть поле Отчество, у 1 клиента можно редактировать способ доставки/оплаты, у 2 нет.

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

Также планируется обслуживать 3 клиента, у которого есть весовые товары => изменится логика для работы с ними
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Думаю разносить не стоит - потоните в поддержке.
В целом не очень ясно, что представляет собой приложение - это чистый фронт или фронт и бэк?
Как вы деплой приложения планируете делать?
Кастомизацию можно решать на уровне конфигруации при деплое, можно делать дополнительный админский интефейс, где вы будете настраивать систему под конкретного клиента.
Можно разбивать систему на ядро и подключаемые плагины для кастомизации.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы