TCA Ideal file structure for production-level apps?

Just wanted to leave my five cents here.

We're also building an application with TCA and did consider how to organize our folder/file structure. In the end, we decided to go down a similar path as the one you're proposing. However, we split up the "ViewModel" file into a ViewState, ViewAction, ViewEnvironment and Reducer based on the Modularity section on PointFree.

App
⎣__Module
   ⎣__Main
   .  ⎣__MainView
   .  ⎣__MainViewState
   .  ⎣__MainViewAction
   .  ⎣__MainViewEnvironment
   .  ⎣__MainReducer
   ⎣__SignIn
   .  ⎣__SignInView
   .  ⎣__SignInViewState
   .  ⎣__SignInViewAction
   .  ⎣__SignInViewEnvironment
   .  ⎣__SignInReducer

I think keeping these components together in one folder makes it easier to understand which parts are pieced together and would recommend such a folder structure over the one chosen for the small case studies. Such a folder structure is also common practice for UIKit application and has proven to scale for bigger and even modularized applications, so I see no clear reason why not to adopt it. :slightly_smiling_face:

4 Likes