I'm sharing my hands-on tests of installing and making initial modifications to various admin panels.
Companies often need to develop internal administrative systems: dashboards, CRUD panels, reports, notifications, and other management tools. The reasons vary. Even though the initial goal is often to "build something quickly" without reinventing the wheel, the work requires skills, time, and solid architecture.
The Dilemma: What to Use to Build It?
I tested several open-source products to evaluate the possible options available on the market. In this article, I share my direct experience of installing and modifying some of the most popular open-source products.
Laravel-based Solutions
These are the descriptions and considerations found online:
Filament
Excellent if you're already using Laravel. Filament is a modern admin panel that allows you to create CRUD interfaces, tables, charts, and dashboards with just a few lines of code. It's built around the TALL stack (Tailwind, Alpine, Laravel, Livewire).Backpack for Laravel
A simpler alternative to Filament, based on Bootstrap. Also great for developers with limited experience in Laravel.MoonShine
A lightweight and quick-to-configure admin panel. Promises a working CRUD setup in less than 5 minutes. Ideal for getting started quickly.
My experience: I only tested Filament among these. It has extensive documentation. However, navigating Laravel installations for someone who doesn't know it requires some time to get oriented (it took me half an hour to install it, but obviously those who know it do everything in 5 minutes). I encountered some silly problems, but perhaps the documentation, although extensive, wasn't that clear. First you create the Laravel project, then you add Filament - it's obvious, but in haste I had gotten the order wrong. Additionally, the guide assumed you needed to use artisan serve. With regular Apache, the login appeared but wouldn't let you in, and I initially thought the error was related to file permissions. In the end, it took me three-quarters of an hour to access it. To create a "hello world" page, after consulting the documentation I had to ask an AI for help, and thanks to this I succeeded in half an hour, but honestly I don't feel like I understood the structure and how to modify it (and I had even taken a brief Laravel course some time ago). I had to modify 5 different files. The impression is that if you're not a Laravel expert, you risk not being able to separate the code correctly, creating a structure that's difficult to maintain over time. After an hour and a half I have an installation still without user management.
Specialized Frameworks
4. UserFrosting
A framework built specifically for user management, with roles, permissions, modules, and ready-to-use dashboards.
My experience: The shell installation is well done, but with some small naivety: on the first attempt I set a password that was too short and the system crashed. On the second attempt, everything went well. In 8 minutes I had the server ready and managed to log in. Very nice, although the tables are strangely slow to load. It has everything necessary: users, activities, roles, permissions, and groups. The code is clear, but the documentation a bit less so I had to consult Claude to understand how to create a page. However, after finishing the work I understood quite well how to intervene in the code. Unfortunately, it seems somewhat outdated now. It uses Bootstrap v3.4.1. Total test time: 45 minutes.
5. UserSpice
A lightweight solution for basic login, roles, and simple CRUD operations.
My experience: You download the package and install it by opening it from the browser. I admit it's the system I prefer: clean and clear interface, 5 minutes and I'm in. In just 15 minutes I created a new widget by myself. The structure is very well done. After just 20 minutes, in addition to the widget I also created a "hello world" page. Very complete and mature. It doesn't seem to use PSR, but I must say you don't miss it. Well updated, very complete with 57 initial tables. Particular is that on GitHub there's no code present, only documentation and a hotfix folder.
6. Bonfire (CodeIgniter 4)
A starter kit for CodeIgniter 4, complete with everything necessary to start an administrative app: login, user management, roles, dashboard, logs, settings.
My experience: I had to repeat the installation 3 times: the first time I skipped a command (but the documentation misled me), the second time I had a problem with localhost ports (I think a spark bug). The third time it finally went well and I was able to access the administration. I was happy to have persisted because it's the administrative system I liked most. Essential: User, settings, and tools. What you need to start developing. The user tab is complete: in addition to basic data, we find permissions, access logs, and the ability to change the password. Underneath there's CodeIgniter which is a very solid framework. The settings are particularly well crafted!
7. Milk Admin
An admin panel designed for creating your own administrative applications.
My experience: This entire test was done to see the various online products and compare them with the project I'm developing. Milk Admin is a solution aimed more at development like Bonfire or Filament, but which uses an approach close to UserSpice. It installs in 5 minutes from browser and not from shell and doesn't require particular knowledge to start modifying it. It's modular and user and permission management is limited to the essentials to make it as easy possible. It allows you to manage CRUD, APIs, cron jobs, and the product installation update flow.
Conclusion
If you're already an expert in a framework, it obviously makes sense to use the tools of that framework, but otherwise the learning curve of Laravel or CodeIgniter can be too steep, especially if you don't plan to have continuous development in that area. In this case, solutions like UserSpice or MilkAdmin can be more immediate and practical.
Top comments (0)