Building a domain model in code is a way to capture knowledge about how a business operates. It is a fundamental element of building an event sourced domain driven application. The code in this repo is about building a domain model in Python from scratch and should give you a good understanding of how to implement the concepts of domain driven design in practice.
Part 1 deals with the general concepts of domain driven design, such as entities, value objects and aggregates. We walk through the design of a domain model in a fairly general way so as to get a working model as quickly as possible. You can read the accompany blog post here: https://www.eventsorcery.com/building-a-real-world-domain-model-python/.
Part 2 takes a test driven approach to further developing the domain model. This is less about the principles of DDD, and more about the process of engaging with a domain expert in order to write suitable tests. The accompanying blog post is here: https://www.eventsorcery.com/improving-ddd-model-with-tdd/. The domain model in this part will form the basis for the remainder of my series on event sourcing in Python.