Skip to content

Commit 6cb8c13

Browse files
author
Alexander Miertsch
committed
Update README.md
1 parent cb6c949 commit 6cb8c13

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed

README.md

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,43 @@ PHP version of the cargo sample used in Eric Evans Domain-Driven Design book
66
[![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/codeliner/php-ddd-cargo-sample/badges/quality-score.png?s=d68042d97e40904ec369e137b60a1076509298f8)](https://scrutinizer-ci.com/g/codeliner/php-ddd-cargo-sample/)
77
[![Build Status](https://travis-ci.org/codeliner/php-ddd-cargo-sample.png?branch=master)](https://travis-ci.org/codeliner/php-ddd-cargo-sample)
88

9-
[> Installation](https://github.com/codeliner/php-ddd-cargo-sample/blob/master/docs/installation.md)
10-
11-
[> DDD Tools and Libs](https://github.com/codeliner/php-ddd-cargo-sample/blob/master/docs/domain-driven-design-tools.md)
129
Goal of the Project
1310
-------------------
1411
We want to show the PHP way of implementing Domain-Driven Design with the help of
1512
the original Cargo sample used in Eric Evans book
1613
`Domain-Driven Design: Tackling Complexity in the Heart of Software`.
1714
This has already been done using java and a C# version is also available.
18-
The sample is not meant to be as the one and only way. It should help you understand the theory
15+
16+
It is not the one way to apply DDD, but should help you understand the theory
1917
and gives you a starting point. Also see the [Caveats](http://dddsample.sourceforge.net/) of the
2018
java implementation. The same applies for our version.
2119

20+
<b>The PHP port is work in progress. Your welcome to fork the repo and help finishing the cargo sample application.</b>
21+
22+
The application layer is based on ZF2 and we use Doctrine2 to persist our aggregates.
23+
This would be a common combination in a large PHP project but both frameworks are not required. They just make our life easier and let us focus on the Domain-Driven Design implementation. Both can be replaced with any other PHP based components.
24+
25+
<b>If you like our shipping system, become a stargazer or watch the project and come back soon. We have some interssting topics in the pipeline. Here is a preview of what follows next:</b>
26+
27+
+ Introduce an application layer to better shield the domain
28+
+ Switch to hexagonal architecture
29+
+ A deep dive into Entities, ValueObjects, Aggregates and DomainServices
30+
+ Communication across bounded contexts
31+
+ CQRS and asynchonous Messaging
32+
+ Use EventSourcing to persist Aggregates
33+
34+
2235
Iterative Implementation
2336
------------------------
2437
To go with you when you read the book, our sample has a [release of each chapter](https://github.com/codeliner/php-ddd-cargo-sample#chapter-overview). So you can
2538
simply `git checkout ChapterOne` and you only get the starting view of the domain
2639
with just to entities `Cargo` and `Voyage`. Our application evolves chapter by chapter
2740
the more knowledge we get about the domain. Each chapter ships with it's own review, where you can find additional information about the implementation, tips and tricks and many more.
2841

42+
+ [Installation](https://github.com/codeliner/php-ddd-cargo-sample/blob/master/docs/installation.md)
43+
+ [DDD Tools and Libs](https://github.com/codeliner/php-ddd-cargo-sample/blob/master/docs/domain-driven-design-tools.md)
44+
45+
2946
Chapter Overview
3047
----------------
3148

@@ -83,13 +100,3 @@ Support
83100
If you have any problems with the application please let me know and send me an email `kontakt[at]codeliner[dot]ws` or open a [GitHub issue](https://github.com/codeliner/php-ddd-cargo-sample/issues?state=open).
84101
Same applies if you have a question or a feature wish.
85102
Maybe I've missed a concept that you hoped to find in the example.
86-
87-
Acknowledgement
88-
---------------
89-
This project is work in progress. Your welcome to fork the repo and help finishing the cargo sample application for php.
90-
The application layer is based on ZF2 and we use Doctrine2 to persist our aggregates.
91-
This would be a common combination in a large PHP project but both frameworks are not required. They just make our life easier
92-
and let us focus on the Domain-Driven Design implementation. Both can be replaced with any other PHP based components.
93-
94-
The original cargo sample written in java can be found [here](http://dddsample.sourceforge.net/).
95-

0 commit comments

Comments
 (0)