PHPackages                             gilsonreis/laravel-crud-generator - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. gilsonreis/laravel-crud-generator

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

gilsonreis/laravel-crud-generator
=================================

Gerador de CRUD para Laravel

v0.3.1(1y ago)21401[1 issues](https://github.com/gilsonreis/laravel-crud-generate/issues)MITPHPPHP ^8.1

Since Nov 11Pushed 1y ago1 watchersCompare

[ Source](https://github.com/gilsonreis/laravel-crud-generate)[ Packagist](https://packagist.org/packages/gilsonreis/laravel-crud-generator)[ RSS](/packages/gilsonreis-laravel-crud-generator/feed)WikiDiscussions main Synced today

READMEChangelog (6)Dependencies (1)Versions (8)Used By (0)

Laravel CRUD Generator
======================

[](#laravel-crud-generator)

O **Laravel CRUD Generator** é uma biblioteca projetada para automatizar a criação de componentes essenciais de um CRUD, como Models, Repositories, UseCases, Actions e Rotas. Esta documentação fornece um guia passo a passo para usar a biblioteca de forma eficiente.

Instalação
----------

[](#instalação)

Certifique-se de ter o PHP 8.1 ou superior instalado e um projeto Laravel configurado.

1. Instale a biblioteca via Composer:

```
composer require gilsonreis/laravel-crud-generator
```

2. Publique a configuração (se aplicável):

```
php artisan vendor:publish --provider="Gilsonreis\LaravelCrudGenerator\LaravelCrudGeneratorServiceProvider"
```

3. Atualize o autoload do Composer:

```
composer dump-autoload
```

4. Certifique-se de que o namespace das classes está registrado corretamente no arquivo `app/Console/Kernel.php` ou no `ServiceProvider` do pacote.

---

Menu Interativo
---------------

[](#menu-interativo)

A biblioteca oferece um menu interativo para facilitar o uso. Para acessá-lo, execute:

```
php artisan crud:menu
```

### Opções Disponíveis

[](#opções-disponíveis)

1. **Gerar CRUD completo**
2. **Gerar Action**
3. **Gerar UseCase**
4. **Gerar Repository**
5. **Gerar Model**
6. **Gerar Rotas**
7. **Gerar Login (Utiliza Sanctum)**
8. **Gerar Login (Utiliza JWT)**
9. **Sobre**
10. **Sair**

Cada opção solicita os parâmetros necessários e executa os comandos correspondentes.

---

Gerar Partes Individualmente
----------------------------

[](#gerar-partes-individualmente)

Você também pode usar comandos específicos para criar componentes individuais.

### 1. Gerar um Model

[](#1-gerar-um-model)

Gera um model com fillables automáticos, casts de data e json, relacionamentos e trait `SoftDeletes` (se aplicável):

```
php artisan make:crud-model --table=products --label=Produto --plural-label=Produtos --observer
```

### 2. Gerar um Repository

[](#2-gerar-um-repository)

Gera um repository baseado em um model especificado:

```
php artisan make:crud-repository RepositoryName --model=Product
```

### 3. Gerar UseCases

[](#3-gerar-usecases)

Gera os UseCases de um CRUD completo ou um UseCase em branco:

```
php artisan make:crud-use-case --model=Product
```

### 4. Gerar Actions

[](#4-gerar-actions)

Gera as actions de um CRUD ou uma action em branco:

```
php artisan make:crud-actions --model=Product
```

### 5. Gerar Rotas

[](#5-gerar-rotas)

Gera um arquivo de rotas para um CRUD completo ou cria um arquivo de rota em branco:

```
php artisan make:crud-routes --model=Product
```

---

Gerar o Login
-------------

[](#gerar-o-login)

O sistema de autenticação utiliza o Laravel Sanctum e pode ser gerado com o comando:

```
php artisan make:crud-auth
```

Gerar o Login (JWT)
-------------------

[](#gerar-o-login-jwt)

O sistema de autenticação para uisar JWT, pode ser egrado com o seguinte comando:

```
php artisan make:crud-auth-jwt
```

### Componentes Gerados

[](#componentes-gerados)

1. **Rotas**: Um arquivo de rotas em `app/Routes/AuthRoutes.php`, contendo rotas para login e logout.
2. **Actions**: Classes para `LoginAction` e `LogoutAction`.
3. **UseCases**: Classes para `LoginUseCase` e `LogoutUseCase`.
4. **FormRequest**: Validação para login em `LoginRequest`.
5. **Services**: Serviço de autenticação usando `SanctumAuthService`.
6. **Repositories**: Classes `LoginRepository` e `AuthRepository`.

### Exemplo de Rotas Geradas

[](#exemplo-de-rotas-geradas)

```
Route::prefix('auth')
    ->name('auth.')
    ->group(function () {
        Route::post('/login', LoginAction::class)->name('login');
        Route::delete('/logout', LogoutAction::class)
            ->name('logout')
            ->middleware('auth:sanctum');
    });
```

### Caso tenha escolhido JWT

[](#caso-tenha-escolhido-jwt)

```
Route::prefix('auth')
    ->name('auth.')
    ->group(function () {
        Route::post('/login', LoginAction::class)->name('login');
    });
```

### Testando o Login

[](#testando-o-login)

#### Login

[](#login)

Endpoint:

- **URL**: `/api/auth/login`
- **Método**: `POST`
- **Corpo**: ```
    {
      "email": "usuario@example.com",
      "password": "senha"
    }
    ```

#### Logout (somente SANCTUM)

[](#logout-somente-sanctum)

Endpoint:

- **URL**: `/api/auth/logout`
- **Método**: `DELETE`
- **Headers**:
    - `Authorization: Bearer {token}`

---

Gerar o CRUD Completo
---------------------

[](#gerar-o-crud-completo)

Para gerar todas as partes de um CRUD (Model, Repository, UseCases, Actions e Rotas):

```
php artisan crud:menu
```

Selecione a opção **Gerar CRUD completo** e preencha os parâmetros solicitados.

---

Utilizando o Filtro Genérico
----------------------------

[](#utilizando-o-filtro-genérico)

A biblioteca inclui um sistema de filtros dinâmicos inspirado no Strapi. Você pode utilizar filtros na query string para manipular os resultados das consultas.

### Exemplo de Query String

[](#exemplo-de-query-string)

```
Product[name]=Laptop&Product[price_between]=1000,2000&page=2&perPage=15

```

### Tipos de Filtros Suportados

[](#tipos-de-filtros-suportados)

- **`campo=value`**: Filtra pelo valor exato.
- **`campo_like=value`**: Filtra usando `LIKE`.
- **`campo_between=value1,value2`**: Filtra por intervalo.
- **`campo_in=value1,value2`**: Filtra pelos valores especificados.
- **`campo_not_in=value1,value2`**: Exclui os valores especificados.
- **`campo_greater_than=value`**: Filtra valores maiores que o especificado.
- **`campo_less_than=value`**: Filtra valores menores que o especificado.
- **`campo_is_null`**: Filtra valores nulos.
- **`campo_not_null`**: Filtra valores não nulos.

---

Contribuições
-------------

[](#contribuições)

Contribuições são bem-vindas! Por favor, envie um pull request ou abra uma issue no repositório oficial no GitHub.

Licença
-------

[](#licença)

Este projeto está licenciado sob a [Licença MIT](LICENSE).

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance28

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity43

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.

###  Release Activity

Cadence

Every ~11 days

Total

6

Last Release

544d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1012514?v=4)[Gilson Reis](/maintainers/gilsonreis)[@gilsonreis](https://github.com/gilsonreis)

---

Top Contributors

[![gilsonreis](https://avatars.githubusercontent.com/u/1012514?v=4)](https://github.com/gilsonreis "gilsonreis (8 commits)")

### Embed Badge

![Health badge](/badges/gilsonreis-laravel-crud-generator/health.svg)

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

###  Alternatives

[markwalet/nova-modal-response

A Laravel Nova asset for Modal responses on an action.

17878.9k](/packages/markwalet-nova-modal-response)[crumbls/layup

A visual page builder plugin for Filament 5 — Divi-style grid layouts with extensible widgets.

592.7k2](/packages/crumbls-layup)[team-nifty-gmbh/tall-datatables

Server-side rendered datatables for Laravel and Livewire

1320.9k4](/packages/team-nifty-gmbh-tall-datatables)[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

119.4k](/packages/tomshaw-electricgrid)

PHPackages © 2026

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