Clean Architecture
Android example with Clean Architecture by layer.
Watch the course here: Clean Architecture
NOTE I got rid of dynamic feature modules because you cannot write tests currently. See bug: google issue tracker.
In the future I will make another course on Dynamic Feature Modules.
Running this app
To run this app you will need to create a firebase project and hook it up with the project. I password protected the login of mine so you won't be able to get into the app.
Running the Tests
- cd into /tests/
- type in terminal:
run_tests.sh
This will run all the unit tests and instrumentation tests. It will also start the firebase emulator to simulate firestore db. The test results are in/app/build/reports/
.
Credits
- https://proandroiddev.com/gradle-dependency-management-with-kotlin-94eed4df9a28
- https://proandroiddev.com/intro-to-app-modularization-42411e4c421e
- https://www.droidcon.com/media-detail?video=380845032
- https://proandroiddev.com/kotlin-clean-architecture-1ad42fcd97fa
- https://www.raywenderlich.com/3595916-clean-architecture-tutorial-for-android-getting-started
- http://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
- https://developer.android.com/guide/navigation/navigation-dynamic
- https://proandroiddev.com/navigation-with-dynamic-feature-modules-48ee7645488
- https://medium.com/androiddevelopers/patterns-for-accessing-code-from-dynamic-feature-modules-7e5dca6f9123
- https://hackernoon.com/android-components-architecture-in-a-modular-word-d0k32i6