Skip to content

AndZp/Clean-MVVM-Coroutines

Repository files navigation

TMDB Movies - Clean-MVVM-Coroutines

This repository contains a detailed sample app that :

  • written in Kotlin (100%),
  • offline first strategy with repository patern
  • implements MVVM = Clean architecture using Android Jetpack, Navigation, Koin (DI), Coroutines, Retrofit2 + Moshi, etc

alt text

The app has following modules:

  1. data: includes Databases and Rest clients
  2. domain: includes Entities and UseCases
  3. presentation: includes the UI, and ViewModels.
  4. app: application module - includes DI.

Classes have been designed in such a way that it could be inherited and maximize the code reuse.

Tools:

  1. Android Studio 3.4.2

Library reference resources:

  1. Coroutines: https://github.com/Kotlin/kotlinx.coroutines
  2. Koin 2.0.1: https://github.com/InsertKoinIO/koin
  3. Retrofit 2: http://square.github.io/retrofit
  4. Moshi: https://github.com/square/moshi
  5. Glide: https://github.com/bumptech/glide
  6. Timber: https://github.com/JakeWharton/timber
  7. Android Jetpack https://developer.android.com/jetpack/ :

How to run:

  • import as a Android Gradle project
  • add next line to local.properties file: tmdb_api_key = "{TMDB_API_KEY}"

TODO:

  • cover with Unit Tests
  • xml refactoring using constrain layout
  • UI/UX impromvent
  • crashlitcs and analytics support

License

 DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
         Version 2, December 2004 

 Copyright (C) 2004 Sam Hocevar <[email protected]> 

 Everyone is permitted to copy and distribute verbatim or modified 
 copies of this license document, and changing it is allowed as long 
 as the name is changed. 

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 

  0. You just DO WHAT THE FUCK YOU WANT TO.
  

WTFPL

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published