Articles & Reference guides

This is a collection of articles and reference guides that are relevant for this course.

You can use them to get a better understanding of the topics covered in this course, or to fill any gaps in your knowledge.

Firebase

This course covers many Firebase features in detail.

Here are some useful resources to get you started:

I have also written some articles on my site:

Cloud Firestore

For an in-depth explanation of what Cloud Firestore is and how it works, check this playlist by the official Firebase team:

IDE Setup

Guides about how to setup your IDE for both VSCode and Android Studio:

App Architecture

App architecture is a major focus in this course.

To complement the course material, I have written some reference articles.

Get started with these:

Then, learn about each of the four main layers (data, domain, application, presentation):

In this course, we use GoRouter for navigation.

To get started, head to the GoRouter package on pub.dev.

There is also a very extensive documentation site explaining all the most important concepts (though note that this is no longer maintained):

Additional articles from my site:

State Management & Riverpod

The course assumes you already have a basic understanding of state management in Flutter.

If you need a refrehsher, read this:

Then, dive into Riverpod with my ultimate guide:

Latest Riverpod 2.0 articles:

Additional Riverpod articles to complement the course material:

Testing

The course project already includes unit, widget, and integration tests.

Here are some articles on this topic:

Design Patterns

The course assumes you’re already familiar with the most common design patterns.

Here’s some additional articles to help you out:

UI, Layouts & Animations

While some responsive UI concepts are introduced in section 1, this is not a course about building UIs.

Here are some additional resources:

JSON & Serialization

For the most part, we will use the Dart Data Class Generator extension to generate our data models.

Alternatives such as Freezed exist, and you can learn more broadly about JSON serialization here:

Error Handling

Here are some resources:

Localization

The official Flutter documentation contains the most complete info about localization:

I’ve also shared these articles on my site:

Dart Language

The course assumes you’re already proficient with the Dart language.

If you need a refresher, I recommend these resources:

I have also written some articles here:

Flutter in Production

In this follow-up course, you’ll learn how to ship and monitor your Flutter apps in production:

I have also written some articles about this on my site:

Happy coding!

Questions? Let's chat