In-Depth Guide to Clean Architecture With MVVM in Flutter: Mastering State Management with Provider, Riverpod + BLoC

Course Thumbnail

Course Description

Dive into the depths of Flutter's MVVM architecture with different state managements in this comprehensive course designed for intermediate to advanced developers. Learn how to build a dynamic movie app that interacts with a REST API, manages local favorites, and incorporates genre mapping for enhanced functionality with Dark and Light themes. This course will guide you through the journey of implementing MVVM with different state management strategies—setState, Provider, Riverpod, and BLoC—each covered in dedicated sections to provide you with a robust understanding of each approach.

Prerequisites:

  • Basic knowledge of programming
  • Basic familiarity with Flutter Widgets and Dart
  • Basic understanding of REST APIs is a plus, but we cover this in detail
  • Enthusiasm for learning state management in-depth
  • Macbook or Windows to develop
  • Any preferred IDE (such as Android Studio or IntelliJ IDEA), or a preferred text editor (like VS Code)—just not Microsoft Word!

Recording Equipment:

  • Video Editing Software: Camtasia 2023
  • Microphone: Blue Yeti X

This setup ensures that all course videos are clear and professionally produced.

What You Will Learn:

  • Implementing MVVM architecture in Flutter for scalable app development
  • Connecting to a REST API to fetch and display movie data
  • Local data management for user favorites
  • Advanced state management techniques with setState, Provider, Riverpod, and BLoC
  • Theme management in Flutter apps for dynamic light and dark modes

Course Structure:

  • Duration: Approximately 12 hours of content
  • Regular updates to ensure the latest techniques and Flutter updates are covered

What to Expect After This Course:

  • Proficiency in using MVVM architecture for complex Flutter applications
  • Deep understanding of various state management techniques and when to use them
  • Skills to design and manage both themes and local databases in Flutter
  • Enhanced capability to handle real-world Flutter projects that require advanced state management and API integration

Limitations and Notes:

  • The course code works for all platforms supported by Flutter
  • The course project is designed for portrait mode responsiveness.
  • If you have any other state management in mind, please feel free to propose it so that I can include it in the course

Resources:

  • Complete source code for the movie app for each state management explained in the course (setState, Provider, Riverpod, BLoC)
  • Step-by-step guides on implementing each feature
  • Access to slides and additional reading materials