PHPackages                             jspaceboots/laracrud - 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. [Framework](/categories/framework)
4. /
5. jspaceboots/laracrud

ActiveLibrary[Framework](/categories/framework)

jspaceboots/laracrud
====================

Provides quick application scaffolding as well as HTML &amp; JSON API interfaces for model CRUD.

24CSS

Since Jan 17Pushed 8y agoCompare

[ Source](https://github.com/jspaceboots/LaraCRUD)[ Packagist](https://packagist.org/packages/jspaceboots/laracrud)[ RSS](/packages/jspaceboots-laracrud/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependenciesVersions (1)Used By (0)

LaraCRUD
========

[](#laracrud)

[![Latest Version on Packagist](https://camo.githubusercontent.com/e47b5fd9742cd16674bc5afeaa5b2f8bbeaffeefff552eff13cdeb1468536d2b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f3a76656e646f722f3a7061636b6167655f6e616d652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/:vendor/:package_name)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/cb11179311e640818ab161382ab46616c3056e3374c94f90fdc6d06a309cf73b/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f3a76656e646f722f3a7061636b6167655f6e616d652f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/:vendor/:package_name)[![Coverage Status](https://camo.githubusercontent.com/77bd9748066a4737af2be4a15b71865967905bfc6aa38aabed0996acb7fb2bbb/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f3a76656e646f722f3a7061636b6167655f6e616d652e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/:vendor/:package_name/code-structure)[![Quality Score](https://camo.githubusercontent.com/5ea237d9c7d6af5499007b76e317965f8bdfa4596fd71c22cd7fe2cb818594cc/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f3a76656e646f722f3a7061636b6167655f6e616d652e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/:vendor/:package_name)[![Total Downloads](https://camo.githubusercontent.com/2e7d96ffc3c5f08e269c45f38de91ce489968312df30848d817105c5ada0d9cc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f3a76656e646f722f3a7061636b6167655f6e616d652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/:vendor/:package_name)

Provides quick application scaffolding as well as HTML and JSON API interfaces for model CRUD.

Project Goal
------------

[](#project-goal)

To give you the ability to scaffold your data model in thirty minutes or less by hand or by script.

We let you quickly produce everything necessary (models, transformers, repositories, etc.) and wire it together in a single console command, instantly exposing your data for Create Read Update and Delete operations via both an "Admin Panel" web GUI and a RESTful JSON API.

tl;dr: You write migrations, we give you an admin panel + API

Project Status
--------------

[](#project-status)

ALPHA

Super early days, feature incomplete, USE AT YOUR OWN RISK.

Install
-------

[](#install)

Via Composer

```
$ composer require jspaceboots/laracrud
```

Quickstart
----------

[](#quickstart)

First you need to publish the config and public assets:

```
php artisan vendor:publish
```

Next modify your applications config/crud.php to suit the needs of your project. Once you're done:

```
php artisan laracrud:make:model MySingularModel
```

This will generate the files necessary for LaraCRUD to hook into your data model, specifically a:

- Model
- Repository
- Transformer
- Migration

These will be generated in directories matching the namespaces laid out in config/crud.php. For instance, if your repositories namespace is set to "\\App\\Repositories\\" the generated repository will be written to app/repositories. The one exception is the migration, which will be placed in database/migrations. In addition to generating these files the generated model will be added to the routing configuration in config/crud.php.

From here you only need to fill out the generated migration and then run:

```
php artisan migrate
```

At this point all non-relational fields of your model should be fully accessible via http://{{domain}}/crud/{{model}} and http://{{domain}}/api/crud/{{model}}

LaraCRUD Conventions
--------------------

[](#laracrud-conventions)

### Table conventions

[](#table-conventions)

- LaraCRUD requires the PK of every entity be 'id'.
- LaraCRUD requires FKs to conform to this syntax: {{foreign\_model}}\_id
    - examples: toaster\_id, user\_role\_id
- LaraCRUD requires the name of join tables for M:N relations to conform to this syntax: {{model\_table\_1}}\_{{model\_table\_2}} (order is not important)
    - examples: users\_roles, toasters\_heating\_coils
- LaraCRUD requires that join tables for M:N relations will contain at least two columns: {{foreign\_model\_1}}\_id &amp; {{foreign\_model\_2}}\_id
    - examples: user\_id &amp; role\_id, toaster\_id &amp; heating\_coil\_id

The laracrud:make:model command will generate table names by transforming your camel case model name (MyModel) into an underscore seperated representation and pluralizing the last word (my\_models).

### Model conventions

[](#model-conventions)

- LaraCRUD requires model names to be singular and camel cased
    - examples: User, Toaster, HeatingCoil
- LaraCRUD requires you define an array of validator strings on your model (laracrud:make:model will stub this)
    - see:
- LaraCRUD supports using UUIDs for model PKs with the installation of:
    - with 'useUuids' enabled in config/crud.php laracrud:make:model will generate models that auto-populate V4 UUIDs as their PK

Relations
---------

[](#relations)

- LaraCRUD requires foreign keys conform to conventions laid out in Table conventions above
- LaraCRUD requires you to define some additional metadata in your Repositories in order to traverse/persist M:N relations and reverse 1:M

Filters
-------

[](#filters)

Removing the CRUD
-----------------

[](#removing-the-crud)

If you're using LaraCRUD to bootstrap a project, or just wish to remove LaraCRUD at some future point, simply run:

```
php artisan laracrud:eject
```

This will remove the dependancy to LaraCRUDs Abstract classes from the models, repositories, and transformers that have been generated, remove the packages published configuration and assets from your project, and finally de-register the LaraCRUD service provider with your Laravel instance.

Change log
----------

[](#change-log)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Testing
-------

[](#testing)

```
$ composer test
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) and [CODE\_OF\_CONDUCT](CODE_OF_CONDUCT.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email :author\_email instead of using the issue tracker.

Credits
-------

[](#credits)

- [Johnny Spaceboots](https://github.com/:author_username)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/34007214?v=4)[jspaceboots](/maintainers/jspaceboots)[@jspaceboots](https://github.com/jspaceboots)

---

Top Contributors

[![jspaceboots](https://avatars.githubusercontent.com/u/34007214?v=4)](https://github.com/jspaceboots "jspaceboots (10 commits)")

### Embed Badge

![Health badge](/badges/jspaceboots-laracrud/health.svg)

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

###  Alternatives

[laravel/socialite

Laravel wrapper around OAuth 1 &amp; OAuth 2 libraries.

5.7k104.3M836](/packages/laravel-socialite)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k38.6M289](/packages/laravel-dusk)[nineinchnick/edatatables

Grid widget for the Yii Framework, wrapper for the DataTables jQuery plugin

173.2k](/packages/nineinchnick-edatatables)[link-cloud/fast-hyperf

LinkCloud Fast Hyperf

241.2k1](/packages/link-cloud-fast-hyperf)

PHPackages © 2026

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