Building a Complete MVVM App from Scratch with Android Jetpack Compose

Build an MVVM app from scratch using Jetpack Compose, Kotlin Coroutines, Flows, Room database, Retrofit, and HILT DI. MVVM stands for Model, View, ViewModel and allows developers to build apps that are easier to maintain and scale as per the demand.

Course Description

In this course, Building a Complete MVVM App from Scratch with Android Jetpack Compose, you’ll develop a complete app using Modern Android Development (MAD) skills which not only makes development quicker but also allows us to build apps that are scalable, maintainable, and lesser prone to bugs. First, you’ll create a project from scratch and add the required Gradle dependencies. Then you’ll set up basic Compose screens with Navigation Compose Component. Next, you’ll implement Retrofit, Hilt DI with its repository layer and its associated ViewModel. Next, you’ll implement Room database for persistence storage. You’ll also implement a network connectivity layer to notify users about internet availability. Additionally, you’ll use Kotlin APIs such as Coroutines and Flows to ease your development. Finally, we’ll summarise the project by observing it from a broader perspective such as how data flows in an app through different layers of MVVM architecture. 

Drag to resize
By the end of the course you will have mastered:
  • Building a complete app with MVVM architecture
  • Building UI with Jetpack Compose
  • Implementing persistence storage with Room database 
  • Implementing network calls using Retrofit
  • Adding business logic layers with ViewModel 
  • Creating repository layers 
  • Using Kotlin Coroutines and Flows
  • Using Hilt for dependency injection 
  • Adding network connectivity monitor to observe internet connections

Meet the instructor

Drag to resize

Catalin Stefan 

Content Author & Course Instructor
About

I am an avid learner and teaching enthusiast. I love creating content and courses that enrich people's lives and help them have a better experience, both personally and professionally. 

I am an expert mobile application developer with over 10 years development experience. I enjoy making courses related to software development and mobile apps, and want to share the knowledge I have acquired. 

I create courses based on my professional experience. I hope to teach people skills that help them in their careers, allow them to acquire new skills and improve their personal relationships.