Android Clean Architecture:MVVM, Jetpack components + Kotlin

The market best practices while building an e-commerce app. A guide of how to create a clean and testable codebase.

4.53 (70 reviews)
Mobile Apps
3 hours
Oct 2022
last update
regular price

What you will learn

Learn MVVM architecture, proposed architecture by Google to build clean and testable codebase.

Get to know the market good practices, the best practices tech industries are using nowadays.

Understand the Design Principles, be able to use and implement the SOLID principles.

Jetpack components, Live Data, Room, Navigation Components and more.

Write tests. Writing unit tests and handling async operations.


At this point you probably already know how to build an app, but are you confident that you are following the market best practices? How would your app perform with millions of users? How clean and testable is your codebase?

Those questions were asked in many interviews during my 8+ years of experience in Android, and you not only need to know what to answer but also how to build it.

In this course you will learn all that while building an e-commerce app. This app will consist of a list of products and a product details screen, where we will fetch the data from an API call and we will also save some data locally in the device.

We will talk about the layers of the Clean Architecture and start building our app by the View layer. Then we will talk a lot about Coroutines, Lifecycle, Scope, Dispatchers and ViewModel, and how we will use those concepts to asynchronously fetch data in combination with Retrofit. The communication between the Model/Business layer and the View will be implemented using the concept of ViewState and LiveData, we will also navigate and pass data between screens using the Navigation Component. We will also talk about the SOLID principles and implement a Dependency Injection library. At  the end, we will save data in a Database using Room and talk about Error Handling.

Let's not forget about Testing, we will be writing test for all parts of our app.

During this course you will be coding the whole time and we will see improvements being made in our app in every section.

This is the moment for you to get that dream job, a promotion or build a maintainable app with quality code.

For every lecture, there will be a specific branch for that, for example lecture-4, lecture-5, and so forth.

REMEMBER… Quality is essential! And there is a full 30 DAY-money-back guarantee case you don't like it ;)


Course introduction

How this course is structured
Present the E-commerce sample project.

Starting with the VIEW

Clean Architecture Explained
View and ViewStates.
Creating the ViewModel for the Product List
Understanding Coroutines and asynchronous operations
Implementing coroutines
Implementing Retrofit

SOLID + Clean Architecture

SOLID Principles
Why do we need dependency injection
Dependency Injection with Hilt
Organizing our codebase packages structure

Implementing "Wish List" feature

Implementing the Presentation & Domain Layer
Implementing the database with Room
Creating Use Cases for the Wish List


Introduction to testing good practices
Testing the domain objects and entities
Testing the ViewModel
What is next?


Android Clean Architecture:MVVM, Jetpack components + Kotlin - Screenshot_01Android Clean Architecture:MVVM, Jetpack components + Kotlin - Screenshot_02Android Clean Architecture:MVVM, Jetpack components + Kotlin - Screenshot_03Android Clean Architecture:MVVM, Jetpack components + Kotlin - Screenshot_04


October 25, 2022
I have watched a lot of tutorials and read a lot of articles, just to wrap my head around the concept of clean architecture all to no avail. But i must say that Renaro is such a great teacher. Watching the free introductory aspect of this course on youtube alone answered about 50 - 60 % of my questions about the why and how of Clean architecture and that is the reason why i am here to watch the full course. I must say that this is the best teach me like am five course one could ever find on Clean Architecture.
September 22, 2022
At this moment, this course is very basic. Needs improvement like instead providing implemented branches for each lecture, leave the user code. Code is an active activity. Get finished implementations and just see videos doesn't work. In my case, I'm using lecture-4 branch to code at the same time I'm watching lectures. Some Gradle dependencies weren't mentioned like Retrofit and GsonConverter. I believe this is because they were inserted in other branches. Just post links in the notes and student use them in project.
July 13, 2022
In some classes he just pop out of nowhere new archives without taking the time to explain what he built
March 31, 2022
The content is very well explained. Recommend for people that want to improve the knowledge in Android development.



Android Clean Architecture:MVVM, Jetpack components + Kotlin - Price chart


Android Clean Architecture:MVVM, Jetpack components + Kotlin - Ratings chart

Enrollment distribution

Android Clean Architecture:MVVM, Jetpack components + Kotlin - Distribution chart
udemy ID
course created date
course indexed date
course submited by