TIPOFF / tipoff

Code for TIPOFF.com
MIT License
0 stars 1 forks source link

Multitenancy #4

Open drewroberts opened 2 years ago

drewroberts commented 2 years ago

Need to update the Authorization package (https://github.com/tipoff/authorization) to include a "tenants" table with a default of main for the main site with Laravel Nova.

The tenants will not have Laravel Nova. Only the main site, which will be TIPOFF.com in this case. For other installations of the packages, it will just be the main site. The tenants will not have Nova and will only show some pages and blogs in those packages. All sites will share the same users and media files. Routing will have to be handled with a middleware to redirect to the correct website if a page is visited on another tenant that belongs to the main site. Pages & blog posts cannot be reused with same slugs between sites in a Laravel installation. Those two packages will have to be updated with this information.

drewroberts commented 2 years ago

Users in the database can log into all websites in the Laravel installation. Their profiles will only be on the main website.

drewroberts commented 2 years ago

I'm looking into this more. After sleeping on it, I think the only package that needs the domains is the drewroberts/blog and it doesn't need to be in any of the others.

Resources for multiple domains in a laravel application, especially those that are static pages and don't even reference blog posts:

We could just have custom routing in this one application. Group it by domain and filter the domain routes by blog posts & pages that have the domain id of that domain. This will be a much more simplistic approach to using it with one Nova admin panel.