Building a Complete MVVM App from Scratch with Android Jetpack Compose

Building an MVVM Android app using Jetpack Compose, Kotlin Coroutines, Flows, Room database, Retrofit, and HILT DI.
  • Author: Catalin Stefan
  • Level: Intermediate
  • Course Duration: 120 Mins 
  • Sample Project Included: Yes
  • Android’s Modern Toolkit: Jetpack Compose

A few more words about this course

As developers, we always try to find solutions to implement our apps in the most efficient way, using the latest technologies and tools. This not only makes development quicker, but also allows us to build apps that are scalable, maintainable and bug free as much as possible.
In this course we will learn how to build an app from scratch using the latest tools and techniques. We will put in place an MVVM architecture, upon which we will build our scalable app using Retrofit for network communication and Room database for local storage. We will contact the Google Books API to perform a query based on a search parameter, and we will store user generated content relating to the search results. We will use Coroutines for background processing, Kotlin flows, and Hilt for dependency injection.
Drag to resize
By the end of the course you will have mastered:
  • Building UI with Jetpack Compose
  • Building a complete app with MVVM architecture 
  • Implementing persistence storage with Room database 
  • Implementing network calls using Retrofit
  • Add a business logic layer with ViewModel 
  • Creating repository layers 
  • Using Kotlin Coroutines and Flows
  • Using Hilt for dependency injection 

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.