Building Laravel Saas: Part 1/5 - Choosing Starter Kit
By Laravel Daily
Summary
## Key takeaways - **Livewire Starter Kit Chosen**: I will choose Livewire because LiveWire is the closest option to plain Laravel and Blade. You can actually even skip using LiveWire for custom features on top of the starter kit. [07:53], [08:03] - **Official Kits Require Frontend Skills**: Official Laravel 12 starter kits react view and livewire require you work with one of those full stack technologies, which may be a problem if you're just a back-end developer wanting to create your SaaS without learning React or LiveWire. [03:06], [03:17] - **Breeze Stuck on Tailwind 3**: The problem with breeze and jetstream is that it's based on tailwind 3. Even the structure of how Tailwind is used in Laravel project for Breeze, it's a bit different with files like Tailwind config.js and other a little outdated structure. [04:02], [04:12] - **Community Kits Risk Obsolescence**: The problem with all of those community starter kits, first problem, if the starter kit was created at some time, you don't have any guarantees it would be updated because quite often starter kits are created for their own usage and they're not updated to latest version. [06:11], [06:21] - **Paid Kits Accelerate SaaS Launch**: Sassy Kit and Lara Fast give you full SaaS capabilities of Laravel and also Filament on top for roughly $200. If you care about launching your SaaS quickly, this may be the quickest way, just pay money and have full package. [07:06], [07:40] - **Custom Pages Skip Livewire Code**: We can create controllers blade views without using LiveWire, reusing the main layout. As you can see, I haven't written any code of LiveWire, which means that Livewire starter kit provides the O functionality with LiveWire and is closest as you can be to plain Laravel Blade. [09:16], [10:27]
Topics Covered
- Master 70% of Laravel SaaS Projects
- Official Starter Kits Demand Frontend Skills
- Breeze/Jetstream Stuck on Tailwind 3
- Community Kits Risk Obsolescence
- Livewire Starter Kit Minimizes Learning
Full Transcript
Hello guys, today I'm starting a new series of videos on this channel.
Building a typical Laravel SAS. And
first the reminder, today is the last day for Black Friday deal for Laravel Daily to get 40% of yearly or lifetime membership. And this video may convince
membership. And this video may convince you to do that if you haven't taken the membership yet. So I'm starting a new
membership yet. So I'm starting a new course on Laravel Daily, Typical Laravel SAS. And here on the YouTube channel, I
SAS. And here on the YouTube channel, I will publish first five videos today and then the rest of the week. And the topic of this first video will be choice of starter kit. So for now, I have three
starter kit. So for now, I have three videos published as a course. You can
watch them right now on Laravel Daily.
And my plan is to shoot one video per day or roughly like that and publish more lessons, which probably will be the longest course on Laravel Daily ever
because I want to get deeper. I recently
talked oneonone to a lot of Laravel Daily members and I realized a lot of them want to create SAS whether for themselves as a product or for clients.
So I tweeted a few ideas and then after some feedback and request from the community I landed on this plan of a typical Laravel SAS. So the idea is that
if you master those topics like use a rose multi-tenency subscription and then a few more extra functions you will be ready to deliver kind of like 70% of
typical projects with Laravel. Of course
that 70% is number out of thin air but you get the idea. Many Laravel project can be boiled down to pretty typical SAS and for this case for each topic I want to get deeper explaining why behind the
decisions for example to choose the starter kit to choose the model of multi-tenency to choose various subscription and billing options that's why the videos will be longer. So for
example, the first video that you will watch right now in a minute after I stop talking with the intro will be about starter kit choice. An 8-minute video explaining why I chose certain specific
starter kit for Laravel 12 with all the variety of starter kits now available. I
will pick the one that requires the least prerequisites and upfront knowledge while using the most modern versions of the full stack ecosystem
around Laravel. Maybe you can guess
around Laravel. Maybe you can guess that. So, if you are intrigued which
that. So, if you are intrigued which starter kit I chose for this video, you should watch until the end. So, yeah,
enough intro. Let's dive into choosing the starter kit for a typical SAS. And
again, today is the last day, so-called Cyber Monday, for 40% off yearly or lifetime membership. In this video, I
lifetime membership. In this video, I want to start creating my SAS project.
And first, I run Laravel new and then I immediately have the question, which starter kit? Over the years in Laravel,
starter kit? Over the years in Laravel, there were a lot of starter kits. and
what is the actual current way to choose and in this video I want to not just choose but explain you why and what are the options and what may be better option for your case for a different
project. So currently if you Google
project. So currently if you Google Laravel starter kits of course you land on the official page of starter kits which show three official Laravel 12 starter kits react view and livewire. If
you choose one of them, basically the prerequisite is that you work with one of those full stack technologies, which may be a problem if you're just a back-end developer wanting to create
your SAS without learning React viewer LiveWire. The problem is that there's no
LiveWire. The problem is that there's no plain blade starter kit, which makes me turn to older generation of starter kits. So if we take a look at the
kits. So if we take a look at the documentation of Laravel 11 starter kits, we have Breeze and Jetstream which were both released during Laravel 8 release and they are still supported in
Laravel 12 and they promise to be supported in the future versions. So you
could choose Laravel Breeze for example if you just want breeze and blade and I have a separate tutorial on Laravel daily how to use breeze in Laravel 12.
So you choose non-starter kit and then install breeze separately and you get something like this play and blade with tailwind and then you create things on top and to be honest I thought for this
SAS project to choose Laravel breeze to avoid prerequisites of react view or live wire but the problem with breeze and jetream is that it's based on
tailwind 3. So even the structure of how
tailwind 3. So even the structure of how Tailwind is used in Laravel project for Breeze, it's a bit different with files like Tailwind config.js and other a
little outdated structure. So it does still work and you can use breeze if you don't care about Tailwind version. And
yes, you can upgrade Tailwind 3 to Tailwind 4 in Breeze and I have a separate tutorial for that. But people
in the comments are reporting that this automatic tailwind upgrade works well for simple projects but not necessarily for bigger projects with more dependencies. Then you have quite a lot
dependencies. Then you have quite a lot of manual work to upgrade various components which kind of beats the purpose of starter kit. Starter kit by definition should be easy to install and
then you can easily move on to create your custom code. Right? And if you want to choose laravel gestream it has two problems. First problem the same thing it's tailwind threebased and also here
you still have prerequisites of either available stocks here you see available stocks livewire blade or inertia view so it's not plain blade and this was actually the reason why Laravel breeze
was created in the first place so back in Laravel 8 days first Taylor released jetstream and then the community asked so what about plain blade and Laravel breeze was the answer for that so what
we covered so far option one official starter kit not ideal because they have prerequisites. Option two, breeze and
prerequisites. Option two, breeze and jesterream also not ideal because tailwind 3 and other prerequisites. So
then you may turn to community starter kits unofficial not firstparty starter kits and for that I found a website called Lara kits which lists a lot of starter kits so we can browse them for
example order by downloads and of course the official starter kits have the most amount of downloads but also on top of that there are things like Genesis
filament starter kits our own Laravel daily starter kit which is plain blade and others but I've browsed around those starter kits And the problem with all of
those, well actually two problems. First problem, if the starter kit was created at some time, you don't have any guarantees it would be updated because
quite often starter kits are created for their own usage for that company or that developer. And I see quite often they're
developer. And I see quite often they're not updated to latest version. So it's
starter kit for the time being. And also
then for each starter kit, you would still need to learn their code, learn the documentation, which is not ideal either. So as much as I like our own
either. So as much as I like our own Laravel daily starter kit, it was created for our own needs, but I would really recommend firstparty starter kits
in most cases. Finally, before I reveal which starter kit I will choose for this SAS, I need to mention paid starter kits, premium starter kits. I'm not
affiliated with any of them but two of them are really popular on the market which is Sassy Kit and Lara Fast. So
they would give you full SAS capabilities of Laravel and also Filament on top. So if you want to just pay money and have a lot of features inside you can pay roughly $200. The
price is similar for both. So Larfast at the moment is $1.99 size kit the cheapest version is $239. And then you have the list of features something like this. So it's not starter kit, it's more
this. So it's not starter kit, it's more like SAS full kit. But then this is of course another dependency. So you need to learn how that starter kit works. You
may not like some of their technical decisions or structure or choice of tech stack. But if you care about launching
stack. But if you care about launching your SAS quickly, this may be the quickest way. Just pay money and have
quickest way. Just pay money and have full package. And now let's get back to
full package. And now let's get back to our terminal and I will choose one of the starter kits and I will explain why.
So, Laravel new gives us the choice of these starter kits. And I will choose Livewire because LiveWire is the closest option to plain Laravel and Blade. And
you can actually even skip using Live Wire for custom features on top of the starter kit. Let me show you that in
starter kit. Let me show you that in action. So, let's choose LiveWire and
action. So, let's choose LiveWire and let's follow the default installation.
So, built-in authentication. No, I don't want to use Laravel Vault. I'm good with best Laravel boost for now. Let's skip
that one. And yeah, the installation goes on. It will finally ask us to run
goes on. It will finally ask us to run npm install and npm run build. And yeah,
it's [clears throat] good. And now in the browser, if we launch SAS.est
powered by my local Laravel herd, we have the homepage. And if we try to register, this is the form powered by LiveWire. But the thing is for now, we
LiveWire. But the thing is for now, we don't need to change anything in the code. So we don't really need to use
code. So we don't really need to use LiveWire actively or know about it. It
just works. We create account and we're inside the dashboard. And if we take a look at the code now, here I am in the routes web. And as you can see, it's
routes web. And as you can see, it's pretty similar to default Laravel. So
route view, route get. And for some settings, it uses livewire components, which act kind of like Laravel controllers in this case. But then
basically on top of that, we can create controllers blade views, which would be just reusing the main layout. But the
main point is that we can do it without using LiveWire. So let's do exactly
using LiveWire. So let's do exactly that. Make view pages about which
that. Make view pages about which creates empty blade and then in the route for example let's add here about and about page and of course the page is
pages about. Okay. Now let's go to the
pages about. Okay. Now let's go to the dashboard blade page which is X layouts app. Copy from there pages about. Paste
app. Copy from there pages about. Paste
here. And then let's change the dashboard to about powered by cursor tab. And in here, I'm not sure which
tab. And in here, I'm not sure which part is responsible for the main thing, but let's just type about page and leave it as is. And finally, we go to sidebar
blade, which is powering the menu of LiveWire. And here we have Flux
LiveWire. And here we have Flux components, but we don't need to care much about them. It's using Flux library free version. And we can just copy paste
free version. And we can just copy paste without really even digging deeper how it works. And if we hit tab, cursor
it works. And if we hit tab, cursor would auto suggest route about. Now if
we refresh our page refresh, we have about here with the design and with the page text here inside. And as you can see, I haven't written any code of
LiveWire, which means that LiveWire starter kit provides the O functionality with LiveWire and is closest as you can be to plain Laravel Blade and good old
Laravel controllers with routing, but also you have the most modern version of Tailwind and also in the settings including pretty recently added two factor authentication. So yeah, this is
factor authentication. So yeah, this is the logic behind the choice of starter kit for SAS application and in the future videos we will build features on top of this starter kit.
Loading video analysis...