ibecsystems/laravel-porto

This package implements the Porto, a modern Software Architectural Pattern

v3.0.2 2024-04-23 09:47 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Requirements

  • Laravel 11
  • Filament 3
  • Spatie/Laravel-Data v4

Roadmap

  • Add Ship folder generator command
  • Auto import MainServiceProvider to ShipProvider
  • Remove RouteServiceProvider
  • Support Filament v3, add FilamentPlugin to generator
  • Update Porto installing documentation

Installation

You can install the package via composer:

composer require ibecsystems/laravel-porto

And run this command to copy Ship folder and import ShipProvider

php artisan porto:install

You can try running this command to check the successful installation Porto:

php artisan porto:check

You can publish the config file with:

php artisan vendor:publish --tag="porto-config"

Usage

You can generate new container via command:

php artisan make:porto-container

You can see other generate commands:

php artisan make:porto

Standard Container's Structure:

Container
	├── Database
	├── Models
	├── Providers
	│   └── MainServiceProvider.php
	└── UI
	    ├── WEB
	    │   ├── Routes
	    │   ├── Controllers
	    │   └── Views
	    ├── API
	    │   ├── Routes
	    │   ├── Controllers
	    │   ├── Actions
	    │   ├── DTO
	    │   ├── RequestDTO
	    │   └── Routes
	    └── CLI
	        ├── Routes
	        └── Commands

Filament v2 Structure:

Container
	├── Providers
	│   └── FilamentServiceProvider.php
	└── UI
	    └── Filament
	        └── Resources
	            └── FilamentResource.php

Filament v3 Structure:

Container
	└── UI
	    └── Filament
	        ├── Resources
	        │   └── FilamentResource.php
	        └── FilamentPlugin.php
            

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.