fnnaeem/module-architecture-generator

There is no license information available for the latest version (dev-main) of this package.

Laravel Module Generator Package

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/fnnaeem/module-architecture-generator

dev-main 2026-01-26 07:59 UTC

This package is not auto-updated.

Last update: 2026-01-27 06:06:51 UTC


README

A Laravel 12+ module generator for creating, managing, and deleting modules with clean architecture. Supports Controllers, Models, Services, Repositories, Views, Routes, Requests, Tests, Migrations, and Middleware. Compatible with Laravel 12+ bootstrap structure or older Kernel.php structure.

Features

  • Full module generator: Controllers, Services, Repositories, Models, Requests, Tests, Views, Routes, Migrations
  • API-only or CRUD modules
  • Module activation/deactivation with middleware
  • Automatic ServiceProvider registration
  • Auto PSR-4 autoload configuration
  • Laravel 12+ and older versions support
  • Safe module deletion with table data check

Installation

Run the command below to install via Composer

composer require fnnaeem1881/module-architecture-generator

Run composer dump-autoload:

composer dump-autoload

The package registers itself automatically via ModuleLoaderServiceProvider.

Commands

Command Description
php artisan make:module {name} Create a new full module
php artisan make:module {name} --crud Create a CRUD module with views
php artisan make:module {name} --api Create API-only module
php artisan make:module {name} --migration Create migration for the module
php artisan make:module {name} --request Generate FormRequest classes
php artisan make:module {name} --test Generate test file for module
php artisan make:module {name} --force Overwrite existing module
php artisan make:module {name} --delete Delete the module safely
php artisan make:module {name} --deactivate Deactivate the module
php artisan make:module {name} --activate Activate the module

Module Structure

app/Modules/ModuleName/
├── Controllers/
├── Services/
├── Repositories/
├── Models/
├── Requests/
├── Views/
├── Routes/
├── Migrations/
├── Tests/
└── ModuleNameServiceProvider.php

Example:
app/Modules/Order/
├── Controllers/
│   └── OrderController.php
├── Middleware/
│   └── OrderActiveMiddleware.php
├── Models/
│   └── Order.php
├── Repositories/
│   └── OrderRepository.php
├── Requests/
│   ├── OrderStoreRequest.php
│   └── OrderUpdateRequest.php
├── Routes/
│   ├── api.php
│   └── web.php
├── Services/
│   └── OrderService.php
├── Tests/
│   └── OrderTest.php
├── Views/
│   ├── index.blade.php
│   ├── create.blade.php
│   └── edit.blade.php
├── Migrations/
│   └── 2026_01_26_000000_create_orders_table.php
└── OrderServiceProvider.php

Middleware

  • Each module has {ModuleName}ActiveMiddleware created automatically.
  • Middleware is registered in either app/Http/Kernel.php (if exists) or bootstrap/app.php (Laravel 12+).

Module Status

  • The module status (active/inactive) is stored in app/Modules/module_status.php.
  • Deactivated modules will throw a 404 when accessed.

Composer Autoload

  • Adds App\Modules\ namespace to composer.json PSR-4 autoload.
  • Run composer dump-autoload after creating modules.

Example Usage

php artisan make:module Order          # Full module
php artisan make:module Order --crud   # CRUD module
php artisan make:module Order --force   # Overwrite existing module if exists
php artisan make:module Order --api    # API only module
php artisan make:module Order --delete # Delete module
php artisan make:module Order --deactivate # Deactivate
php artisan make:module Order --activate   # Activate
php artisan make:module Order --test   # Generate Test files
php artisan make:module Order --migration   # Generate migration file inside the module
php artisan make:module Order --request   # Generate FormRequest files for store & update

Notes

  • Laravel 12 uses bootstrap/app.php for middleware registration instead of app/Http/Kernel.php.
  • ModuleLoaderServiceProvider loads only active modules automatically.

License

Released under the MIT License attached with this code.

Copyright

Made with ❤️ by Mehedi Hasan