Build Custom Admin Panels With Backpack for Laravel

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:

  1. Core packages
  2. Ready-made CRUDs
  3. Extensions

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:

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:

Each theme has its PROs and CONs, for example:

Community Addons

Backpack has a growing community that also publishes FREE addons. Some good examples are:

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.


The post Build Custom Admin Panels With Backpack for Laravel appeared first on Laravel News.

Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.