Sprout is a collection of packages for Laravel that provide a seamless and easy to use multitenancy solution. It is designed to be flexible and customisable, without compromising on features.
The Sprout package provides the core of the functionality, but there's a number of addon packages that enhance the functionality of Sprout, or provide additional features.
- Sprout Bud [WIP]: Bud allows you to manage tenant-specific configuration, with built-in support for dynamically configuring a whole host of Laravel's core connections and driver-based services.
- Sprout Seedling [WIP]: Seedling builds on-top of the functionality provided by Sprout Bud to bring multitenant-specific database support to your Laravel application. As well as enabling the dynamic configuration of connections, it comes with a batch of supporting functionality to make managing tenant-specific databases easier.
- Sprout Terra [WIP]: Terra brings domain-based identification to Sprout, allowing you to identify tenants based on the domain they are accessing your application from. Just like with Seedling, it also comes with a bunch of supporting functionality for dealing with tenant domains.
With more to come!