Module: Architecture

Best practices for Flutter application architecture using Riverpod, from Code with Andrea.

Dates: Fri, Oct 27 - Wed, Nov 1

Learning Outcomes

You understand best practices for mobile application architecture

Readings

1. Flutter App Architecture: An Introduction

A recommended architecture for Flutter, along with comparisons to other popular architectures (Clean, MVC, MVVM, Bloc, etc)

2. Flutter App Architecture: The Repository Pattern

The repository pattern accesses data objects from various sources, such as a backend API, and makes them available as type-safe entities to the domain layer of the app.

3. Flutter App Architecture: The Domain Model

The domain model is a conceptual model of the domain that incorporates both behavior and data.

4. Flutter App Architecture: The Application Layer

The application layer implements the business logic and acts as an intermediary between the user interface and the data layer.

5. Flutter App Architecture: The Presentation Layer

The presentation layer implements the user interface of the app.

6. Flutter App Architecture: Project Structure

Best practices for organizing the directory structure of your Flutter app

7. Flutter App Architecture Example: Data Layer

Flutter Weather App Example using the OpenWeatherMap API

8. Flutter App Architecture Example: Presentation Layer

Simple authentication flow using Flutter & Riverpod

Agile Garden Club mockup, Phase 4

Example of a Phase 4 app illustrating the Riverpod Architecture

Experiential Learning

1. Make your Phase 4 app

Refactor your app to use the Riverpod project structure