hungthai1401/laravel-domain-oriented

Build a domain-oriented application on Laravel Framework

v0.0.1 2022-07-11 01:32 UTC

This package is auto-updated.

Last update: 2024-04-11 06:07:21 UTC


README

This package builds a structure to domain-oriented application (not DDD).

Requirements

  • PHP 7.2+, 8.0, 8.1
  • Laravel 7.x, 8.x, 9.x

Introduction

I want to build structures in an organized and productive way. Take a look at the final structure:

src
├── App
│   ├── Admin
│   │   ├── Controllers
│   │   ├── Middlewares
│   │   ├── Requests
│   │   └── ...
│   ├── Api
│   │   ├── Controllers
│   │   ├── Middlewares
│   │   ├── Requests
│   │   └── ...
│   └── Console
│       ├── Commands
│       └── ...
├── Domain
│   ├── Dummy
│   │   ├── Actions
│   │   ├── QueryBuilders
│   │   ├── Collections
│   │   ├── DataTransferObjects
│   │   ├── Events
│   │   ├── Exceptions
│   │   ├── Listeners
│   │   ├── Models
│   │   ├── Rules
│   │   └── States
│   └── ...
├── Support
│   ├── Providers
│   ├── Middlewares
│   ├── Controllers
│   └── ...
database
├── factories
├── migrations
└── seeders
...

Setup

  1. Run this Composer command to install the latest version
composer require hungthai1401/laravel-domain-oriented --dev
  1. If you prefer, you can export the config files:
php artisan vendor:publish --provider="HT\LaravelDomainOriented\ServiceProvider" --tag="config"
  1. Run this command to build the domain structure:
php artisan domain:make Dummy
  1. And of course, if you want to remove the structure, just run this command:
php artisan domain:remove Dummy

Reading Articles

  1. Domain oriented Laravel
  2. Please, stop talking about Repository pattern with Eloquent