Skip to content

A dirty approach for truly client Android applications using Kotlin

License

Notifications You must be signed in to change notification settings

VictorAlbertos/KDirtyAndroid

Repository files navigation

DirtyAndroid

A dirty approach for Android apps using Kotlin and Jetpack components.

DirtyAndroid

It's time to admit an awful fact: almost every Android application is a pure client application. There is no such a thing as a domain layer. In the unlikely event of some bussines logic is required, it is wiped out as a whole new system (there you go a new library!).

The current architecture has a clear purpose: keeping things as simple as possible without losing the right abstraction to provide just the amount of indirection to keep the app testeable. There is no ceremony, no Uncle Bob, no clean code; just Android itself, naked, truly exposed with its dirtiness.

What's in this repository

  • An uncertain amount of bugs.
  • Retrofit for making HTTP calls.
  • Coroutines for asynchronous operations.
  • Hilt for resolving dependencies.
  • The Navigation component for navigating between screens and passing data safely with SafeArgs.
  • Paging for loading and displaying pages of data from the Github Api.
  • Repositories, ViewModel(s) and Fragments.
  • A Compose disgusting UI.