Monolithic applications are great when you start building your company, but as time progresses, they become difficult to maintain. These codebases, as they grow, easily become Big Balls of Mud. When building large applications in frameworks like Rails, the very convention-over-configuration design principles that made Rails such a joy to use begin to get in the way when the application grows in scope.


last year

Applying DDD to Rails. The idea is to separate the business in different subdomains of our domain. Each one of these can be translated to the rails directory structure, so we can have a more logical separation of files and they are likely to be more related and augment communications between each other. This is a step closer to micro-services organization. Bounded contexts is our mapping of the real world (as shown in the context map of the article). The nice thing is that this could be done incrementally.