PHPackages                             mangosoft/modules - 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. [Framework](/categories/framework)
4. /
5. mangosoft/modules

ActiveLibrary[Framework](/categories/framework)

mangosoft/modules
=================

A lightweight modular system for Laravel that helps you organize your application into independent, self-contained modules. Each module has its own Controllers, Models, Providers, Views, and Routes, making large-scale apps easier to manage, scale, and maintain.

v1.0.1(9mo ago)09MITPHP

Since Sep 14Pushed 9mo agoCompare

[ Source](https://github.com/Leotrin/module)[ Packagist](https://packagist.org/packages/mangosoft/modules)[ RSS](/packages/mangosoft-modules/feed)WikiDiscussions main Synced today

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Laravel Modular Skeleton
========================

[](#laravel-modular-skeleton)

A **lightweight modular system for Laravel** that helps you organize your application into independent, self-contained modules. Each module has its own `Controllers`, `Models`, `Providers`, `Views`, and `Routes`, making large-scale apps easier to manage, scale, and maintain.

---

✨ Features
----------

[](#-features)

- ✅ **Generate modules easily** with folder structure (`Controllers`, `Models`, `Providers`, `Views`, `Routes`).
- ✅ **Automatic autoloading** via `Modules\\` namespace.
- ✅ **Per-module ServiceProvider bootstrapping**.
- ✅ `php artisan make:module {name} --api` → API-only module (controller + `routes/api.php`).
- ✅ **Migration file generation** per module.
- ✅ `php artisan module:list` → Show all modules in `/modules` with status.
- ✅ `php artisan module:remove {name}` → Safely remove modules.

---

📦 Installation
--------------

[](#-installation)

1. Install via Composer (if you package this later):

    ```
    composer require mangosoft/modules
    ```

    Or if it’s internal:

    - Copy the package into your Laravel project.
    - Add the service provider in `bootstrap/providers.php` if not auto-discovered.

---

🚀 Usage
-------

[](#-usage)

### Create a Module

[](#create-a-module)

```
php artisan make:module Blog
```

This will generate:

```
/modules
  └── Blog
      ├── Controllers
      ├── Models
      ├── Providers
      ├── Routes
      └── Views

```

### Extend with creating an API Module

[](#extend-with-creating-an-api-module)

```
php artisan make:module Blog --api
```

Generates also:

```
/modules/Blog
  ├── Controllers/Api
  └── Routes/api.php

```

### Generate a Migration

[](#generate-a-migration)

Inside a module, run:

```
php artisan make:migration create_posts_table --module=Blog
```

### List All Modules

[](#list-all-modules)

```
php artisan module:list
```

Displays available modules with status.

### Remove a Module

[](#remove-a-module)

```
php artisan module:remove Blog
```

---

🗂 Folder Structure
------------------

[](#-folder-structure)

```
/modules
  └── {ModuleName}
      ├── Controllers
      ├── Models
      ├── Providers
      ├── Routes
      │   ├── web.php
      │   └── api.php
      └── Views

```

---

🔧 Example
---------

[](#-example)

Creating a module named `Blog`:

```
php artisan make:module Blog
```

Then register routes in `/modules/Blog/Routes/web.php`:

```
Route::get('/blog', [\Modules\Blog\Controllers\BlogController::class, 'index']);
```

And define the controller in `/modules/Blog/Controllers/BlogController.php`:

```
namespace Modules\Blog\Controllers;

use App\Http\Controllers\Controller;

class BlogController extends Controller
{
    public function index()
    {
        return view('Blog::index');
    }
}
```

---

📌 Roadmap
---------

[](#-roadmap)

- Add module publishing (config, assets).
- Module enable/disable support.
- Module testing scaffolding.

---

📝 License
---------

[](#-license)

This project is open-sourced under the [MIT license](LICENSE).

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance56

Moderate activity, may be stable

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 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

Unknown

Total

1

Last Release

292d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1330838?v=4)[Leotrin Elmazi](/maintainers/Leotrin)[@Leotrin](https://github.com/Leotrin)

---

Top Contributors

[![Leotrin](https://avatars.githubusercontent.com/u/1330838?v=4)](https://github.com/Leotrin "Leotrin (5 commits)")

### Embed Badge

![Health badge](/badges/mangosoft-modules/health.svg)

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

###  Alternatives

[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k39.6M298](/packages/laravel-dusk)[nineinchnick/edatatables

Grid widget for the Yii Framework, wrapper for the DataTables jQuery plugin

173.2k](/packages/nineinchnick-edatatables)[link-cloud/fast-hyperf

LinkCloud Fast Hyperf

241.2k1](/packages/link-cloud-fast-hyperf)

PHPackages © 2026

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