DarkmiraTour/community-event-manager

reorganize the code in a more modular way

Closed this issue · 1 comments

As discussed with @tdutrion , the project is growing in size and is essentially a monolith. To prevent it from becoming spaghetti code and to keep a clean structure, we should take a more modular approach.

Larry Constantine's studies on software cohesion and coupling concluded that functional cohesion is the highest and most desirable form of cohesion. That is, organizing code and modules around functionalities and use cases. This is in line with DDD's notion of bounded contexts, then subdividing these contexts by functionality.

Sounds good to me. I think we will need the following changes:

  • entities are using uuid as key
  • communication between contexts is done through a messenger