PHPackages                             digiants-agency/fastadminpanel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. digiants-agency/fastadminpanel

ActiveLibrary[Admin Panels](/categories/admin)

digiants-agency/fastadminpanel
==============================

Fast admin panel generator

v3.1.0(2mo ago)10133GPL-3.0-onlyCSS

Since Sep 12Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/digiants-agency/fastadminpanel)[ Packagist](https://packagist.org/packages/digiants-agency/fastadminpanel)[ RSS](/packages/digiants-agency-fastadminpanel/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (6)Versions (40)Used By (0)

Contents
========

[](#contents)

- [Intro](#intro)
- [Getting started](#getting-started)
- [Concept](#concept)
- [Usage CRUD](#usage-of-crud-generator)
- [Usage Static content generator](#usage-of-static-content-generator)
- [Auto documentation](#auto-documentation)
- [Dropdown menu](#dropdown-menu)
- [Multilanguage](#multilanguage)
- [How to](#how-to)
    - [Open dev menu](#open-dev-menu)
    - [Change permissions](#change-permissions)
    - [Add custom page](#add-custom-page)
    - [Override field template](#override-field-template)
    - [Override CRUD service](#override-crud-service)
    - [Add custom api validation](#add-custom-api-validation)
    - [Add custom api filter](#add-custom-api-filter)

Intro
=====

[](#intro)

### Open-source free FastAdminPanel CRUD generator

[](#open-source-free-fastadminpanel-crud-generator)

The open-source headless CMS made with Laravel and Vue.js, flexible and fully customizable.

 [![Latest Stable Version](https://camo.githubusercontent.com/ed3de46dd00546f7478833de3142ddc3a066896127c24e0efd3992bd2a85572c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f64696769616e74732d6167656e63792f6661737461646d696e70616e656c)](https://packagist.org/packages/digiants-agency/fastadminpanel)

FastAdminPanel is a free and open-source headless multilangual CMS enabling you to manage any content.

### Multilanguage CRUD generator with relations (15 field types) + models + migrations + documented api, static content generator

[](#multilanguage-crud-generator-with-relations-15-field-types--models--migrations--documented-api-static-content-generator)

- **Modern Admin Panel**: Elegant, entirely customizable and a fully extensible admin panel.
- **Customizable**: You can quickly build your logic by fully customizing APIs, routes, or plugins to fit your needs perfectly.
- **Blazing Fast and Robust**: Built on top of Laravel and Vue.js, FastAdminPanel delivers reliable and solid performance.
- **Front-end Agnostic**: Use any front-end framework (React, Next.js, Vue, Angular, etc.), mobile apps or even IoT.

You can find some screenshots below.

Feel free to contact me:

Getting Started
===============

[](#getting-started)

### ⏳ Installation

[](#-installation)

- Install Laravel first

```
composer create-project laravel/laravel="12.*" PROJECT_NAME
```

- Go inside the folder

```
cd PROJECT_NAME
```

- Use the composer to install the FastAdminPanel project

```
composer require digiants-agency/fastadminpanel
```

- Configure DB and APP\_URL in the .env file
- Run the install command

```
php artisan fastadminpanel:install
```

- Publish the packages config and assets (below [laravel filemanager](https://github.com/UniSharp/laravel-filemanager) installation)

```
composer require intervention/image-laravel
php artisan vendor:publish --tag=lfm_config
php artisan vendor:publish --tag=lfm_public
```

- In "config/lfm.php"

```
change line: ('disk' => 'public',) to ('disk' => 'lfm',)

// add category of folder in folder_categories (48 line)
'admin' => [
    'folder_name'  => 'vendor/fastadminpanel/icons',
    'startup_view' => 'list',
    'max_size'     => 50000, // size in KB
    'valid_mime'   => [
        'image/jpeg',
        'image/pjpeg',
        'image/png',
        'image/gif',
        'image/svg+xml',
        'application/pdf',
        'text/plain',
    ],
],

```

- Add disk "config/filesystems.php"

```
// add this config beginning from the line 44:
'lfm' => [
    'driver' => 'local',
    'root' => public_path(),
    'url' => env('APP_URL'),
    'visibility' => 'public',
],

```

Enjoy 🎉

Concept
=======

[](#concept)

- You can generate CRUDs with this package. The package also automatically creates model files with relations and migrations (they are also added when updating or deleting CRUDs).
- Data about dropdown list, permissions and CRUDs are stored in json files, path = "/storage/app/ENTITY.json" (so this information will end up on the git).
- You have the ability to create “single” entities to manage static content.
- The admin panel is fully multi-lingual. CRUD multilingualism is represented as identical tables in different languages, e.g. post\_en, post\_de. This approach [denormalizes](https://en.wikipedia.org/wiki/Denormalization) the database (increasing the amount of space occupied), but makes a very simple approach to manage it. The multilanguage model is very simple and is represented by the MultilanguageModel class.
- The admin panel is written without using npm or other such technologies, allowing it to be edited without reassembling.

Usage of CRUD generator
=======================

[](#usage-of-crud-generator)

- Go to
- Fill the fields:
    - **CRUD name** - the table name for the DB
    - **CRUD title** - the title for the menu
    - **Is dev** - the option to hide CRUD from menu (see more [Open dev menu](#open-dev-menu))
    - **Multilanguage** - the option to enable multilanguage (see more [Multilanguage](multilanguage))
    - **Is docs** - the option to show this CRUD in the auto generated documentation (see more [Documentation](#documentation))
    - **Show statistics** - the option to show this CRUD in the dashboard
    - **Model** - auto generated (there is no need to fill on creation) path to model. If you change path to generated model, you must change this field
    - **Default order** - field database title to set default sort order in the list of the entities
    - **Sort** - sort order in the menu
    - **Dropdown** - set parent menu item (see more [Dropdown menu](dropdown-menu))
    - **Icon** - set icon for the menu
    - **Fields** - set of fields that appear in your CRUD (15 types of the fields)
- Press the button "Create"
- Now you can create Controller and use generated Model in it. Or you can go to /fapi/{crud\_slug}

Notes:

- All the data about CRUDs is stored in /storage/app/cruds.json (so this information will end up on the git)
- If you want to move the generated model from the default folder - you need to edit the **Model field** in the model in CRUD properly.
- If you **DON'T** want to edit the model automatically when you change the CRUD - you just need to remove the **Model field** in the CRUD (but this will break /fapi/{model}/{id}).
- To add [permissions](#change-permissions) for the automatic API, you need to go to /admin/settings
- There is an option in /config/fap.php - "migrations\_mode". It determines how the admin panel handles migrations:
    - "dev":
        - if you delete CRUD - old migration will be DELETED
        - if you update CRUD - old migration will be OVERWRITTEN
    - "prod":
        - if you delete CRUD - new migration will be ADDED
        - if you update CRUD - new migration will be ADDED

You can see the examples below:

- Creation:

[![crudEditImage](https://camo.githubusercontent.com/bd078528269417446c5880d5783d4bc211078a892420fbcbf9a90f169bcd312f/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f637275642e706e67)](https://camo.githubusercontent.com/bd078528269417446c5880d5783d4bc211078a892420fbcbf9a90f169bcd312f/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f637275642e706e67)

- List:

[![crudListImage](https://camo.githubusercontent.com/2289c36897145f201f37c4c0b88bf48cf9e98a193e76fa9e56ab403973b9dfbf/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f637275642d6c6973742e706e67)](https://camo.githubusercontent.com/2289c36897145f201f37c4c0b88bf48cf9e98a193e76fa9e56ab403973b9dfbf/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f637275642d6c6973742e706e67)

- Edit:

[![crudEntityImage](https://camo.githubusercontent.com/818a25a01748c858673965da0ac40bd4351850388964c32a97de2d86e80aed9b/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f637275642d656469742e706e67)](https://camo.githubusercontent.com/818a25a01748c858673965da0ac40bd4351850388964c32a97de2d86e80aed9b/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f637275642d656469742e706e67)

Usage of Static content generator
=================================

[](#usage-of-static-content-generator)

- Go to
- Fill the fields:
    - **Single name** - inner ID for the API and usage in the code
    - **Single title** - title for the menu
    - **Sort** - sort order
    - **Dropdown** - parent menu item (see more [Dropdown menu](#dropdown-menu))
    - **Icon** - icon for the menu
- Press the button "Create"
- Now you can use it in the code like that:

```
use Single;

Single::get('your_slug_here');
```

- Or you can go to /fapi/singles/{your\_slug\_here}. Do not forget about [permissions](#change-permissions)

You can see the examples below:

- Creation:

[![singleCreateImage](https://camo.githubusercontent.com/b7cd2a6742f63510014312aac6c0f2832746b2659570231dea840e8856faab00/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f73696e676c65732d6372656174652e706e67)](https://camo.githubusercontent.com/b7cd2a6742f63510014312aac6c0f2832746b2659570231dea840e8856faab00/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f73696e676c65732d6372656174652e706e67)

- Edit:

[![singleEditImage](https://camo.githubusercontent.com/e322e82e9da00bfce8ec35da7f95e62470b9ee5855bf0a9f12212c117ce781a1/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f73696e676c65732d656469742e706e67)](https://camo.githubusercontent.com/e322e82e9da00bfce8ec35da7f95e62470b9ee5855bf0a9f12212c117ce781a1/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f73696e676c65732d656469742e706e67)

Auto documentation
==================

[](#auto-documentation)

Every CRUD created that has “Is docs” = Yes is displayed in the documentation. Also all static content “single” is displayed in the documentation.

- Documentation can be viewed at .
- If you want to add your own documentation, go to /app/FastAdminPanel/Controllers/DocsController.php. There's already an example of how to write it

You can see the example of the documentation below:

[![imageDocs](https://camo.githubusercontent.com/cd90b9ba9d61f47436beaf26c943cf942c397d8e0819d99f678811cf6975c2a9/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f646f63732e706e67)](https://camo.githubusercontent.com/cd90b9ba9d61f47436beaf26c943cf942c397d8e0819d99f678811cf6975c2a9/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f646f63732e706e67)

Dropdown menu
=============

[](#dropdown-menu)

You can add a parent menu item for the singles and CRUDs you create.

- Go to:
- Add dropdowns
- Go to CRUD or single (static content generator) and add parent

You can see the example of the dropdown below:

[![imageDropdown](https://camo.githubusercontent.com/e76ac00e15e6f0c09d007ebd7bd1958cb942ed6f7d79dfef3d77cfec2526f7d8/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f64726f70646f776e2e706e67)](https://camo.githubusercontent.com/e76ac00e15e6f0c09d007ebd7bd1958cb942ed6f7d79dfef3d77cfec2526f7d8/68747470733a2f2f64696769616e74732e636f6d2e75612f6661737461646d696e70616e656c2f64726f70646f776e2e706e67)

Multilanguage
=============

[](#multilanguage)

- The admin panel is fully multi-lingual. CRUD multilingualism is represented as identical tables in different languages, e.g. post\_en, post\_de. This approach [denormalizes](https://en.wikipedia.org/wiki/Denormalization) the database (increasing the amount of space occupied), but makes a very simple approach to manage it. The multilanguage model is very simple and is represented by the MultilanguageModel class.
- To make the custom model multilingual - just inherit the App\\FastAdminPanel\\Models\\MultilanguageModel class.
- There is "Multilanguage" select in CRUD to make it multilangual.
- Each field has a Lang column to make it multi-lingual. If Lang == “common”, then when saving the field - the value will be updated in all the tables (for example posts\_en, posts\_de, posts\_fr). If Lang == “separate”, then when saving the field - the value will be updated in the current language table only (for example posts\_en).
- You can edit languages at .
- The language of the admin panel is represented in the “admin\_lang\_tag” column of the User.
- There is a class Lang. It has several useful methods:

```
use Lang;

Lang::count(); // languages count
Lang::all(); // get all languages
Lang::get(); // get current language tag
Lang::is($langTag); // check language tag
Lang::main(); // get main language tag
...

```

How to
======

[](#how-to)

Open dev menu
-------------

[](#open-dev-menu)

- By default, internal settings for permissions, languages, crud, single and dropdown are hidden.
- All hidden menu items are displayed if APP\_DEBUG=true in the .env file.
- You can also hide CRUDs ("Is dev" option).
- To show hidden menu items, you need to add "?dev=" to your address, for example: .
- To change query parameter, go to: /config/fap.php

Change permissions
------------------

[](#change-permissions)

- Go to  to add roles.
- Each role has the “Is admin” option that allows the role to log into the admin panel.
- Go to  to change role permissions.
- Warning: be careful with relations. Someone can use a GET method with a relation (and the relation will not be checked for permission).
- Superadmin role is: Entities = all, All = true.

Add custom page
---------------

[](#add-custom-page)

- The example below exists, but it is commented out ().
- Create Vue component. For example:

```
/views/fastadminpanel/pages/admin/pages/custom.blade.php

```

- Include your page in the app. The app is here:

```
/views/fastadminpanel/layouts/app.blade.php

```

- Place your include after the dashboard:

```
@include('fastadminpanel.pages.admin.pages.dashboard')
@include('fastadminpanel.pages.admin.pages.custom')

```

- Add Vue route in the app after the dashboard:

```
{
  path: '',
  name: 'home',
  component: dashboardPage,
},
{
  path: 'custom',
  name: 'custom',
  component: customPage,
},

```

- Add menu item to the sidebar (after menu v-for). The sidebar is here:

```
/views/fastadminpanel/pages/admin/parts/sidebar.blade.php

```

Override field template
-----------------------

[](#override-field-template)

- Create your field by this rule and it will be applied accordingly:

```
/views/fastadminpanel/pages/admin/fields/custom/FIELD_TYPE-TABLE_NAME-DB_TITLE.blade.php

```

- FIELD\_TYPE - the type of the field, for example: ckeditor, date etc.
- TABLE\_NAME - the name of the CRUD table (place the word "all" for all tables)
- DB\_TITLE - the title in the database of the field (place the word "all" for all fields)

Some examples already exist in the "custom" folder.

Override CRUD service
---------------------

[](#override-crud-service)

- Add your own CRUD service to override some methods: index, show, store, update, copy, destroy.
- Create your service here (it will be applied automatically):

```
/app/FastAdminPanel/Services/Crud/Entity/Custom/MethodTableService.php

```

- Method can be: index, show, store, update, copy, destroy.
- Table: as you named it in the database.
- One such service already exists as the example. The example below overrides “show” method, “products” table.

```
/app/FastAdminPanel/Services/Crud/Entity/Custom/ShowProductsService.php

```

Add custom api validation
-------------------------

[](#add-custom-api-validation)

- Add your own API validation for the methods: index, show, store, update, destroy.
- Create your validator here (it will be applied automatically):

```
/app/FastAdminPanel/Api/Validation/MethodTableValidation.php

```

- Method can be: index, show, store, update, destroy.
- Table: as you named it in the database.
- One such validator already exists as the example. The example below overrides “store” method, “callbacks” table.

```
/app/FastAdminPanel/Api/Validation/StoreCallbacksValidation.php

```

Add custom api filter
---------------------

[](#add-custom-api-filter)

- Add your own API filter to change data or do something (send email after creation, set user id etc) for the methods: index, show, store, update.
- Create your filter here (it will be applied automatically):

```
/app/FastAdminPanel/Api/Filter/MethodTableFilter.php

```

- Method can be: index, show, store, update.
- Table: as you named it in the database.
- One such filter already exists as the example. The example below overrides “store” method, “callbacks” table.

```
/app/FastAdminPanel/Api/Filter/StoreCallbacksFilter.php

```

###  Health Score

45

—

FairBetter than 93% of packages

Maintenance85

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 55.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~27 days

Recently: every ~33 days

Total

34

Last Release

75d ago

Major Versions

v1.1.2 → v2.0.02024-07-27

v2.0.18 → v3.0.02025-03-11

### Community

Maintainers

![](https://www.gravatar.com/avatar/6094c4a949086da7d6ef535147a72594bd53eaf13756e1561fc3def082187df3?d=identicon)[digiants-agency](/maintainers/digiants-agency)

---

Top Contributors

[![digiants-agency](https://avatars.githubusercontent.com/u/52928468?v=4)](https://github.com/digiants-agency "digiants-agency (221 commits)")[![padigiants](https://avatars.githubusercontent.com/u/77732628?v=4)](https://github.com/padigiants "padigiants (125 commits)")[![brightsvl](https://avatars.githubusercontent.com/u/24595303?v=4)](https://github.com/brightsvl "brightsvl (32 commits)")[![dashavolos](https://avatars.githubusercontent.com/u/85729118?v=4)](https://github.com/dashavolos "dashavolos (10 commits)")[![rsdigiants](https://avatars.githubusercontent.com/u/77732361?v=4)](https://github.com/rsdigiants "rsdigiants (2 commits)")[![dashaknife](https://avatars.githubusercontent.com/u/62902599?v=4)](https://github.com/dashaknife "dashaknife (2 commits)")[![Nokerr](https://avatars.githubusercontent.com/u/101651603?v=4)](https://github.com/Nokerr "Nokerr (2 commits)")[![RomanSulzhyk](https://avatars.githubusercontent.com/u/33731823?v=4)](https://github.com/RomanSulzhyk "RomanSulzhyk (2 commits)")[![AndrianaKyrlyk](https://avatars.githubusercontent.com/u/169891321?v=4)](https://github.com/AndrianaKyrlyk "AndrianaKyrlyk (1 commits)")

### Embed Badge

![Health badge](/badges/digiants-agency-fastadminpanel/health.svg)

```
[![Health](https://phpackages.com/badges/digiants-agency-fastadminpanel/health.svg)](https://phpackages.com/packages/digiants-agency-fastadminpanel)
```

###  Alternatives

[arbory/arbory

Administration interface for Laravel

4752.8k3](/packages/arbory-arbory)[andreaselia/analytics

Analytics for the Laravel framework.

19719.5k2](/packages/andreaselia-analytics)[wutongwan/lego

Yet another CRUD widgets for Laravel

1107.7k](/packages/wutongwan-lego)[bedita/manager

BEdita Manager - official admin webapp for BEdita4 API

131.0k](/packages/bedita-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
