PHPackages                             tur1/laravelmodules - 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. tur1/laravelmodules

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

tur1/laravelmodules
===================

A Laravel package for creating modules and pages

v1.4.0(1y ago)043MITPHPPHP ^7.4|^8.0

Since Oct 2Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Tur-1/Laravel-Modules)[ Packagist](https://packagist.org/packages/tur1/laravelmodules)[ RSS](/packages/tur1-laravelmodules/feed)WikiDiscussions main Synced 1mo ago

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

Laravel Modules Package
=======================

[](#laravel-modules-package)

`tur1/laravel-modules` is a Laravel package which was created to manage your large Laravel app using modules. This package provides a set of Artisan commands and tools to easily create modules, pages, and filters in your Laravel application.

Generate your first module using `php artisan module:create Admins`. The following structure will be generated.

```
Modules/
├── Admins/
    ├── Controllers/
    │   └── AdminController.php
    ├── Database/
    │   ├── factories/
    │   │   └── AdminFactory.php
    │   ├── migrations/
    │   │   └── 2024_09_16_xxxxxxx_admins_table.php
    │   └── seeders/
    │       └── AdminSeeder.php
    ├── Events/
    │   ├── AdminCreatedEvent.php
    │   ├── AdminDeletedEvent.php
    │   └── AdminUpdatedEvent.php
    ├── Exceptions/
    │   └── AdminException.php
    ├── Filters/
    │   ├── GenderFilter.php
    │   └── StatusFilter.php
    ├── Middleware/
    │   └── AdminMiddleware.php
    ├── Models/
    │   └── Admin.php
    ├── Observers/
    │   └── AdminObserver.php
    ├── Policies/
    │   └── AdminPolicy.php
    ├── Requests/
    │   ├── StoreAdminRequest.php
    │   └── UpdateAdminRequest.php
    ├── Resources/
    │   ├── AdminListResource.php
    │   └── AdminShowResource.php
    ├── Routes/
    │   └── AdminRoutes.php
    ├── Services/
    │   └── AdminService.php
    └── Traits/
        ├── AdminAttributesTrait.php
        ├── AdminRelationshipsTrait.php
        └── AdminScopesTrait.php
```

Installation
------------

[](#installation)

To install the package, run:

```
composer require tur1/modules
```

Artisan Commands
----------------

[](#artisan-commands)

### Create a Module

[](#create-a-module)

To create a new module, use the following command:

```
php artisan module:create Users
```

This will generate a `Users` module in the `app/Modules` directory.

### Create a Page

[](#create-a-page)

To create a new page within a module, use:

```
php artisan page:create Dashboard
```

This will generate a `Dashboard` page

### Create a Filter

[](#create-a-filter)

To create a new filter within a module, use:

```
php artisan module:filter {name} --m={module-name}
```

Example:

```
php artisan module:filter StatusFilter --m=Users
```

This will create a `StatusFilter` class in the `app/Modules/Users/Filters` directory.

Registering Filters in a Model
------------------------------

[](#registering-filters-in-a-model)

You can register filters for a model by defining a `filters()` method in your model. For example:

```
class User extends Model
{
    /**
     * Register filters for the User model.
     *
     * @return array
     */
    public static function filters()
    {
        return [
             StatusFilter::class,
        ];
    }
}
```

Applying Filters
----------------

[](#applying-filters)

To apply filters to a query, use the `withFilters()` method:

```
User::withFilters()->get();
```

Searchable Fields
-----------------

[](#searchable-fields)

Define a `$search` property in your model to enable search functionality. Use an array of field names, including related fields with dot notation (e.g., `roles.name`).

Example:

```
class User extends Model
{

  protected $search = ['name', 'email', 'roles.name'];

   public function roles()
   {
        return $this->hasMany(Role::class);
   }

    /**
     * Register filters for the User model.
     *
     * @return array
     */
    public static function filters()
    {
        return [
             StatusFilter::class,
        ];
    }

}
```

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

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

Total

31

Last Release

574d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/48e8dcef45ec06da0fe3c1e5eb36221ac4c1c35c0846dcbec0afa19d86773cbc?d=identicon)[Tur-1](/maintainers/Tur-1)

---

Top Contributors

[![Tur-1](https://avatars.githubusercontent.com/u/63422322?v=4)](https://github.com/Tur-1 "Tur-1 (2 commits)")

### Embed Badge

![Health badge](/badges/tur1-laravelmodules/health.svg)

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

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[orchestra/canvas

Code Generators for Laravel Applications and Packages

20917.2M158](/packages/orchestra-canvas)[illuminate/pipeline

The Illuminate Pipeline package.

9346.6M213](/packages/illuminate-pipeline)[illuminate/pagination

The Illuminate Pagination package.

10532.5M862](/packages/illuminate-pagination)[spatie/laravel-pjax

A pjax middleware for Laravel 5

513371.8k11](/packages/spatie-laravel-pjax)[spatie/laravel-mix-preload

Add preload and prefetch links based your Mix manifest

169176.0k2](/packages/spatie-laravel-mix-preload)

PHPackages © 2026

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