Closed alexandru-calinoiu closed 3 years ago
@alexandru-calinoiu I have no experience with dynamic feature modules so I can't really comment on the code.
My understanding is that feature modules are related to on demand download from Google Play distribution which doesn't apply to our app(because it is small and we would get basically no benefit vs complexity). However, the navigation library doesn't seem to support normal modules and we kind of need to use feature modules if we use the navigation library.
Merging this for now and will fix the improvements in another PR.
This is a proposal to split the app into feature modules, the main benefit in this case it will make the development easier as individual contributors can focus their effort on a individual feature and own it.
A brief explainer of the features can be found here
A brief explanation of the modules;
app
is the com.android.application, which is needed to create the app bundle. It will also init the dependency injection and other libraries that require init at the app levelcore
it will be used for serving network requests or accessing the databasecommons
are com.android.library and they hold common resources shared between features. Reusing layouts, resources views without needing to duplicate codefeatures
modules are com.android.dynamic-feature it ill hold code required for a feature all assets and other dependeciesWhat does it fix?
Closes #XXX
How has it been tested?