PHPackages                             vshapovalov/crud - 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. vshapovalov/crud

ActiveLibrary[Admin Panels](/categories/admin)

vshapovalov/crud
================

laravel crud admin

1.5.2(5y ago)11391[1 PRs](https://github.com/vshapovalov/laravel-crud/pulls)MITJavaScript

Since Nov 5Pushed 5y ago1 watchersCompare

[ Source](https://github.com/vshapovalov/laravel-crud)[ Packagist](https://packagist.org/packages/vshapovalov/crud)[ RSS](/packages/vshapovalov-crud/feed)WikiDiscussions master Synced 2mo ago

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

Laravel crud dashboard - CrudIt!
================================

[](#laravel-crud-dashboard---crudit)

Builded with [Vue.js](https://vuejs.org), [vuetifyjs](https://vuetifyjs.com)

Manage your data, store files.

Support Laravel 7

[![crud table](https://camo.githubusercontent.com/e8681d32e570b471cd66c3aa18cc4f551ddcd4aa1d266bd6215b1b85565cded0/687474703a2f2f7465616375702e6b7a2f6c61726176656c2d637275642f53637265656e73686f745f332e706e67)](https://camo.githubusercontent.com/e8681d32e570b471cd66c3aa18cc4f551ddcd4aa1d266bd6215b1b85565cded0/687474703a2f2f7465616375702e6b7a2f6c61726176656c2d637275642f53637265656e73686f745f332e706e67)[![crud media](https://camo.githubusercontent.com/fbff8e354b01390d5004ab67a7e76a09b0e5f9cd125a324408b35ba86aa27ffa/687474703a2f2f7465616375702e6b7a2f6c61726176656c2d637275642f53637265656e73686f745f312e706e67)](https://camo.githubusercontent.com/fbff8e354b01390d5004ab67a7e76a09b0e5f9cd125a324408b35ba86aa27ffa/687474703a2f2f7465616375702e6b7a2f6c61726176656c2d637275642f53637265656e73686f745f312e706e67)

Dashboard components
--------------------

[](#dashboard-components)

- textbox (password, masked, slugify, prefix, suffix)
- checkbox
- dropdown (single, multi select)
- datetimepicker
- richedit by tinymce
- image/files (single, multi pick from gallery)
- relation (hasOne, hasMany, belongsTo, belongsToMany with pivot)

**Fields validation using laravel validator**

**Crud forms has access check by roles(select, add, edit, delete)**

How to install
--------------

[](#how-to-install)

### 1. Config your application

[](#1-config-your-application)

Check db settings and APP\_URL in .ENV file of your application

Make laravel auth scaffolding

```
php artisan make:auth
```

### 2. Require package

[](#2-require-package)

```
composer require vshapovalov/crud
```

> if you are using Laravel 5.4, add to config/app.php provider section

```
Vshapovalov\Crud\CrudServiceProvider::class,
```

### 3. Install crud

[](#3-install-crud)

```
php artisan crud:install
```

Check url http://app\_url/cruds

How to create crud form
-----------------------

[](#how-to-create-crud-form)

- Create eloquent model
- Create crud form in dashboard
- Create dashboard menu item for crud form
- Grant access to role for created crud form

There is still a lot of work ahead - localization, etc. ;\] All crud forms can be edited from admin panel

System options-&gt;Crud forms

### Crud components addtional options(json)

[](#crud-components-addtional-optionsjson)

**textbox** - simple textbox

```
{ "slugify": "fieldname_to_store_slug" }
{ "mode": "password" }
{ "mode": "masked", "mask":"+7(777)###-##-##" }
```

**datepicker** - date picker

```
{ "mode":"date or datetime" }
```

**dropdown** - simple dropdown, additional field required

```
{
    "mode:": "single or multi",
    "values": [
        { "key": "DRAFT", "value": "Draft" },
        { "key": "PUBLISHED", "value": "Published" }
    ]
}
```

**richedit** - richeditor by tinymce

```
{ "size": "small or medium or large"}
```

**image** - image picker, pick images/files from media library

```
{
    "mode": "multi or single",
    "type": "file or image",
    "resize": { "width":1000, "height": null, "quality": 90 },
    "thumbnails": [
        { "name":"medium", "scale":50 },
        { "name":"small", "scale":25 },
        { "name":"cropped", "crop": {"width": 250, "height": 250 } },
        { "name":"fitted", "fit": {"width": 250, "height": 250 } }
    ]
}
```

**relation** - relation field type, field has options

```
{ "buttons": [ "add", "edit", "pick", "delete_all" ] , "mode": "simple or normal" }
```

### Media library

[](#media-library)

Media library can resize image, create thumbnails for uploaded images by default settings, also crud image field have additional options for resize image

config/cruds.php

```
'media_default_settings' => [
    'resize' => [
        'width' => 1440,
        'height' => null,
        'quality' => 90
    ],
    'thumbnails' => [
        [
            'name' => 'medium',
            'scale' => 50
        ],
        [
            'name' => 'small',
            'scale' => 25
        ],
        [
            'name' => 'cropped',
            'crop' => [
                'width' => 250,
                'height' => 250,
            ]
        ],
        [
            'name' => 'fit320-240',
            'fit' => [
                'width' => 320,
                'height' => 240,
                'position' => 'center'
            ]
        ]
    ]
],
```

### Menu options

[](#menu-options)

Dashboard menu items can be edited from admin panel

### Custom Vue components in dashboard

[](#custom-vue-components-in-dashboard)

Also you can use own Vue components, just add them in components section of config/cruds.php

```
'components' => [
    [
        'name' => 'test-component', // just simple name
        'path' => '/js/test-components.js' // path to component, must be absolute
    ]
],
```

simple component file

```
Vue.component('test-component', require('./test-component.vue') );

let userComponent = {
    id: 'user-component-1',
    name: 'test-component',
    options: {
        isModal: false,
        counterStartValue: 100
    }
};

Bus.$on( 'user:testcomponent:mount', ()=> AdminManager.mountComponent( userComponent, true ) );
```

then create dashboard menu item&lt; and set action to 'user:testcomponent:mount'

### Middlewares and user components in crud form

[](#middlewares-and-user-components-in-crud-form)

link js file in components section of cruds.php, use registerMiddleware function to make some action on events emmited by crud form or edit panel or add custom component. if you did not call next(), the action will be interruted in some events:

- crud:on:edit
- crud:on:add
- crud:on:delete
- editpanel:before:save

```
AdminManager.registerMiddleware( ( event, options, next )=>{

    if (event == 'crud:on:mount' && options.crud.code === 'users') {

        options.addComponents(
            [
                {
                    id: 'test-component',
                    name: 'test-component',
                    options: {
                        message: 'i am custom component'
                    }
                }
            ]
        );
    }

    next();
});
```

### How to link libraries

[](#how-to-link-libraries)

```
'components' => [
    [
        'name' => 'jquery-slim-cdn',
        'path' => 'https://code.jquery.com/jquery-3.3.1.slim.js'
    ]
],
```

Custom components can use Lodash, Axios, they are declared as window obj props

### How to create crud form

[](#how-to-create-crud-form-1)

watch this guide (coming soon)

### How to make custom component

[](#how-to-make-custom-component)

watch this guide (coming soon)

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 95.3% 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 ~19 days

Recently: every ~158 days

Total

50

Last Release

2161d ago

Major Versions

0.0.1 → 1.0.02017-12-06

### Community

Maintainers

![](https://www.gravatar.com/avatar/f84ce7a954a33c5d341a8bf0bd8ad456217adbdb06311137a40ba324e7855172?d=identicon)[vshapovalov](/maintainers/vshapovalov)

---

Top Contributors

[![vshapovalov](https://avatars.githubusercontent.com/u/15849464?v=4)](https://github.com/vshapovalov "vshapovalov (81 commits)")[![vshapovalov-basip](https://avatars.githubusercontent.com/u/198757036?v=4)](https://github.com/vshapovalov-basip "vshapovalov-basip (4 commits)")

---

Tags

admincrudlaravellaravelcrudadmin

### Embed Badge

![Health badge](/badges/vshapovalov-crud/health.svg)

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

PHPackages © 2026

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