Skip to content
This repository has been archived by the owner on Jan 24, 2021. It is now read-only.

Latest commit

 

History

History
30 lines (25 loc) · 1.43 KB

README.md

File metadata and controls

30 lines (25 loc) · 1.43 KB

CQRS + ES + DDD core

Requirements and my interpretation

Requirements and interpretation

Setup options

Clone repo and use your favorite editor

  1. Rider + .NET Core 3.1
  2. VSCode
    • VS Code > Terminal > Run Task > test -VS Code > Terminal > New Terminal and then dotnet test -v=n

Assumptions:

  1. Editor will assign article to copy writers to review
  2. Events won't not have aggregateID within themselves; but it is with envelope.
    • Imagine events are personal letter and aggregateId as communication address and other details on envelope.
  3. EventStore is implemented in memory and each Aggregate will share same EventStore

Things completed

  • As an editor in chief, I add a list of topics for the new edition of a magazine.
  • As a journalist, I submit a draft article for publishing to a given topic
  • As a copywriter, I suggest changes to the draft article I'm assigned to
  • As a journalist, I respond to suggestions by making the suggested changes
  • As a copywriter, I resolve suggestions that the journalist applied
  • As a journalist, I can publish the article after all suggestions are resolved

Items to finish:

  • Replace string to NonEmpty<String> type from domain (article, message, commands..etc)
  • move out Event Producer from Article file.
  • Integrate with in memory store..