Ralph J. Smit Laravel Software Engineer
In my day-to-day workflow I mainly use Laravel for my projects. In particular, the TALL-stack. TALL is an acronym for Tailwind CSS, Alpine.js, Laravel and Livewire. Combined into one project, these four tools can immensely speed up the developer and provide a great developer experience. Installing multiple tools is always quite boring, so that's why I made a package to automated their installation.
The name of the package is ralphjsmit/tall-install
and you can find it on GitHub. The tagline says that it is an 'Easy command to install the TALL-stack & jumpstart development🚀'. Sounds promising, right?
Features
So, what does it exactly do? I already said that it basically takes a fresh Laravel-installation and runs the regular installation process for your favorite TALL-stack tools. So, what does it install?
-
Tailwind CSS
-
Tailwind CSS Forms
-
Tailwind CSS Typography
-
Alpine.js
-
Alpine.js Trap
-
Filament Admin Form Builder
-
Filament Admin Table Builder
-
Laravel Livewire
-
Toast TALL-notifications
There are also options to:
-
Configure Browsersync for Laravel Valet users
-
Install Pest instead of PHPUnit
-
Configure a DDD-file structure
How does it work?
First, you need a fresh Laravel-installation.
composer create-project laravel/laravel name
It can also be used on existing installations, but please make a back-up if you use it on an existing installation. It can have unintended consequences.
Next, install the package:
composer require ralphjsmit/tall-install
Now, do the magic🪄
php artisan tall-install # For the options, see the docs on GitHub: https://github.com/ralphjsmit/tall-install#installation--usage
Boom! You now have a fully-functioning Laravel-installation based on the TALL-stack.
Finally, we'll do a little clean-up as well:
composer dump-autoload
That was easy right?
Configuring a Laravel-project with DDD
Another feature worth mentioning is that this package can also refactor the application to make use of a Domain-driven folder structure. Using Domain-driven Design for an application is a great way to make it more maintainable and scalable. I highly recommend checking it out.
To use DDD, append the --ddd
or -d
flag to the tall-install
command:
php artisan tall-install --ddd
Wrapping up
If you want to exactly know how your project will look like after installation, take a look at the two demo repositories I prepared for your:
Those repositories will be kept automatically up-to-date with GitHub Actions every time there is a new release.
I hope this package will be useful for your in starting development on new projects! It certainly is for me. If it was useful and you’ve saved yourself a lot of time, I’d highly appreciate if if you could spare a minute and star the repo on GitHub✨.
As always, feel free to open an issue or leave a comment with your ideas and questions!
Published by Ralph J. Smit on in Packages . Last updated on 11 March 2022 .