Всем привет. Сейчас есть приложение на Laravel, где есть админка и клиентская часть. Вход в админку идет через обычный /admin
, для нее сделано отдельное пространство имен App\Controllers\Admin
. Авторизации на клиентской части нет, поэтому админка работает через дефолтную авторизацию.
Вопрос заключается в том, что по мере расширения функционала, будет довольно громоздко держать админку, CRM и клиентскую часть вместе. Более того, CRM система должна быть надежной и при любой атаке на клиентскую часть, она должна функционировать исправно.
Скажите, каким образом лучше всего построить архитектуру в данном случае, правильно ли я делаю? Не будет ли лучше разбить это на 3 независимые части, а CRM-систему вовсе вынести на отдельный сервер? Если да, то как брать данные с сервера, где лежит информация о товарах и т.д.? Если это делать через API, то это довольно большая нагрузка, поскольку каждый заказ автоматически связывается с ID товара через таблицу order_products
, из-за этого мне придется делать 1 запрос на каждый из товаров заказа?
Сейчас каша в голове, а по архитектуре ничего хорошего в просторах интернета не нашел, что могло бы конкретно в моем случае пригодиться. Заранее спасибо.
По такому простому описанию однозначно сказать как лучше — сложно. Но есть ряд советов:
Авторизации на клиентской части нет, поэтому админка работает через дефолтную авторизацию.
Если смотреть о том, как безопаснее — прежде всего не следует использовать популярные пути для админки /admin
и авторизации. Это первое куда лезут недоброжелатели при поиске уязвимостей. Поэтому лучше что-то нетривиальное, типа того же /sitecontrol
, или вообще какого-нибудь имени собственного.
Не будет ли лучше разбить это на 3 независимые части, а CRM-систему вовсе вынести на отдельный сервер?
CRM, на мой взгляд, можно было бы вынести в субдомен (а лучше домен, закрытый от индексации), и на отдельный хостинг. Чтобы немного сэкономить ресурсы и фукционал — можно было бы сделать два подключения с БД из CRM: одно для нужд CRM с её собственной БД, другое для работы с моделями основного сайта (например, с заказами и товарами, чтобы полностью не дублировать информацию).
При этом нужно проработать взаимодействие основного сайта и CRM системы, чтобы по возможности сэкономить на трафике и нагрузке, но не во вред читаемости и понятности всей архитектуры. Где возможно — формировать запросы со стороны сайта и передавать их в CRM (Например, при добавлении заказа на сайте — уведомлять CRM о событии и там формировать нужные записи), где нужно — выстраивать работу и обращения к основному сайту из CRM системы.
Отдельной темой будет сопровождение одного и того же клиента, но это уже зависит от самих бизнес процессов, скорее, нежели от архитектуры вашего решения.
Есть блок в html, его значения меняются, каким способом можно сохранить в pdf и сразу сделать доступным для скачивания? Смотрел много разных библиотек,...
Получаю строку байт длиной, например, в 88 байт в big-endianИзвестно что каждые 4 байта это число типа float
В коде ошибка, почему то не понимается функцияМожет я использую устаревший PHP или наоборот слишком новую версию
Ребята ,пожалуйста подкорректируйте кодСделал вроде чтоб у каждого пользователя открывалась своя страничка под своим логином и паролем...