/BITCOINS

✨ Clean Architecture , MVVM , Retrofit , Hilt , Coroutines , Flow , Repository pattern , Junit4 , Turbine , Truth

Primary LanguageKotlin

About 💭

This is a sample project about MVVM with Clean Architecture i have focused on learning how to implement mvvm with clean architecture and layer responsibilities and which layers should know about the others , creating app and core module and what each one should have of layers.

Layer responsibilities:

  • Domain: Contains the business rules of our app. It should provide use cases which reflect the features of our app.
  • Presentation: Presents data to the user and also collects necessary data like the username. This is a kind of input/output.
  • Model: Provides data for our app. It is responsible for obtaining data from external sources and save them to the database, cloud server, etc.

App Screenshot

🏗️️ Built With

What How
🎭 User Interface (Android) Jetpack Compose
🏗 Architecture Clean Architecture
💉 DI (Android) Hilt
🌊 Async Coroutines + Flow
🌐 Networking Retrofit
🧑🏿‍🔬 Testing Junit4
🚀 Turbine Turbine Flow Testing