Android Clean Architecture: MVVM, Jetpack components + Tests

Learn the market best practices while building an ecommerce app. A guide of how to create a clean and testable codebase.

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?

What you’ll 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..

Course Content

  • Course introduction –> 2 lectures • 2min.
  • Starting with the VIEW –> 6 lectures • 57min.
  • SOLID + Clean Architecture –> 4 lectures • 42min.
  • Implementing “Wish List” feature –> 3 lectures • 38min.
  • Testing –> 4 lectures • 48min.

Android Clean Architecture: MVVM, Jetpack components + Tests

Requirements

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.

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

Get Tutorial