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
- Fresh installation of Laravel 10
- Laravel Fortify (optional)
- Laravel Jetstream (optional)
- Laravel Pest (optional)
You can install the package via composer:
composer require cbaconnier/laravel-mvc-to-ddd --dev
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
.
├── 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
- Support laravel/ui
- Cleanup the empty folders
Thanks to Brent Roose for his awesome work on Laravel Beyond CRUD on which this architecture is based on.