Full guide to Android Modern MVI Clean Architecture with Unit Testing - Jetpack Compose

Full guide to Android Modern MVI Clean Architecture with Unit Testing - Jetpack Compose

Showcase app with MVI clean architecture with unit testing, screenshot testing and jetpack compose testing with JUNIT5 , MockK, KoTest. Multi module architecture. Weather app - https://play.google.com/store/apps/de... Resources: • GitHub Repository: https://bit.ly/3znarIK If you enjoy our content and want to support us, consider buying us a drink ☕️😊 – https://buymeacoffee.com/coroutinelab 00:00 Introduction 00:34 What you will learn 01:39 Uncle Bob clean architecture explained 02:44 Setup Android studio project 03:09 Setup Mock API using mockapi.io 04:11 What is URL? 04:39 Creating modules in android studio project 06:10 What is dependency in Android? 06:28 Version catalogue Android 09:18 What is DTO - data transfer object 09:45 Convert Json to Kotlin data class 10:24 Create network module for Retrofit 11:50 Create Either data type 12:22 Either vs Result Kotlin 13:05 Define Custom Errors for android app 13:46 Safe Api call generic handler for API 16:31 Define domain module Models 17:31 Define repository in domain module 17:55 Deine repository implementation in data module 18:06 Define API service 18:33 Create Mappers to map DTO to domain models 21:23 Hilt to bind Respository 21:40 Create Usecase 22:09 Test API without running the app 22:52 Create UI module 24:04 Jetpack compose Row Column and modifier 24:39 Create Reusable UI component 30:00 What is MVI(Model View Intent) contract 33:28 Create Email List View Model 34:21 Create Email List Screen 35:13 Create UI state for email details screen 35:42 Create Email Details ViewModel 36:10 Create EmailDetails Screen 37:05 Setup jetpack compose type safe navigation 38:21 Running the Android App 40:23 Setup App icon 41:00 Fix edge to edge 42:44 Drawer navigation Jetpack compose 45:15 Set up Drop down menu Jetpack compose 45:56 Fix launched effect not surviving configuration changes 47:19 What is Testing ? 48:21 Testing Pyramid 50:05 JUNIT 4 VS JUNIT 5 51:26 What are test doubles? 51:54 What is MockK? 52:29 What is Kotest? 53:28 Setup Dependency for Testing 54:40 Write test case for UseCase with Test coverage 58:58 Write Test case for Repository Implementation with Test coverage 1:00:01 Write test case for error handler 1:00:48 Write test case for network handler 1:01:03 Write test case for mappers 1:04:44 Write test case for viewmodels 1:07:07 What is Screenshot test? 1:10:43 Write Compose UI test Code link - https://buymeacoffee.com/coroutinelab...