silviuvoicu / ddd-house

Building a house with DDD

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DDD House

This repository is used to 'build a house with DDD'. It's a means of getting my head around a few concepts I've been learning recently. Such as the following:

The biggest thing I aim to achieve is the separation of layers. Using modelling by example to work from the middle out. Cleanly separating the domain from the rest of the application.

I aim to do this iteratively with each stage of my work in a separate branch. For example, version1 branch may be just setting up some basic behat features through to a fully featured domain layer, with infrastructure supporting a front end that communicates to the domain.

How to use this repo

View each branch along with the notes in the commit message to see what each commit adds.

Demo app

The demo app is viewable at https://dddhouse.herokuapp.com/

CLI app

A gif of the CLI version in action:

Inspiration

As mentioned the blog post by Everzet on 'Modelling by example' was a big inspiration behind this kind of approach. Definitely read it. Funnily enough, he has been working on a similar repository which I wasn't aware of until recently called 'pick-my-talks'. It doesn't cover things like commands and handler but is probably a better example of modelling by exmaple than this, so definitely recommend checking that out also.

Other sources of inspiration include:

TODO

  • Add acceptance tests as a next step.
  • Look into possibility of adding some kind of persistence of house state.

About

Building a house with DDD