zofe/rapyd-module-installer

Rapyd Module Installer, to move remote rapyd-livewire modules in your application Modules folder

Installs: 377

Dependents: 6

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:composer-plugin

0.11 2024-06-11 14:48 UTC

This package is auto-updated.

Last update: 2024-07-14 08:22:12 UTC


README

This package provides a streamlined approach to managing modular components within a Laravel application, particularly when used in conjunction with the Rapyd Admin package.

With this tool, you can easily install standalone modules—whether public or private—directly into your Laravel project's Modules/ directory, rather than the vendor/ directory. This approach ensures that each module is seamlessly integrated into your project, enhancing maintainability and modularity.

Key Features

  • Modular Installation: Install modules into the Modules/ directory to keep them as part of your project's structure.
  • Simplified Process: Use composer to add modules effortlessly. For instance, running composer install myvendor@mymodule-module will place the module in your Modules/ directory.

Important Notes

  • The "update" and "remove" logic for modules installed via composer using this installer is deliberately not implemented.
  • Running composer remove myvendor@mymodule-module will not delete the module's folder or any of your changes from the project.

This package is designed to facilitate the modular management of your Laravel application, ensuring that each module remains a coherent part of your development environment.

Creating Your Own Module

To create your own module for a Laravel application using Rapyd Admin, you can define a custom composer package. Below is an example of a composer.json file for a generic module:

{
    "name": "yourvendor/yourmodule",
    "description": "A custom module for a Laravel application",
    "license": "mit",
    "type": "rapyd-module",
    "authors": [
        {
            "name": "Your Name",
            "email": "your.email@example.com"
        }
    ],
    "require": {
        "php": "^8.2",
        "illuminate/config": "^11.0",
        "illuminate/contracts": "^11.0"
    },
    "config": {
        "allow-plugins": {
            "zofe/rapyd-module-installer": true
        }
    },
    "extra": {
        "laravel": {
            "providers": [
                "App\\Modules\\YourModule\\YourModuleServiceProvider"
            ]
        }
    },
    "minimum-stability": "stable",
    "prefer-stable": true
}

Basic folder structure for the module:

Livewire/
  ├─ Component.php
Views/
  ├─ component_view.blade.php
├─ routes.php
├─ config.php
├─ composer.json

Notes

Public available modules

zofe/demo-module rapyd demo