I'm creating a sample app which I'm following the clean architecture, my app structure now is like this :
- :app
- :firebase
- :library_base (which contains all the baseActivity, baseFragment, etc.. I know I could create a base_ui, base_data, module, but let's first solve this question that I'm having right now)
- :networking (which contains retrofit stuff)
- feature1
- feature2
- ....
So now, my question is, now I do not need a core
module, but in case one of my featureX, needs a dependency from featureY, what should I do in this case? I'm used to have a core
on my app that contains stuff like LoginSettings
which contains data from the user logged and things like that, and now if I'd have to do this I could not because featureX can not depend on app, so that's why I'm thinking about adding a core module and insert all of the needs from featureX there so they can use it. (Yes, I said "all of the needs", I did not mean to create a god module, but just to start the app).
Is it necessary to create a core module? I'm not using dynamic feature tho, and also I'm seeing that on each build.gradle
files I'm duplicating a lot of dependencies...
From now in the app I have everything with api
should I put that in the core
?