Skip to content

hammernetwork/android-clean-architecture-kotlin-mvvm

Repository files navigation

banner

Android - Clean Architecture - Multi-Module - Kotlin

Forked and rework from Android - Clean Architecture - Kotlin

The purpose of this repo is to follow up Clean Architecture principles by bringing them to Android. It is worth saying that the idea is to take advantage of the Kotlin Programming Language features plus also pull in lessons learned and ideas from other interesting aproaches like Functional Programming.
Fernando Сejas's example is converted to a multi-module package by feature project structure.

Blog post with implementation details explanation:

Architecting Android… Reloaded

Other material worth reading:

Architecting Android…The clean way?

Architecting Android…The evolution

----------------------------------------------------------------------------------------------

Sample app

----------------------------------------------------------------------------------------------

Clean Architecture

https://fernandocejas.com/2018/05/07/architecting-android-reloaded/

----------------------------------------------------------------------------------------------

Android 3 Layers Architecture

https://fernandocejas.com/2018/05/07/architecting-android-reloaded/

----------------------------------------------------------------------------------------------

UI Layer: MVVM

https://fernandocejas.com/2018/05/07/architecting-android-reloaded/

----------------------------------------------------------------------------------------------

Data Layer: Repository

https://fernandocejas.com/2018/05/07/architecting-android-reloaded/

----------------------------------------------------------------------------------------------

Local Development

Here are some useful Gradle/adb commands for executing this example:

  • ./gradlew deployDebug - Builds and install the debug apk on the current connected device.
  • ./gradlew runUnitTests - Execute all unit tests (both unit and integration).

Discussions

Refer to the issues section: https://github.com/hammernetwork/android-clean-architecture-kotlin-mvvm/issues

License

Copyright 2019 Andriy Se

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.