cbaconnier / laravel-mvc-to-ddd
Automatically change the default Laravel MVC architecture to DDD architecture
Installs: 1 049
Dependents: 0
Suggesters: 0
Security: 0
Stars: 20
Watchers: 1
Forks: 2
Open Issues: 1
Requires
- php: ^8.1
- illuminate/console: ^9.0|^10.0
- illuminate/filesystem: ^9.0|^10.0
- illuminate/support: ^9.0|^10.0
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.