Build Custom Admin Panels With Backpack for Laravel
Last updated on by Cristian Tabacitu
Backpack for Laravel is a collection of packages that allows you to create admin panels for any web app quickly. It provides a set of useful packages that will make creating a highly customizable admin panel easier.
The fastest way to see Backpack in action is to browse the demo app, which comes with all the packages preinstalled.
Backpack comes with three different types of packages and most of them are FREE:
-
Core packages
- Backpack CRUD
- Backpack PRO - paid addon
- Ready-made CRUDs
-
Extensions
- BackupManager
- LogManager
- TranslationManager
- LanguageSwitcher
- FileManager
- EditableColumns - paid addon
- ActivityLog
- CalendarOperation - paid addon
- ReviseOperation
- DownloadOperation
- DevTools - paid addon
- Themes (CoreUIv2, CoreUIv4, Tabler)
The Backpack Team maintains all of these addons. This means perfect compatibility and regular updates from one software vendor - no surprise dead packages.
Core Packages
There are two core packages:
- Backpack CRUD which accelerates the process of building CRUDs for admin panels. It provides DataTables integration, create and update forms with more than 28 field types, validation using form requests, multi-language support and much more.
- Backpack PRO is a paid addon, which adds many features to your admin panel: 29 more fields & columns, 10 filters, 5 more operations and a few more widgets.
Ready-Made CRUDs
Backpack provides five already-built CRUDs which target the most commonly used CRUDs in web apps. You can install them right away or use them as examples to build more complex functionality. Let’s take a look:
PermissionManager
An admin panel for managing users, roles and permissions, so you can assign a user multiple roles and permissions.
Settings
An interface for easily changing the application settings. It provides different types of settings such as email, check boxes, text, numbers, etc. Be aware it does not include an interface for adding new settings, so you should add them directly to the database. If you want to retrieve any setting’s value, you can use Config::get('settings.admin_name')
.
PageManager
It’s a CRUD for creating pages for your website using predefined templates with any fields you want and the ability to use various field types. To define your templates, open the app/PageTemplates.php file and add your template.
Now, you can create a new page using our new template like this:
NewsCRUD
It’s a CRUD for quickly creating anything related to news; you create articles, tags and categories with support for nesting categories and reordering them.
MenuCRUD
A CRUD for adding, editing, deleting, reordering, and nesting menu items. It provides the ability to use internal or external links, and you can link to a page from Backpack\MenuManager.
Extension Packages
There are many extension packages for Backpack - let’s take a look at each of them:
BackupManager:
An interface for creating and managing backups for files and database. It supports various drivers like S3, Dropbox, Google Drive, Box, etc. Check out the package readme at Github for more details.
LogManager:
An interface for dealing with Laravel log files. You can download, preview, or delete without accessing your server through SSH.
TranslationManager
Translation Manager provides a simple user interface to help you deal with translations in your Laravel application. Edit, Search and filter all translations directly from the interface present in your application’s language files (including vendor translations).
LanguageSwitcher
This package adds a Language Switcher dropdown to the Backpack Admin Panel, allowing admins to switch the application to their preferred language.
FileManager
Backpack admin interface for files and folder, using barryvdh/laravel-elfinder
.
EditableColumns
This extension offers a few editable columns to update values directly from the list view. When edited, columns will submit an AJAX request to the controller to update the attribute in the database.
ActivityLog
See who changed what and when inside your app. See all the DB changes your users have done. This package adds a web interface for spatie/laravel-activitylog
.
CalendarOperation:
Add a Calendar view to your CRUD; let admins list, search and preview db entries on a calendar, as well as make quick edits with drag & drop. Save many hours integrating FullCalendar.
ReviseOperation
This extention adds an interface for venturecraft/revisionable
to your Backpack CRUDs so that the admin can see the changes that have been made to an entry and undo changes.
Backpack MedialibraryUploaders
If your project uses Spatie Media Library, this addon provides the ability for Backpack fields to easily store uploaded files as media (by using Spatie Media Library).
DownloadOperation
This package provides a way to add "Download" buttons to CRUDs to download PDFs related to your entries, using spatie/laravel-browsershot
. OR simply override a function to return file in the format of your choice.
Backpack DevTools
If you wish a web interface to do the above - generate CRUD, Migration, Model, Seeder and Factory right from your browser window. Forget about the command line. Forget about migration types. Go from idea to full CRUD in seconds using Backpack DevTools.
Backpack Themes Support
Yes, Backpack supports themes for the admin panel. You can choose an existing one or create your own. Currently, Backpack v6 provides three themes:
- backpack/theme-tabler - uses Tabler, the excellent Bootstrap 5 HTML template;
- backpack/theme-coreuiv2 - uses Backstrap, which is a CoreUI v2 fork;
- backpack/theme-coreuiv4 - uses CoreUI v4;
Each theme has its PROs and CONs, for example:
- Tabler offers 300+ beautiful HTML components;
- CoreUIv2 provides Internet Explorer support;
Community Addons
Backpack has a growing community that also publishes FREE addons. Some good examples are:
- https://github.com/maurohmartinez/impersonate-users-backpack-laravel
- https://github.com/redsquirrelstudio/laravel-backpack-import-operation
Backpack Pricing
Backpack has several tiers of pricing. You can save 20% off using the coupon LARAVELNEWS
.
That’s it; if you want to create admin panels for any web app quickly, try Backpack for Laravel. For more details about usage, options and customization, check out the documentation. To learn how you can generate a complete CRUD in one command, check out this article.