cbaconnier/laravel-mvc-to-ddd

Automatically change the default Laravel MVC architecture to DDD architecture

1.2.1 2023-02-20 13:07 UTC

This package is auto-updated.

Last update: 2024-06-08 22:25:00 UTC


README

Automatically change the default Laravel MVC architecture to a DDD architecture approach.
You can see an example of what it will do on a fresh Laravel application using Livewire, Jetstream and teams feature: cbaconnier/laravel-mvc-to-ddd-demo

Disclaimer

⚠️ I will not be responsible if this package destroys your code. It should only be used on a fresh installation.

Requirements

  • Fresh installation of Laravel 10
  • Laravel Fortify (optional)
  • Laravel Jetstream (optional)
  • Laravel Pest (optional)

Installation

You can install the package via composer:

composer require cbaconnier/laravel-mvc-to-ddd --dev

Usage

Since the command may be destructive to your application, it's strongly recommended to commit before you run this command

php artisan ddd:install

Note: You can remove it once it has been installed

composer remove cbaconnier/laravel-mvc-to-ddd

Architecture

.
├── boostrap
├── config
├── database
├── public
├── resources
├── routes
├── src
│   ├── App
│   │   ├── Controllers
│   │   ├── Exceptions
│   │   ├── Providers
│   │   └── View
│   ├── Domain  
│   │   ├── Team
│   │   │   ├── Actions
│   │   │   ├── Models
│   │   │   └── Policies
│   │   └── User   
│   │       ├── Actions
│   │       ├── Models
│   │       └── Rules
│   └── Support  
│       └── Middleware
├── storage
└── tests
    ├── App
    │   ├── ApiTokens
    │   ├── Auth
    │   ├── Profile
    │   └── Teams
    ├── Domain
    └── Support

Todo

  • Support laravel/ui
  • Cleanup the empty folders

Credit

Thanks to Brent Roose for his awesome work on Laravel Beyond CRUD on which this architecture is based on.