Skip to content

blitheforge/laravel-modular-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Blitheforge Laravel Modular Kit

A Laravel package for generating and auto-registering modular feature packages inside a Laravel application.

It creates a Modules/ folder structure, generates module controllers, models, migrations, routes, providers, and automatically loads module service providers so route files work without manual composer configuration.

Features

  • make:module {name} creates a new module skeleton under Modules/{Name}
  • Module provider auto-registration at runtime
  • Auto-loads module routes, views, migrations, and helpers
  • Support for additional resource generation via make:module:resource
  • Works without requiring users to add a Modules\ PSR-4 autoload entry in the main app

Requirements

  • PHP ^8.0
  • Laravel ^13.0

Installation

Install the package in your Laravel app:

composer require blitheforge/laravel-modular-kit

Laravel will automatically discover the package service provider.

Usage

Create a module

php artisan make:module Auth

This command generates:

  • Modules/Auth/Providers/AuthServiceProvider.php
  • Modules/Auth/Routes/web.php
  • Modules/Auth/Controllers/AuthController.php
  • Modules/Auth/Models/Auth.php
  • Modules/Auth/Database/Migrations/create_auth_table.php
  • Modules/Auth/Database/Seeders/AuthSeeder.php
  • Modules/Auth/Views
  • Modules/Auth/Helpers

Add module resources

Generate additional module resources with:

php artisan make:module:resource {module} {type} {name}

Supported resource types:

  • controller
  • model
  • migration
  • route

Example:

php artisan make:module:resource Auth route login

How it works

The package service provider scans Modules/ at runtime and:

  1. Registers a Modules\ PSR-4 namespace with Composer's autoloader
  2. Discovers each module service provider
  3. Registers each module provider automatically
  4. Loads module routes, views, migrations, and helper files

This means module routes are loaded without custom manual setup in the consuming app.

Commands

  • php artisan make:module {name}
  • php artisan make:module:resource {module} {type} {name}
  • php artisan make:module-controller {module} {name}
  • php artisan make:module-model {module} {name}
  • php artisan make:module-migration {module} {name}
  • php artisan make:module-route {module} {name}

Module structure

A generated module uses the following layout:

Modules/{ModuleName}/
├── Controllers/
├── Database/
│   ├── Migrations/
│   └── Seeders/
├── Helpers/
├── Models/
├── Providers/
└── Routes/
    └── web.php

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages