https://github.com/matiux/ddd-starter-pack
Basic DDD structures and utilities
https://github.com/matiux/ddd-starter-pack
aggregate basic-tools ddd domain domain-driven-design
Last synced: 8 months ago
JSON representation
Basic DDD structures and utilities
- Host: GitHub
- URL: https://github.com/matiux/ddd-starter-pack
- Owner: matiux
- Created: 2017-10-28T13:06:05.000Z (about 8 years ago)
- Default Branch: develop
- Last Pushed: 2025-02-20T22:02:18.000Z (11 months ago)
- Last Synced: 2025-04-23T04:06:15.575Z (9 months ago)
- Topics: aggregate, basic-tools, ddd, domain, domain-driven-design
- Language: PHP
- Homepage:
- Size: 1.13 MB
- Stars: 3
- Watchers: 2
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
DDD Starter Pack
=====



[](https://codecov.io/gh/matiux/ddd-starter-pack)
[](https://shepherd.dev/github/matiux/ddd-starter-pack)
[](https://shepherd.dev/github/matiux/ddd-starter-pack)




This library contains "concepts" to development of microservices based on hexagonal architecture and DDD.
* Branch v2: PHP < 8.0
## Development
```bash
git clone git@github.com:matiux/ddd-starter-pack.git && cd ddd-starter-pack
cp docker/docker-compose.override.dist.yml docker/docker-compose.override.yml
rm -rf .git/hooks && ln -s ../scripts/git-hooks .git/hooks
```
```bash
make build-php ARG=--no-cache
make upd
make composer ARG=install
```
## test
```bash
make build-php ARG=--no-cache
make upd
make create-schema
make test
```
This repository uses GitHub actions to perform some checks. If you want to test the actions locally you can
use [act](https://github.com/nektos/act). For example if you want to check the action for static analysis
```bash
act -P ubuntu-latest=shivammathur/node:latest --job static-analysis
```
#### Modules
* [Aggregate](doc/aggregate.md)
* [Command](doc/command.md)
* [Data transformer](doc/data_transformer.md)
* [Event](doc/event.md)
* [Exception](doc/excpetion.md)
* [Message](doc/message.md)
* [Service](doc/service.md)
* [Util](doc/util.md)
#### TODO
* Prendere spunto da questi progetti per la gestione degli eventi nei modelli di dominio
* https://github.com/jkoudys/immutable.php
* https://github.com/buttercup-php/protects
* Separare le parti infrastrutturali in altre librerie