TCA for large modularized applications

Hi, I have few questions regarding using TCA in a very large but modularized application. Imagine 100 features where every feature is a separate module.

  1. We want to use create a global store/state that can be used (read only access) across multiple features but this global state can only be mutated in the module where it lives
  2. We want to create separate stores/state (trees) per feature that are not children of global state and only created in local scope of the feature. This local TCA stack (state, action, store, reducer, environment) should be created without involving any global state/store. Most likely, a module interface will never expose it's local TCA stack to the outside world.
  3. A feature might need read-only access to global state/store
  4. #2 & #3 need to be consistent and boilerplate free pattern that we can repeat for any feature for scalability (modularization)
  5. All local/global state changes should be easily debug-able in their own context

Could you please help us model this architecture with some pseudocode or refer us to any existing examples?

Have you had a look at the Sample Projects within the TCA repo? There's also the isowords app as a production example.

If these don't help, I'm currently developing an open source Focus Timer in my live streams which is currently at ~10 components but growing each week, see here:

Yes, I had checked those projects.

Thanks I will take a look at your project :+1: