Size: a a a

2020 December 07

MR

Maksat Ramazan in Laravel Pro
Anton S
сначала желательно понимать как это делается на самом примитивном уровне, а потом прикрутить домены - не проблема
ок, а как понять что лучше. там есть множество вариации, типа отдельные приложения на каждую структуру, или одно, или в базе разные схемы, или вовсе разные базы
источник

MR

Maksat Ramazan in Laravel Pro
разные базы хорошо, но ресурсоемко, так?
источник

A

Arman in Laravel Pro
Maksat Ramazan
просто порядка 200 заведении есть, как организовать их работу в админке, при том что каждый должен администрировать именно свое
может это не админки, а личные кабинеты?)
смотря насколько отличаются между собой эти заведения. Если в привычном варианте, то между собой они толком не отличаются (может только какие VIP-услуги), соответственно усложнять жизнь не стоит и сделать простые кабинеты для заведений, где они управляют своими данными.
Тут очень поможет
https://laravel.com/docs/8.x/routing#implicit-model-binding-scoping

ну и если выдавать поддомены
https://laravel.com/docs/8.x/routing#route-group-subdomain-routing
источник

MR

Maksat Ramazan in Laravel Pro
Arman
может это не админки, а личные кабинеты?)
смотря насколько отличаются между собой эти заведения. Если в привычном варианте, то между собой они толком не отличаются (может только какие VIP-услуги), соответственно усложнять жизнь не стоит и сделать простые кабинеты для заведений, где они управляют своими данными.
Тут очень поможет
https://laravel.com/docs/8.x/routing#implicit-model-binding-scoping

ну и если выдавать поддомены
https://laravel.com/docs/8.x/routing#route-group-subdomain-routing
ну нужно понимать что у каждого заведения есть меню, ингридиенты, список акции
источник

MR

Maksat Ramazan in Laravel Pro
это не совсем лк
источник

MR

Maksat Ramazan in Laravel Pro
генерация расписания сотрудников
источник

MR

Maksat Ramazan in Laravel Pro
манагерство сотрудников
источник

A

Arman in Laravel Pro
Maksat Ramazan
ну нужно понимать что у каждого заведения есть меню, ингридиенты, список акции
у всех моделей будет company_id, у заведения связи со всеми что нужно, первая ссылка очень помогает узнать текущее заведение.
дальше просто работаем от него

$company->users()
$company->staff()
$company->schedule()

т.е. от заведения спрашиваем по связям нужные данные.
также создаем от связей, редактируем и удаляем
источник

AS

Anton S in Laravel Pro
я тоже думаю что базовый вариант штатными средствами, и доп колонкой company_id в каждой таблице - это достаточно адекватно, и не зароешься в постороннем пакете
источник

MR

Maksat Ramazan in Laravel Pro
Anton S
я тоже думаю что базовый вариант штатными средствами, и доп колонкой company_id в каждой таблице - это достаточно адекватно, и не зароешься в постороннем пакете
при масштабировании не будет больно? я просто хочу предусмотреть это
источник

MR

Maksat Ramazan in Laravel Pro
когда например запросы в базу дойдут до лимита и нужно будет делать шарды
источник

MR

Maksat Ramazan in Laravel Pro
кстати насчет шардов пока тоже не знаю как разделять
источник

MR

Maksat Ramazan in Laravel Pro
по регионам или заведениям
источник

AS

Anton S in Laravel Pro
ну это вам виднее, какие у вас требования по изолированности данных, и по хайлоаду
источник

AS

Anton S in Laravel Pro
разбивка на шарды традиционно ударит в щи в плане сбора статы например и работы именно суперадмина, надо взвешивать плюсы и минусы
источник

AS

Anton S in Laravel Pro
я имею ввиду если делать прямо честную базу на каждого тенанта
источник

MR

Maksat Ramazan in Laravel Pro
мне это кажется слишком затратным, потому что может быть очень маленькое предпритие а может быть такое предприятие что по активности будет забирать половину ресурсов
источник

MR

Maksat Ramazan in Laravel Pro
поэтому наверно лучше делать разбивку по регионам
источник

AS

Anton S in Laravel Pro
я бы делал самый простой вариант, одну базу, потому что риски что проект “не взлетит” обычно на порядок выше чем то что будут проблемы с перформансом, в наше время. предварительная оптимизация получается)
источник

MR

Maksat Ramazan in Laravel Pro
Переживаю) первый самостоятельный опыт в планировании архитектуры приложения
источник