DarkmiraTour / community-event-manager

Web application with a collection of tools helping people organising community events such as multi-days conference with reminders, CRM and such
GNU General Public License v3.0
21 stars 22 forks source link

reorganize the code in a more modular way #210

Closed kuraobi closed 4 years ago

kuraobi commented 4 years ago

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.

tdutrion commented 4 years ago

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