Are you looking to create an internal admin dashboard for your business? The PHP-based Laravel framework is a great option due to its ease of use and flexibility.
Laravel provides a lot of features out of the box, ensuring you can get a dashboard up and running without too much difficulty. But rather than building completely from scratch, a Laravel admin panel package could save you a lot of time.
The only problem is there are so many options to choose from!
In this article, we'll compare a few of the popular packages so you have a better idea of which one is right for your project.
Types of admin panel packages
A cursory Google search will present you with 20 or more options for Laravel admin panel packages. While they may look similar on the surface, there are broad differences in their purpose and architecture.
In a moment, we'll look at the specific features of a few of the more popular options. But first, let's become aware of the different types so you have a better idea of what to look for.
There are five general categories to consider when choosing an admin panel package for Laravel.
The primary purpose of scaffolding packages is to generate a Laravel boilerplate by programmatically creating the files and config you need to get up and running.
For example, say you want to create an admin panel for your events business. Your key entities are Events, Speakers, and Attendees. A scaffolding package could generate the models, controllers, routes, views, etc., for each of these entities automatically, including the CRUD (Create, Read, Update, Delete) operations.
This will save you the tedium and repetition of creating all of this boilerplate manually. However, it's only useful when you start a project and may be difficult to make changes to if you made a mistake in your initial design.
An example of a scaffolding package is InfyOm Laravel Generator.
Since the Laravel framework follows the MVC (Model-View-Controller) pattern, a popular architecture method for admin panel packages is to supply CRUD interfaces. These are sets of views and controllers which automatically add CRUD logic and UI to existing models.
When done right, this architecture provides a quick way to get a modular admin panel that can easily be added to either a fresh app, or retrofitted to an existing one.
The downside is that if your requirements stray from standard CRUD—for example, if you have complex relationships between models—you may have a difficult time getting it to work how you want. Some of the most popular Laravel admin panel packages fall into this category, including Nova, Backpack, and Orchid.
A visual programming package will allow you to manage your site purely from a GUI. Kind of like a CMS, except you can generally add more detailed site configuration.
Visual programming packages are a good option when your team has non-developers, but these packages are usually limited to generic functionality.
Themes and component libraries
Some admin panel packages focus only on the user interface, i.e., themes and component libraries. This means you don't get assistance on the back end, just the front end.
For example, Creative Tim's Argon admin template doesn't provide any CRUD interfaces or generators but does provide detailed front-end components useful for admin apps—like tables, charts, menus, etc.
This type of package can be useful if you already have a well-established set of controllers for your app or have very detailed requirements for controller logic that you'd prefer to write yourself.
License—paid vs. open source
Another angle of difference for admin panel packages is whether they're paid or free aka open-source. Before you conclude that free is better, consider that packages with a robust business model may be better supported.
If you aim to develop a tool that saves you both money and time, it may make more sense to spend a small amount on a paid license.
That said, some open-source packages are still well maintained due to community interest. Plus, they may have a larger community which can result in more community plugins, forum discussions, etc.
Now that we understand some of the main factors that differentiate Laravel admin panel packages, let's take a look at some of the most popular ones including Nova, Orchid, Backpack, Argon, and InfyOm Laravel Generator.
The official admin panel for Laravel is Nova. It was created primarily by the author of Laravel, Taylor Otwell. Relatively late to the game, it was first released for Laravel 5.6 in 2018.
Nova's architecture is that of a CRUD interface allowing users to administer their database records purely from the UI, with very little configuration.
Nova provides configurable UI features like search, filtering, and custom actions. These generally work out-of-the-box with your existing models, but can also be customized on both the front end and the back end (Nova uses Vue.js for front-end components).
Image from https://nova.laravel.com/
The mechanism by which you add CRUD operations to a model in Nova is called resources. These are controller-like classes that you can create on the command line. For example, to create a Post resource:
php artisan nova:resource Post
A new class will now show up in the app/Nova directory of your project and, better yet, automatically show up in the Nova panel ready for you to work with.
While most Laravel models generally work in Nova without any additional config, you can define specifics like how your fields can be edited.
Another noteworthy feature of Nova is actions. These allow you to perform custom tasks on one or more models.
For example, you might write an action that will extend a user's membership subscription by a month.
You can write the logic for this in your resource file. Now, in the UI, you need to check a row, then select the action from the action dropdown.
- Created by the Laravel team and is consistent with Laravel features and design philosophy
- Low amount of configuration allowing quick integration with existing Laravel projects
- Clean, good looking interface
- Low configuration means it relies on "magic" and can therefore make customization hard
- No free trial - requires a license ($99 for small projects, $199 for large)
Orchid is an open-source CRUD interface package for the Laravel framework that allows rapid, code-driven development of admin panels.
Created primarily by Russian developer Alexandr Chernyaev, Orchid allows you to build admin panels using handy features like a form builder, table filtering and sorting, and text search.
The most striking thing about Orchid is its open-source community which sustains this well-featured product without any paid tier (though you can support Orchid through sponsorship).
Unlike the out-of-the-box magic of Nova, Orchid requires you to create the logic and appearance of your admin panels through classes called screens.
Each screen will define the CRUD interface for a particular model. Data can be drawn from any source, including the Eloquent model, as well as external APIs.
You can also customize the queries and permissions of a screen and the view layer by including layouts and components.
While a little more manual work is required than with Nova, screens are extremely flexible and easy to iterate and customize.
- Free and open-source
- Easily customizable
- Great community and support on GitHub from the author
- Frequently updated
- Doesn't have out-of-the-box magic like Nova - you'll need to write some code to get started
- Documentation could do with improvement
Backpack is a Laravel admin project created by Romanian developer Cristian Tăbăcitu in 2016. It's a strong all-rounder as it includes not only a CRUD interface package, but also an optional visual programming interface, and its own UI framework.
Given this versatility, Backpack is not free. However, a free license can be provided for non-commercial use.
Similar to Nova and Orchid, Backpack's core package provides a CRUD interface for your app's models (called CRUDS). These are sections of your admin panel whose behavior is defined by methods and traits you add to standard Laravel classes.
You can generate CRUDS from the command line, however, Backpack also includes a (paid) tool called Backpack DevTools which provides a web interface to quickly generate them from the UI.
Backpack includes its own UI package called Backstrap. This is based on CoreUI and Bootstrap 4 and will ensure your admin site will look clean and professional without any configuration.
- Excellent documentation, including video tutorials
- Great front end theme
- Free option for non-commercial projects
- Relatively expensive if you want all the tools and options
Unlike the other admin panel packages we've looked at so far, Voyager is a visual builder for your Laravel app allowing you to build from the UI rather than through code.
While this may be perfect for certain kinds of projects, you’re limited to a GUI which is far less flexible than code.
Voyager provides a media manager allowing you to view, edit, and delete files from the UI whether they're in local storage or remote storage like S3.
It has a menu builder allowing you to manage your site's menus as well as a database manager allowing you to add, edit, and delete tables.
Voyager is built around BREAD functionality which allows you to indicate Browse, Read, Edit, Add, and Delete functionality for any table.
- Great for members of your team who have limited programming experience
- Provides free video training courses so you can learn quickly
- Can easily extend and override default controllers
- Fine-grained configuration of Laravel is difficult with a visual builder
- Runs counter to the design of Laravel as a framework as opposed to a CMS
InfyOm Laravel Generator
Every time you set up a Laravel project, you'll need to define the models, controllers, routes, and views of each entity. This can be tedious and take quite a bit of time.
https://github.com/InfyOmLabs/laravel-generator is a tool created by the Indian development company InfyOm. It's made for creating Laravel admin sites that will scaffold all your boilerplate code in a matter of minutes.
To begin a project you need to define your entities and their fields by using the CLI or a JSON file. Once you've done that you can begin the scaffold script like this:
php artisan infyom:scaffold $MODEL_NAME --fieldsFile=mySchema.json
The generator will then attempt to create all the files and content for complete CRUD functionality including:
- Blade templates
- Test cases
With that done, you'll now have a working Laravel admin site configured per your requirements.
- Saves a lot of time
- Scaffolds with best practices like Repository pattern, Swagger annotations, and test cases
- No vendor lock-in
- UI template is not that impressive compared to others
- Not ideal for existing projects
- Not great for rapid prototyping as you need to know your model structures upfront
Argon Laravel Dashboard is a Bootstrap 4-based admin dashboard built for Laravel. The Pro version ($149 license) includes over 100+ handy components like charts, tables, etc.
Argon includes a Laravel backend, but it's quite rudimentary. It doesn't include any special package for CRUD interfaces, scaffolding, or visual programming like we've seen in other projects.
For that reason, I think this product is most suitable for projects where you want to write the controller logic yourself and mostly want help with the view layer.
The Argon Design System is based on Bootstrap 4 and allows easy CSS customization with the Sass preprocessor.
It provides over 100 UI components from buttons and form inputs to charts and image carousels. When you purchase Argon, you can decide which front-end library you want the interactive aspects to be written for, including jQuery, React, Vue, and Svelte.
Argon also provides a Laravel back end with some basic CRUD entities, including users, roles, categories, and items.
- Beautiful design
- Hundreds of front-end components
- Has a free version as well as a Pro version for $149
- Supports multiple frontend libraries
- The Laravel-side of the template is very basic
As you can see, there are a variety of options when it comes to building an admin panel using Laravel. Each tool comes with its own strengths and weaknesses, and the one you choose will depend on the specific requirements of your project as well as the strengths of your team.
You can also easily build an admin panel with Retool. We give you a drag-and-drop interface, integration with a variety of backend services, pre-built UI components, single sign-on support, and a lot more.