Some of the patterns used while building Reverb.com's large codebase including concepts from DCI and Clean Architecture such as Use Cases, Roles, Events, and Policies.
my default inclination is to prefer a monolithic design” “While small microservices are certainly simpler to reason about, I worry that this pushes complexity into the interconnections between services” “Refactoring becomes much harder when you have to do it across remote boundaries.”
49 changes this year" Order 333 LOC ~200 LOC non-ActiveRecord Churn: 36 changes this year User 338 LOC ~200 LOC non-ActiveRecord Churn: 29 changes this year
Cron Redis Rake HTTP Services Workers R Entities Roles DB Listeners Events Active Record Use Cases Grape API Controllers Cron Redis Rake HTTP Services Workers R Entities Roles DB Listeners Events