In August 2018 I wrote an article titled Laravel multi-tenancy, avoiding over engineering, which was very well received, and still to this date, over 2 years later, is responsible for 25% of my sites traffic.
In the time since writing the article I have learned a lot more about multitenancy, both in theory, and in implementation specifically in regards to Laravel. As the topic seemed to be coming up more and more I decided to start putting all of this together.
After some consideration I decided to create both a premium course, called Multitenancy with Laravel, and a premium package, called Porter.
Why premium you ask? The plans for both the package featureset and the course content were mammoth, and would take a considerable amount of time to line up, record, edit and build, so the decision was made to sell these, to help cover the time that had been/will be spent making them. Another huge factor in this was that the money from both the course and the package will go back into my company, not just covering me for the time spent, but covering my wages in the future, allowing me to write and record free content.
The price of both the course and the package are £99, something that I spent a great deal of time trying to work out. The idea is that it's not too low as to not do the content justice, but not too high so that people are priced out.
There's a bit more information below, but you can find out more at [https://multitenancy.dev].
The course itself covers a large amount of topics, all broken down into small chunks. As well as covering each topic, it also covers all of the options for each topic.
The whole course is broken down into chapters, with each chapter having an introduction video that focuses on theory, the options available for this particular chapter, and examples of when and why you'd pick each option. Each option is then broken up into its own video where I write the code and show you how to implement it.
The whole aim is to build a simple and clean multitenancy implementation tailored to your needs. One of the core goals for me when planning this course, was for the code that I show you to be as seamless as possible. Once you've written the initial implementation you shouldn't need to do things the 'multitenancy way', it should just work, with minimal adjustments.
There is no date set for the release of the course yet, but I'm working on it as much as I can.
The package, Porter, is by far one of my favourite things that I have ever created (in code). Porter is designed to be an implementation of the course, covering all of the same topics and providing all of the same options and features, but is targetted at people that do not have the time, or the inclination to watch the course and then write your own.
It is written to be as seamless as possible, as much like the code in the course, you don't want to be writing things the 'multitenancy way'. Since the package covers 99% of the things that the course covers, there is some initial setup and configuration which can be tricky. Because of this, there's an interactive setup command that you can run, to generate some abstract models and other classes, implementing the correct interfaces and creating the ideal configuration file.
Though aimed at those of you that don't have the time to complete the course, there's a third purchase option of £148.50 which gives you the package, and the course at 50% off. The reason behind this is that I'm a firm believer in the importance of understanding what you're using, and the course perfectly compliments the package.
While not currently finished, I am very proud of my work on this and can't wait for it to be released. There is no date set for the release of the package, but it will be inline with the course.
What does this mean?
I will still continue to write content on here, and I plan to record some free content on a number of topics. The idea behind creating premium courses and packages is that it affords me more time to work on free content.