Este curso es la nueva versión del curso Tenancy for Laravel Basics, donde aprendimos a desarrollar aplicaciones multi inquilino con Laravel con Laravel 10 o inferior a través de un paso a paso bastante completo.
En este nuevo curso aprenderás a crear aplicaciones multi inquilino o multi tenant con Laravel utilizando Tenancy for Laravel en su versión 3 y Laravel 11 o superior.
Laravel for Tenancy es una dependencia maravillosa que facilita enormemente el desarrollo de aplicaciones multi inquilino y multi database.
¿Qué es una aplicación multi-tenant?
Una aplicación multi-tenant es un software que, utilizando una única base de código (como un proyecto en Laravel), es capaz de gestionar múltiples lógicas de negocio distintas. Este tipo de aplicaciones se divide en dos partes principales: la central, desde donde se administra a los inquilinos (tenants), y los propios inquilinos, que gestionan sus propios clientes y operaciones.
Ejemplo de aplicación multi-tenant
Imaginemos una plataforma similar a Just Eat. Esta plataforma ofrece acceso a diversos comercios de comida cercanos a nuestra ubicación para realizar pedidos y recibirlos en casa. En este contexto, Just Eat actuaría como un tenant de la aplicación central, y dentro de su dominio (por ejemplo, justeat.localhost en un entorno de desarrollo con Sail), los clientes serían los restaurantes que desean registrarse para ofrecer sus servicios.
Funcionamiento de una aplicación multi-tenant
En una aplicación multi-tenant, cada inquilino puede tener su propia base de datos, aunque esto no es un requisito, también se pueden generar los registros con FKs al tenant_id. Opcionalmente, cada inquilino puede tener su propio dominio, aunque también es posible trabajar con rutas (path) específicas para cada inquilino. Este proceso de asignación se realiza automáticamente cuando un nuevo inquilino se registra en la aplicación. Además, mediante el JobPipeline, se pueden ejecutar tareas complejas en respuesta a diversos eventos generados por los inquilinos.
Beneficios de aprender a desarrollar aplicaciones multi-tenant
A través de un ejemplo práctico y con el código final disponible, podrás aprender a desarrollar proyectos multi-tenant de manera completa y detallada. Este tipo de aprendizaje no solo te proporcionará las habilidades necesarias para implementar soluciones multi-tenant, sino que también te permitirá agregar nuevas características a tu proyecto en el futuro.