[Coding With Mitch]Model-View-Intent (MVI) Architecture

What you will learn

  • Kotlin
  • Model-View-Intent Architecture:
  1. Introduction to MVI architecture
  2. Repository pattern
  3. Managing state
  4. Handling multiple network request events
  • Retrofit2:
  1. Returning LiveData from Retrofit
  2. Handling Generic Api Responses (Error or Success)
  • DataState and Event Wrappers:
  1. Updating UI with "Loading", "Error" or "Data" responses from the network requests
  2. Consuming "Data" and "Error" events to prevent multiple observable emissions
  • RecyclerView:
  1. Setting up a RecyclerView with custom adapter
  2. DiffUtil to submit list-items
  • UI Communication:
  1. Fragment to Activity communication via interface


About this specialization

Course Objective:

The main objective of this course is to provide an introduction to MVI architecture (what I think is currently the best architecture), but that's subjective. As I've said many times on video, there is technically no BEST architecture. This just happens to be the one I think is the best and I'll show you why in this course.)


Target Audience:

  • A wide arrange of experience levels from complete beginners to advanced. I built this to demonstrate MVI architecture for someone who doesn't know MVI or necessarily any architecture.
  • Someone planning to watch course. This course is a pre-requisite.



Github repo: MVIExample