PHPackages                             g4t/laravel-design-pattern - 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. [API Development](/categories/api)
4. /
5. g4t/laravel-design-pattern

ActiveLibrary[API Development](/categories/api)

g4t/laravel-design-pattern
==========================

g4t laravel design pattern (repository design pattern With some improvements)

1.4(4y ago)12101[1 PRs](https://github.com/hussein4alaa/laravel-design-pattern-generator/pulls)MITPHP

Since Sep 16Pushed 4y agoCompare

[ Source](https://github.com/hussein4alaa/laravel-design-pattern-generator)[ Packagist](https://packagist.org/packages/g4t/laravel-design-pattern)[ RSS](/packages/g4t-laravel-design-pattern/feed)WikiDiscussions 1.4 Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (10)Used By (0)

Laravel Design Pattern Generator (api generator)
================================================

[](#laravel-design-pattern-generator-api-generator)

### you can create your restful api with validation easily by using this package

[](#you-can-create-your-restful-api-with-validation-easily-by-using-this-package)

##### and you can filter, sort and include eloquent relations based on a request

[](#and-you-can-filter-sort-and-include-eloquent-relations-based-on-a-request)

[![](https://github.com/hussein4alaa/laravel-design-pattern-generator/raw/1.0.1/logo.png)](https://github.com/hussein4alaa/laravel-design-pattern-generator/blob/1.0.1/logo.png)

[![me](https://github.com/hussein4alaa/laravel-design-pattern-generator/raw/1.0.1/image.gif)](https://github.com/hussein4alaa/laravel-design-pattern-generator/blob/1.0.1/image.gif)

Installation:
-------------

[](#installation)

Require this package with composer using the following command:

```
composer require g4t/laravel-design-pattern
```

```
php artisan vendor:publish --provider=g4t\Pattern\PatternServiceProvider
```

Usage
-----

[](#usage)

##### in folder `config` You will find `jsonapi.json`

[](#in-folder-config-you-will-find-jsonapijson)

##### This is where you will write `relations`, `sortable` columns and `filterable` columns

[](#this-is-where-you-will-write-relations-sortable-columns-and-filterable-columns)

Commands:
---------

[](#commands)

##### full command

[](#full-command)

###### create (Model, Controller, Route And Repostitory)

[](#create-model-controller-route-and-repostitory)

```
php artisan repo:name User
```

##### or if you have model

[](#or-if-you-have-model)

```
php artisan repo:name User --model=User
```

##### and you can use `--force` command

[](#and-you-can-use---force-command)

##### you can create validation from database table using this command

[](#you-can-create-validation-from-database-table-using-this-command)

```
php artisan repo:validation ModelName
```

### Available command options:

[](#available-command-options)

CommandDescription`--m`Create Migration`--model={ModelName}`Insert model in controller if you have model`--force`override existing Repository### Parameters to controlling data:

[](#parameters-to-controlling-data)

You can modify parameters in `config/jsonapi.json`

##### FILTER A QUERY BASED ON A REQUEST

[](#filter-a-query-based-on-a-request)

```
/users?filter[name]=John
```

INCLUDING RELATIONS BASED ON A REQUEST

```
/users?include=posts
/users?include=posts,comments
```

SORTING A QUERY BASED ON A REQUEST

```
/users?sort=id
/users?sort=-id
```

TAKE DATA

```
/users?take=10
```

SKIP DATA

```
/users?skip=10
```

### License

[](#license)

Laravel Design Pattern Generator is free software licensed under the MIT license.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity56

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 ~24 days

Total

9

Last Release

1503d ago

Major Versions

0.0.1 → 1.0.12021-12-29

### Community

Maintainers

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

---

Top Contributors

[![hussein4alaa](https://avatars.githubusercontent.com/u/13614747?v=4)](https://github.com/hussein4alaa "hussein4alaa (35 commits)")

---

Tags

apidesing-patternslaravelquery-builderrepository-pattern

### Embed Badge

![Health badge](/badges/g4t-laravel-design-pattern/health.svg)

```
[![Health](https://phpackages.com/badges/g4t-laravel-design-pattern/health.svg)](https://phpackages.com/packages/g4t-laravel-design-pattern)
```

###  Alternatives

[rupadana/filament-api-service

A simple api service for supporting filamentphp

204103.8k7](/packages/rupadana-filament-api-service)[larafast/fastapi

A Fast Laravel package to help you generate CRUD API Controllers and Resources, Model

1233.9k](/packages/larafast-fastapi)[d-scribe/laraquick

A collection of classes to be extended/used in laravel applications for quick development

371.8k1](/packages/d-scribe-laraquick)[exonn-gmbh/scramble-spatie-query-builder

This is the Scramble extension, which detects the usage of the Spatie query builder and adds applicable query parameters to the openapi definitions

123.9k](/packages/exonn-gmbh-scramble-spatie-query-builder)

PHPackages © 2026

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