Skip to content

Automatically change the default Laravel MVC architecture to a DDD architecture approach

Notifications You must be signed in to change notification settings

cbaconnier/laravel-mvc-to-ddd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel MVC to DDD

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.

About

Automatically change the default Laravel MVC architecture to a DDD architecture approach

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages