melihaksoy / Android-Kotlin-Modulerized-CleanArchitecture

πŸš€ Example modularized android application with single activity written in Kotlin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Android-Kotlin-Modulerized-CleanArchitecture

Actions CircleCI codebeat badge codecov Awesome Kotlin Badge

This is a prototype application tries to serve an example for modularization & clean architecture in Android.

While there are many blogs about good practices, it's hard to come by a complete example that merges these different popular topics & approaches.

This project takes popular approaches and libraries to create an example on how to actually bind these components with each other.

I'll soon be writing small series about roadmap, challanges, alternatives and try - fails I've encountered during development in Medium.

Stack

  • MVVM
  • Databinding
  • Dagger 2
  • Retrofit
  • Moshi
  • Navigation library
  • Coroutines
  • Room
  • Paging
  • Detekt
  • Clean Architecture
  • Modularization
  • JUnit5
  • Mockk
  • Kluent
  • JaCoCo
  • CircleCI
  • Fastlane

Modularization Graph

modularization graph

Dependency graph

dependency hierarchy

LICENSE

Copyright 2019 Melih Aksoy

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.