Link Search Menu Expand Document

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.

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.