A guide to building modular Rails applications with bounded contexts
A collection of resources to organise or extract your Rails app with Bounded Contexts and Rails Engines to a Modular Monolith ✨
Goal of this guide
The goal of this guide is to provide help on how to split up a Rails monolith towards a modular monolith. Or, if you’re about to get started help you to think the modular monolith way.
Books that help
Some books that will help you get on your way.
- Domain Driven Design
- Component-Based Rails Applications
- Modulair Rails (Not affilated with this site)
- Domain Driven Rails From Arkency
Benefits of modularisation
Easier to understand, less cognitive load
It’s easier to see where the bounded contexts are drawn.
Easier and faster to test
You only need to test the engines affected and the ones up your dependency chain.
Less coupling, easier to make changes
If you have your boundaries correctly defined it will be easier to swap out components.
Less merge conflicts
Because a change is more isolated to a specific domain the changes will be confined to that module only.