Skip to content

Kotlin,MVVM,MVI,Clean Architecture(uncle bob) ,Navigation Component,Hilt, Jetpack Compose, Room Persistence, Use cases, Unit Testing, Retrofit2, Coroutines, REST API, Token Authentication

License

Notifications You must be signed in to change notification settings

mobinjafari/XenonXX

Kotlin Best Practice Android Project

Minimal Android CI Workflow

Technologies Used:

Kotlin,MVVM,MVI,Navigation Component,Hilt, Jetpack Compose, Room Persistence, Use cases, Unit Testing, Retrofit2, Coroutines, REST API, Token Authentication,Firebase FCM,Analaytics,Crashlytics

About repo:

Hey there! Welcome to the awesome Best-Practice-Kotlin wiki!

This project, created by the talented Mobin Jafari, serves as a fantastic template for starting new projects. It's loaded with a bunch of goodies, such as retrofit network layers, various composables with viewmodels, and everything is already set up for you. All you need to do is customize it to fit your project's needs.

The best part is that everything in this project is built using the latest technologies, keeping a close eye on Google repositories to incorporate all the new features and codes. Trust me, using this GitHub repo is the ultimate way to kickstart your project. You'll find all the layers, packages, viewmodels, retrofit, and even interceptors ready to go. And don't forget about Room DB—it's as simple as copying and modifying it. Believe me, this is the most incredible project you'll come across.

Features:

  1. Kotlin
  2. MVVM , MVI (some parts)
  3. Jetpack Compose navigation (one activity, zero fragments)
  4. Retrieve Network Data from API (REST API) - OkHttp,Retrofit
  5. Database caching - Room (ORM)
  6. Monitoring Network Connectivity
  7. Use cases (Dependency inversion Lmpl For Unit testing)
  8. Datastore (New Shared Preferences)
  9. Unit Tests
  10. MockWebServer (Okhttp)
  11. Kotlin Flow
  12. Dependency management with Kotlin kts
  13. Firebase FCM , Analytics , Crashlytics ...

Resources

  1. Junit5
  2. Testing a Flow
  3. Datastore