Lots of people ask me frequently, "Which are the laravel packages that you use in almost all projects?" when we meet in Meetup or any other events regardless of its online or physical events.
Let me describe today some of the packages that we almost use in all of the projects.
We are working in Laravel for almost 7+ years and in these years we have used lots of packages, some from the community and some of our own.
I am categorizing these into 2 categories.
- Must used packages
- Common Need/Functionality specific packages
Must used packages
These are the packages which are must be included in all of our projects. No Excuses.
Laravel exposes a lot of magic methods and properties. IDE Helper is a very good package when it comes to auto-complete those properties and methods. Even it does an amazing job while refactoring properties or methods of the model.
The second one is from the same author, debugbar helps to debug the request in terms of the number of queries fired, time taken by each query, number models retrieved from db, time taken by each request, and much more.
Laravel Microscope improves the readability of your code. Early returns, unnecessary else statements, and many more. so your code looks clean and efficient in terms of execution as well.
One of the problems that we face is, missing eager loading. In ongoing development, sometimes we add relationships objects in the loops, and then laravel fires tons of queries to the database. Laravel Query Detector detects that and gives warning while development environment.
No application can be ever built without few CRUDs. CRUDs are essential in almost all web applications. Also, APIs of that CRUDs are essentials while building a backend for Mobile or Frontend apps. Laravel Generator is our own developed package that we use in all of the applications to make the CRUD building process faster. It can be used with two themes right now, AdminLTE and CoreUI. But it's also frontend framework agnostic.
Common Need/Functionality specific packages
These are the packages that are used when we particularly need that kind of functionality in the application.
- Single Page application without JS - Livewire
- Role Permissions - spatie/laravel-permission
- Media Management - spatie/laravel-medialibrary
- Full Text Search - Laravel Scout
- Payment - Laravel Cashier
- Frontend Scaffolding - Laravel UI AdminLTE & Laravel UI CoreUI
- APIs token management - Laravel Sanctum
- Realtime Apps - Laravel Echo with Pusher & Laravel Echo Server
- One Signal - Shailesh OneSignal
Will keep this list updating.