10+ Laravel Packages For Building Laravel Apps
17 April 2019Here are 10+ packages for building Laravel Apps.
Why do I create this list? I’m a Lazy Developer, member of few Laravel Groups on Facebook and common question is what packages to use. I’m lazy I don’t want to build all thing from scratch
Why I don’t include admin packages? They will be covered in another post.
1. Modules
If You are building a bigger app than Hello Word. Start working with modules. Separating application function in modules is very recommended. Keep module entities, controllers, views, routes, configs etc in one place. What else? Later it’s easier to transfer modules between apps.
Advantages
- Code encapsulation
- Order in the code
- Easier code transfer between apps
- Code Generation — module, controllers, entities etc.
Where to get it? https://github.com/nWidart/laravel-modules
2. Spatie permissions
If You don’t know Spatie, You should start checking them immediately! Great company. Spatie Roles & Permission is one of there best permissions package.
Advantages
- Roles
- Permissions
- Direct Permissions
- Middleware
- Multiple Blade Directives
- Artisan commands
Where to get it? https://github.com/spatie/laravel-permission
3. Laravel Datatables
If You use DataTables and you are building yourself javascript, ajax, routes, database queries, filters, search etc. Trust me. there is an easier solution.
Advantages
- Easy to use
- DataTable Service
- Creates database queries for You
- Generates Javascript
- Multiple customisations
Where to get it? https://github.com/yajra/laravel-datatables
4. Laravel 5 Form Builder
I really, really don’t like to mix forms with HTML. Laravel Form Builder gives You ability to separate from definition from HTML view.
Advantages
- Easy to use
- Forms as objects
- Multiple form fields supported
- Child forms
- Easy to create a custom form fields
Where to get it? https://github.com/kristijanhusak/laravel-form-builder
5. Easy flash notifications
After saving data from the form I like to redirect the user to list page, edit view or show view. With this package, i can easily notify user about success, warning or error.
Advantages
- Easy to use
- Multiple flash options (Success, Error, Warning, Overlay, Modal etc)
- View customisation
Where to get it? https://github.com/laracasts/flash
6. Laravel Menu package
If You application required to have easily changeable menu elements, base on roles and permissions this one is for You.
Advantages
- Easy to use
- Shared across views
- View customisation
- Can populate data from the database
- Cachable
Where to get it? https://github.com/spatie/laravel-menu
7. Laravel Activity Log
Most of data administrators want to have all information about users activity. This package allows to easily track what and when Your users are creating, updating entities. Plus — this package keeps information about changes between entity versions — just wow.
Advantages
- Easy to implement on Entity.
- Keeps all info about create and update with times and users.
- Can logs custom information (login, logout etc)
Where to get it? https://github.com/spatie/laravel-activitylog
8. Laravel Js Validation
I really like this one. Automatic front validation base on request object sound good right? It’s always better to write less code — lazy way.
Advantages
- Generates Front-End validation base on request obejct.
- No Javascript coding required
- Ajax validation supported (Unique, Exists, Custom Validation Rules
- Translations
Where to get it? https://github.com/proengsoft/laravel-jsvalidation
9. Persistent settings
If Your app has multiple settings options (theme, logo, company settings, API settings, defaults etc ). This package allows saving key => value in database. Later is super easy to use them via helpers.
Advantages
- Cached
- Can be Encrypted
- Settings can have context (User for example)
Where to get it? https://github.com/edvinaskrucas/settings
10. Multi-tenant
If You are building SAAS application where every company has it’s own database, domain, subdomain and You later wan’t keep all that in one code repo. This package is for You.
Advantages
- Multiple databases
- Multiple domains and subdomains
- Generates apache and nginx configuration files
- Supports Queues
- Supports separation of files storage
Where to get it? https://github.com/hyn/multi-tenant
Bonus
11. Laravel IDE Helper — Generates PHPDock comments for models, facades, Database Entity columns autocomplete for PHPStorm. Who would not want it?
https://github.com/barryvdh/laravel-ide-helper
12. Multiple Helpers for Arrays, Strings, Objects etc. (For example easily group array by value, )
https://github.com/letsdrink/ouzo-goodies
13. Auto transfer PHP Array to Javascript objects