PHPackages                             nahansans/adminportal - 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. nahansans/adminportal

ActivePackage[Admin Panels](/categories/admin)

nahansans/adminportal
=====================

A Simple CRUD Generator - Automatically generate simple CRUD modules.

v3.0.3(10mo ago)00MITPHP ^8.2

Since Jun 24Pushed 8mo agoCompare

[ Source](https://github.com/nahansans/adminportal)[ Packagist](https://packagist.org/packages/nahansans/adminportal)[ RSS](/packages/nahansans-adminportal/feed)WikiDiscussions v1 Synced 1mo ago

READMEChangelogDependencies (1)Versions (14)Used By (0)

⚡️ AdminPortal for Laravel - A Simple CRUD Generator ⚡️
-------------------------------------------------------

[](#️-adminportal-for-laravel---a-simple-crud-generator-️)

Automatically generate simple CRUD module

[![Latest Stable Version](https://camo.githubusercontent.com/114bfd3c9c57bb674d53d9dafacc3083a3a635abb52aa46dd9ef5a23b7f77664/68747470733a2f2f706f7365722e707567782e6f72672f6c61696c696c6d61686675642f61646d696e706f7274616c2f762f737461626c65)](https://packagist.org/packages/laililmahfud/adminportal)[![Total Downloads](https://camo.githubusercontent.com/2f9c59862e359eea615faa9f79d5c329902902106b189cafde05de45860294bd/68747470733a2f2f706f7365722e707567782e6f72672f6c61696c696c6d61686675642f61646d696e706f7274616c2f646f776e6c6f616473)](https://packagist.org/packages/laililmahfud/adminportal)[![License](https://camo.githubusercontent.com/ca6520951e21cb457d0428492cf0d523146466b8e0ecbc37ffaa9c7164102f96/68747470733a2f2f706f7365722e707567782e6f72672f6c61696c696c6d61686675642f61646d696e706f7274616c2f6c6963656e7365)](https://packagist.org/packages/laililmahfud/adminportal)[![Required Laravel Version](https://camo.githubusercontent.com/3bfc69cbdc7bce09f83a86fb4104f8ef91b43183d5ff5de7c7d7383ee2c6db15/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d254532253839254135253230382e302d6666326432303f7374796c653d666c61742d737175617265266c6f676f3d6c61726176656c)](https://packagist.org/packages/laililmahfud/adminportal)[![Required PHP Version](https://camo.githubusercontent.com/38b184269bd18095cbe79fd83c800af14b08cea56be8216dfc6cb439bf3e932a/68747470733a2f2f706f7365722e707567782e6f72672f62617272797664682f6c61726176656c2d64656275676261722f726571756972652f706870)](https://packagist.org/packages/laililmahfud/adminportal)

🔍 About AdminPortal
-------------------

[](#-about-adminportal)

Adminportal is a simple crud module generator for Laravel by making it easy for developers to customize the appearance of the generated modules. By providing several built-in features that will make it easier and faster for developers to build applications.

🔑 License
---------

[](#-license)

Adminportal is under [MIT License](https://opensource.org/license/mit/)

📖 Table Of Contents
-------------------

[](#-table-of-contents)

- [Installation](#%EF%B8%8F-installation)
    - [Requirement](#requirement)
    - [Installation Instruction](#installation-instruction)
- [Usage](#-usage)
    - [Useful Commands](#useful-commands)
    - [Global Helper Functions](#global-helper-functions)
- [Configuration](#-configuration)
    - [User Management](#user-management)
    - [Role &amp; Permission](#role--permission)
    - [Application Configuration](#application-configuration)
- [Create Module](#-create-module)
    - [New CRUD Module](#new-crud-module)
    - [New Static Module](#new-static-module)
- [CRUD Controller Configuration](#-crud-controller-configuration)
- [Form Component](#-form-component)
    - [input (time,date,email,number)](#input-timedateemailnumber)
    - [checkbox](#checkbox)
    - [image](#image)
    - [radio](#radio)
    - [select](#select)
    - [wysiwyg](#wysiwyg)
    - [password](#password)
    - [textarea](#textarea)
- [Question](#-question)

⬇️ Installation
---------------

[](#️-installation)

### Requirement

[](#requirement)

- Web Server
    - Nginx
    - Apache
- Database that laravel supports, actually can be :
    - MySQL
    - Postgres
    - SQLite
    - SQL Server
- Composer
- Laravel ^8.0
- PHP ^8.0

### Installation Instruction

[](#installation-instruction)

1. Please make sure you have install laravel project, please follow
2. Open the terminal, navigate to your laravel project directory and ```
    composer require laililmahfud/adminportal
    ```
3. Setting the database configuration, open .env file at project root directory
4. Run the following command at the terminal ```
    php artisan adminportal:install
    ```
5. After the installation process is complete, you will be given an account to enter the backend page
    - default email :
    - default password : P@ssw0rd
    - backend url : /admin
6. Enjoy Your Code 🧑‍💻

👋 Usage
-------

[](#-usage)

### Useful Commands

[](#useful-commands)

You can run 👇

\#Artisan CommandUsage1`php artisan adminportal:api-key`Generate api and jwt key2`php artisan adminportal:migration`Migrate admin portal table requirement### Global Helper Functions

[](#global-helper-functions)

\#FunctionUsage1`portalconfig`Function to get adminportal config2`admin`Return current users session data3`itcan`The function of checking user role permissions
🎮 Configuration
---------------

[](#-configuration)

### User Management

[](#user-management)

By default the user login table uses the admin cmd table and when you enter the backend with the default user given, there will be a menu
➡️ User Management ➡️ User Admin
In that menu you can add new user data according to your needs.

### Role &amp; Permission

[](#role--permission)

➡️ User Management ➡️ Roles &amp; Permission
By default you will be given the default Super Admin role with the super admin yes flag which can access the entire module.

### Application Configuration

[](#application-configuration)

You can see application settings in the config/adminportal.php file List of application configuration

- `admin_path` : This will be used to register the route prefix to access the backend page
- `app_icon` : Path of icon asset, this will be used for the login page logo as well as the backend sidebar
- `app_favicon` : This is application favicon path
- `default_avatar` : This will be used to be the default avatar profile of the application
- `login` : Configuration for login view
    - `view_path` : Base resource path login view
    - `banner` : Image banner for login view
    - `banner_title` : Banner title for login view
    - `banner_description` : Banner description for login view
    - `limiter` : Limiter middleware to limit excess login function access
    - `url` : Default url for login page, change if you want custom view and implement your own route
    - `forgot_password_url` : Default url for forgot password page, you must implement your own function to use it, set null to remove Forgot Password link in login page
    - `register_url` : Default url register page, you must implement your own function to use it, set null to remove Register link in login page
- `theme_color` : Application primary color for sidebar and some button
- `auth` : For auth session management
    - `session_name_prefix` : To set session auth backend prefix
    - `logout_url` : Default logout url for backend, change if you want custom and implement your own function
- `profile_url` : Default url for admin profile page, change if you want custom and implement your own function
- `notification` : For display dropdown notification on header
    - `display` : Set false to hide dropdown notification on header
    - `interval` : Interval request get notification list, set null to disable interval request
    - `path` : Default url see all notification
    - `ajax_path` : Ajax url interval request get notification list
- `alert_message_type` : For display alert after action, available popup or alert
- `api` : For API Configuration
    - `secret_key` : API Secret key
    - `jwt_secret_key` : JWT secret key for generate JWT token,
    - `expired_duration_get_token` :
    - `validate_blacklist` : Set tru if you want blacklist token after logout api

📺 Create Module
---------------

[](#-create-module)

### New CRUD Module

[](#new-crud-module)

1. First create your migrate table or use existing table. Your table must have an id column and a uuid column
2. Go to **Module Management** menu then go navigate to **GENERATE NEW MODULE** button

    ### Step 1 - Configuration

    [](#step-1---configuration)

    - **Table**
        - The table that you will use for the module to be created.
    - **Module Name**
        - The name of the Module / Menu to be generated
    - **Module Path**
        - Url of the module, by default admin prefix will be added (based on settings)
    - **Controller Name**
        - The name of the controller to be created, the controller will be stored in the `app > Http > Controllers > Admin` folder
    - **Module Icon**
        - Icon of the menu to be used in the sidebar. We use iconsax in the whole application. You can see more detailed list of icons [here](https://github.com/muhammadlailil/iconsax)
    - **Configuration**
        - **Bulk Action?**
            - You can tick to display activate the bulk-action function in the list table
        - **Create?**
            - You can tick to display Add button in table view
        - **Edit?**
            - You can tick to display Edit button in list of data table
        - **Filter?**
            - You can tick to display Filter button in table view
        - **Import?**
            - You can tick to display Import button in table view
        - **Export?**
            - You can tick to display Export button in table view

    ### Step 2 - Table View

    [](#step-2---table-view)

    - **Label**
        - Label of row table
    - **Name**
        - The field name according to the current table
    - **Join (Optional)**
        - Join relation table

    ### Step 3 - Form View

    [](#step-3---form-view)

    - **Label**
        - Label of form field
    - **Name**
        - Name of form field
    - **Type**
        - Type of form field
    - **Rule**
        - Rules validation for store and update function
    - **Create Rule**
        - Rules validation for store function only
    - **Update Rule**
        - Rules validation for update function only

### New Static Module

[](#new-static-module)

Just go to **Module Management** menu, and on the right side of the card you will find the **Create Static Menu** form to create a new static module

⚓️ CRUD Controller Configuration
--------------------------------

[](#️-crud-controller-configuration)

Available configuration for controller

- `protected $routePath`
    - Route base name for the controller module | String
- `protected $pageTitle`
    - Module title on the screen page | String
- `protected $resourcePath`
    - Base resource path for the module | String
- `protected $moduleService`
    - Service class for handling crud function | Class
- `protected $importExcel`
    - Import class for handling import excel function (using laravel excel) | Class
- `protected $tableColumns`
    - List of main table view column | array
- `protected $rules`
    - Rules validation for store and update function | array
- `protected $createRules`
    - Rules validation for store function only | array
- `protected $updateRules`
    - Rules validation for update function only | array
- `protected $add`
    - Indicates if the user can add record, this will display add button | boolean
- `protected $filter`
    - Indicates if the user can filter record, this will display filter button | boolean
- `protected $import`
    - Indicates if the user can import record, this will display import button | boolean
- `protected $export`
    - Indicates if the user can export record, this will display export button | boolean
- `protected $bulkAction`
    - Indicates if the user can do bulk action of the record, this will display checkbox in the table | boolean
- `protected $tableAction`
    - Indicates if the table has action function, this will show action column table | boolean
- `protected $perPage`
    - The paginate per page item list | integer
- `protected $data `
    - The variable for assign data to view | array
- `protected $message `
    - Custom message actions | array
    - store
        - Custom alert message for store success function
    - failed\_store
        - Custom alert message for failed store function
    - update
        - Custom alert message for update success function
    - failed\_update
        - Custom alert message for failed update function
    - delete
        - Custom alert message for delete success function
    - failed\_delete
        - Custom alert message for failed delete function
    - bulk\_delete
        - Custom alert message for bulk delete success function

✨ Form Component
----------------

[](#-form-component)

- ### input (text,time,date,email,number)

    [](#input-texttimedateemailnumber)

    ```

    ```
- ### checkbox

    [](#checkbox)

    ```

    ```
- ### image

    [](#image)

    ```

    ```
- ### radio

    [](#radio)

    ```

    ```
- ### select

    [](#select)

    ```

        Label

    ```
- ### wysiwyg

    [](#wysiwyg)

    ```

    ```
- ### password

    [](#password)

    ```

    ```
- ### textarea

    [](#textarea)

    ```

    ```

🙋‍♂️ Question
-------------

[](#‍️-question)

If you have any question just submit in github issue [here](https://github.com/muhammadlailil/adminportal/issues)

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance57

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 94% 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 ~61 days

Recently: every ~13 days

Total

14

Last Release

261d ago

Major Versions

v1.0.7 → v3.0.0-beta2025-04-17

v0.0.18 → v1.x-dev2025-08-22

PHP version history (2 changes)v1.0.3PHP ^8.0.2

v3.0.0-betaPHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/22f04baa52cc637085d39a3b7d1d6e58108e900ad66ffb9513b4eb66eac71d31?d=identicon)[nahansans](/maintainers/nahansans)

---

Top Contributors

[![muhammadlailil](https://avatars.githubusercontent.com/u/32832339?v=4)](https://github.com/muhammadlailil "muhammadlailil (141 commits)")[![nahansans](https://avatars.githubusercontent.com/u/66030265?v=4)](https://github.com/nahansans "nahansans (9 commits)")

### Embed Badge

![Health badge](/badges/nahansans-adminportal/health.svg)

```
[![Health](https://phpackages.com/badges/nahansans-adminportal/health.svg)](https://phpackages.com/packages/nahansans-adminportal)
```

###  Alternatives

[jeroennoten/laravel-adminlte

Easy AdminLTE integration with Laravel

4.0k4.8M43](/packages/jeroennoten-laravel-adminlte)[dmstr/yii2-adminlte-asset

AdminLTE backend theme asset bundle for Yii 2.0 Framework

1.1k1.8M67](/packages/dmstr-yii2-adminlte-asset)[dwij/laraadmin

LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like CRUD Generation, Module Manager, Media, Menus, Backups and much more

1.6k68.7k](/packages/dwij-laraadmin)[filament/spatie-laravel-media-library-plugin

Filament support for `spatie/laravel-medialibrary`.

1764.8M125](/packages/filament-spatie-laravel-media-library-plugin)[bezhansalleh/filament-exceptions

A Simple &amp; Beautiful Pluggable Exception Viewer for FilamentPHP's Admin Panel

193195.9k13](/packages/bezhansalleh-filament-exceptions)[filament/infolists

Easily add beautiful read-only infolists to any Livewire component.

1220.8M36](/packages/filament-infolists)

PHPackages © 2026

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