New to CBRA and Packwerk, seeking guidance on componentizing a Rails app using Stephan Hagemann's approach

This message was imported from the Ruby/Rails Modularity Slack server. Find more info in the import thread.

Message originally sent by slack user U70Y7FMSA5D

:wave: Hi everyone! I’m new to CBRA and newer to Packwerk. I’ve been working on componentizing our rails app at work into domain areas via the CBRA approach. I just found Stephan Hagemann’s latest leanpub work and purchased it. Now I’m questioning my approach.

I haven’t read Stephen’s latest work — can you relate what in particular you’re questioning?

Message originally sent by slack user U70Y7FMSA5D

Using Gems and Engines to componentize a rails app. The process for packwerk seems so much easier to break the app into domains instead.

I’ve started down the gem/engine approach, already. It’s been good for discovering some seams, but I think I want to throw it all away and start over with Packwerk now.

Message originally sent by slack user U70TIGAX94P

Shopify is using a hybrid approach with light use of engines (less involved than the CBRA approach) in combination with packwerk.

Engines just mainly for setting up autoload paths and initializers (other features can be opted in to step by step), no per-engine gemfiles. Engines are packages (called components), but more packages exist within them that are not engines.