I'm proud to announce our team is creating a new video course called Laravel Beyond CRUD. In this course, you'll learn various patterns to build a large scale Laravel app with your team. Even if you're not working on large Laravel apps, there are lots of things to learn to improve your projects.
This course will be offered as a premium video course, and as a book. The course will be presented by Brent, who is in the lead at various large scale client projects at Spatie. The book, also written by Brent, is beautifully designed by my colleague Seb.
At the Laravel Beyond CRUD website, you can subscribe to our email list. We'll notify you as soon as the course is available in September. We'll also mail you an extra preview.
Why we are creating this course #
These past few years, our team has built an extensive collection of open-source packages. Each of these packages was made to be used in our client projects.
If you have been following us for a while, you might have noticed that the type of packages we're building has changed.
We started out with stuff like laravel-sluggable, laravel-translation, laravel-medialibrary, ... These packages are used in CMS type of projects. Up until a couple of years ago, our company mainly built that kind of application. These projects took us a couple of weeks to finish.
In the past few years, the type of client projects we're working on has evolved. Because of our open source work, we started to attract bigger clients; a very well-known one is Tomorrowland, who hired us to work on technically challenging, large-scale projects. These projects often take us more than a year to build with a team of developers.
If you were paying attention, you saw the type of packages we put out change as well. Packages like data-transfer-object, laravel-view-models and laravel-query-builder, don't offer new functionality, but are used to structure existing functionality in an app.
By building these massive projects, we've learned that structuring code well, and using the right patterns, is vital for long term maintainability by a team.
Like most teams, each member of Spatie has different opinions on how to structure things. Some prefer a strict approach, while others go for a more pragmatic route. I think that our team functions very well because we have a culture of respectfully discussing each strategy.
By questioning and improving our workflow, and by continuously examining our best practices, we organically developed a good way of structuring a large application. We don't lose ourselves in dogmatically following theoretical rules, but we also don't use the Laravel defaults for everything. It's something in between.
Our goal with this course #
In the Laravel Beyond CRUD course, we'd like to share our process for building client applications. If you are making large Laravel apps like us, you're going to love this. Even if you're working on apps on a smaller scale, I'm sure that you can cherry-pick some of our practices to improve your code.
In this video course, we're not advocating that you should structure your apps as we do. Instead, Brent will share our thought process, so you can come up with your own solutions when facing similar problems.
For the majority of projects, the default Laravel structure just works. But if you ever wondered where you should put a particular piece of code, our course is undoubtedly for you!
In closing #
Laravel Beyond CRUD isn't the first video course our team produces. Earlier this year, we released Laravel Package Training, and the Mailcoach video course. If you sponsor us on GitHub, you'll get access to a bunch of videos on writing readable code.
We're aiming to launch Laravel Beyond CRUD later this year. Make sure to subscribe to our mailing list to sit in the front row when we launch this course.