Our Laravel Experience, Part 2

What Laravel Packages We Use

Laravel is in high demand. With the newest Laravel 11 released just a few days ago, we wanted to take the opportunity and write about our experience with Laravel so far, what we've learned and what our best practices are. This is part two of our Laravel series, focusing on packages we frequently use and like.

In the previous article, we talked about how we setup our Laravel projects. Since one of Laravels biggest advantages is its vast ecosystem of extensions and packages, we dedicated part 2 to presenting some of our most frequently used and loved packages and extensions.

Let's dive right into it.

Laravel Permission #

Everyone who has already worked with Laravel, it will be no suprise that this list includes packages by Spatie. They are well known for their excelent open source packages and the Laravel-Permission package is one of our favorites. Just about every project needs some kind of roles and permissions, so the Permission package is one of our go-to packages to solve this. It's easy to use, yet powerful.

Filament #

One of our newer additions to our tool belt is Filamet. Filament lets you build custom admin panels with ease. With lots of API projects needing only rather simple CRUD interfaces to manage data, filament is an obvious choice. It provides beautiful yet powerful admin panels, tables and forms in no time.

Laravel Eloquent Spatial #

If you have ever worked with geo data, then you know the pain it can be to work with spatial points, lines or areas. It does not have to be this way though. With the Laravel Eloquent Spatial package, working with geo data becomes a joy. With custom types for your migration, matching casts and models, you're all set up to work with any geo data.

Laravel Query Builder #

Another package that we use frequently is Spatie's Laravel-Query-Builder. It's an extension of the Eloquent Query Builder, that lets you easily filter, sort and include queries based on request parameters.

Laravel Sanctum #

Since almost all Laravel projects need some sort of authentication, a lot of our projects use Laravel Sanctum. As a package directly from the Laravel team, it works seamlessly and is easy to install, setup and use. It provides a standard token based-authentication system with everything you'd expect out of the box. Together with Laravel Fortify, which provides the necessary endpoints for login, registration, password reset, etc., you can have a fully featured, secure and well-tested authentication system up and running in no time.

Inertia #

With React being the front-end tool of our choice for most projects, Inertia is our go-to solution for projects that have a backend tightly coupled to a completely customizable front-end. Inertia tremendously speeds up the creation of modern SPAs, by essentially abstracts away the API layer necessary for a frontend and a backend to talk via.

Summary #

The list above is definitely not a complete list by any means. There are many more useful and high-quality packages for the Laravel ecosystem that make developing high-quality applications easier and faster. This is just a small list of packages we at bitperfect like to use and want to mention.

If you want to discuss our choice of packages, have recommendations or just want to talk with us about Laravel, its ecosystem, or any project, please get in touch with us any time. We’re eager to learn new things and improve ourselves.