PHPackages                             bigtechlab/ddd - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. bigtechlab/ddd

ActiveLibrary

bigtechlab/ddd
==============

This is my package ddd

v1.0(2y ago)0168[2 PRs](https://github.com/theaddresstech/ddd-v3/pulls)MITPHPPHP ^8.1

Since Dec 5Pushed 1y ago1 watchersCompare

[ Source](https://github.com/theaddresstech/ddd-v3)[ Packagist](https://packagist.org/packages/bigtechlab/ddd)[ Docs](https://github.com/bigtechlab/ddd)[ RSS](/packages/bigtechlab-ddd/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (14)Versions (4)Used By (0)

This Package support DDD with laravel
=====================================

[](#this-package-support-ddd-with-laravel)

to Install This Package Following this steps:

1-Update your `composer.json` with following code

```
   "autoload": {
      "psr-4": {
          "App\\": "app/",
          "Database\\Factories\\": "database/factories/",
          "Database\\Seeders\\": "database/seeders/",
          "Src\\":"src/"
      }
  },

```

2- run following command :

```
  composer dump-autoload

```

3-setup package by writting folowing command :

```
  composer require bigtechlab/ddd

```

usage
=====

[](#usage)

The package provide 2 commands:

1-First command :

```
  php artisan ddd:directory

```

after run php artisan ddd:directory will generate `src` folder in base path this folder contain 3 major folders:

```
1-Common: this will contain all common folders such as :

    1.1-Commands   :folder will contain all console commands files that will generate through project.

    1.2-Console    :folder will contain `kernel.php` that where All of your console commands are registered within your application's.

    1.3-Exceptions :folder will contain `kernel.php` This class contains a register method where you may register custom exception reporting and rendering callbacks

    1.4-Helpers    :folder will contain all helpers files that may need or adding new helper files as you need such as : `main.php`,`Enum.php`

    1.5-Http       :folder will contain:
        1.5.1-Http Folder : Will contain Middleware Folder which will contain All middlewares that will available in project.

        1.5.2-kernel.php : This class is used to register your middleware

   1.6-Providers   :folder will contain  service providers that will bootstrp your own application such as (DomainServiceProvider,RouteServiceProvider,RepositoryServiceProvider`,HelperServiceProvider,EventServiceProvider,PolicyServiceProvider)

2-Infrastructure will contain all infrastucture files that will be base calsses for classes that find in Domain Folder  such as:

    2.1-AbstractModels : contain BaseModel class that all entities  extend from it

    2.2-AbstractProviders :contain ServiceProvider class that all service providers extend from it

    2.3-AbstractRepositories :contain basis calsses that all entity EloquentRepository and entity contract repository will extend from it

    2.4-Commands :contain basis calss that all commands in project will extend from it

    2.5-Contracts :contain BaseRepository class  that EloquentRepository extend from it and scope class that all scopes in class extend from it

    2.6-Http : contain basis for Controller,Request,Resource,Factory

    2.7-scoping: contain scoper class

    2.8-Traits :contain set of traits that will used in app

3-Domain Holds the future-domains of the app by default Dashboard And User will be in Domain each domain contain folders

  3.1-Database contain all migrations ,factotories,seeders entities in Domain

  3.2-Entities Contain all entities in Domain besides Traits Folder that contain (CustomAttributes folder contain entityAttributes and Relations Folder contain entity Relations )

  3.3-Http contain three folders (Controller ,Request ,Resources) in each folder contain contain logic for aspecific job

  3.4-Policies contain policy that declared in domain

  3.5-Providers contain providers that related to domain such as  (DomainServiceProvider,RouteServiceProvider,RepositoryServiceProvider`,HelperServiceProvider,EventServiceProvider,PolicyServiceProvider)

  3.6-Repositories contain two folder (Contracts,Eloquent) that are included to support l5 Repository

  3.7-Routes      contain two folder one for api  and other for web containing (auth,guest,public)

  3.8-Resources containing views related to Entites in Domain

  3.9-Traits   can declare traits that specific for each domain in it

the command will modify the Kenel namespace in the `boostrap/app.php` + overwrite the service-providers namespaces in `config/app.php`

```

2- second command : `php artisan ddd:make {type}`

```
`{type}` can be :

`Domain` : create new folder in Domain with name that passes in command and will contain three folders (providers,routes,traits,contract)

`Entity` : create new Entity in Entities Folder  in specified Domain

`Repo`   : create new Repository in Repositories folder in specified Domain

`Event`  : create new Event in Events folder in specified Domain and adding to listen in EventServiceProvider in specified Domain

`Listener` : create new Listner in Listners folder in specified Domain and adding to listen in EventServiceProvider in specified Domain

`Resource`   : create a new resource in a specified domain with apecific entity

`Request`     : create a new Request in a specified domain

`Rule`        :create a new Rule in a specified domain

`Migration`    :create a new migration in a specified domain

`Factory`     :create a new factory in a specified domain

`Seeder`     :create a new seeder in a specified domain

`Notification` :create new notification in aspecified domain

`Controller`   :create new controller in aspecified domain that can be (resource,sac)

`Crud` : [ creates : Entity + DatabaseView + Migration + Factory + Seeder + Views + Datatable + Request + Repo + Resource + Controllers ]

```

Please note that there are options that may be required in order to create any type and you will be asked throwghout the creation process. Therefore you can run the command above without specify any additional option

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance27

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 55.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

892d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d59d1852963bc9040a2f42d8503dc0fcd9f4e4998200e1149c1ed9caaf74ef41?d=identicon)[Eslam Farahat](/maintainers/Eslam%20Farahat)

---

Top Contributors

[![Eslam-adel-github](https://avatars.githubusercontent.com/u/57862768?v=4)](https://github.com/Eslam-adel-github "Eslam-adel-github (5 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (2 commits)")

---

Tags

laraveldddbigtechlab

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/bigtechlab-ddd/health.svg)

```
[![Health](https://phpackages.com/badges/bigtechlab-ddd/health.svg)](https://phpackages.com/packages/bigtechlab-ddd)
```

###  Alternatives

[vormkracht10/laravel-mails

Laravel Mails can collect everything you might want to track about the mails that has been sent by your Laravel app.

24149.7k](/packages/vormkracht10-laravel-mails)[lunarstorm/laravel-ddd

A Laravel toolkit for Domain Driven Design patterns

17959.0k](/packages/lunarstorm-laravel-ddd)[spatie/laravel-prometheus

Export Laravel metrics to Prometheus

2651.3M6](/packages/spatie-laravel-prometheus)[hydrat/filament-table-layout-toggle

Filament plugin adding a toggle button to tables, allowing user to switch between Grid and Table layouts.

6292.3k1](/packages/hydrat-filament-table-layout-toggle)[scalar/laravel

Render your OpenAPI-based API reference

6183.9k2](/packages/scalar-laravel)[ralphjsmit/laravel-helpers

A package containing handy helpers for your Laravel-application.

13704.6k2](/packages/ralphjsmit-laravel-helpers)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
