Flutter Foundations Course - Documentation

This is the documentation website for the Flutter eCommerce app that we will build as part of my Flutter Foundations Course.

It contains FAQs and additional resources you may find useful.

Articles & Reference Guides#

I often publish in-depth articles that are a great complement to the course lessons.

Here's a complete list:

FAQ#

This section contains answers to common issues regarding:

  • Getting the starter project to run
  • Android emulator and gradle issues
  • Cocoapods and running on iOS/macOS

Head over to sidebar to read all the FAQs.

Flutter Web Demo#

A Flutter web build of the completed app is available at this link:

This is intended as a reference eCommerce app for viewing and purchasing products, and includes the following features:

  • Products List
  • Product Page
  • Product Reviews
  • Shopping Cart
  • Checkout using Stripe
  • Orders List
  • Sign in & sign out flows
  • Admin pages (manage products and orders)

Flutter Client#

The demo includes a Flutter app that runs on iOS, Android and web.

The primary packages in use by the reference app are:

Architecture#

The client app uses the controller-service-repository pattern and defines four layers:

  • Data layer using repositories to access to the outside world (Firebase) and expose data classes to the rest of the app via Futures and Streams
  • Domain layer containing all the models/entities needed by the app, along with the business logic to manipulate them
  • Application layer using service classes to mediate between the repositories and the levels below
  • Presentation layer containing the widgets along with the controllers that manipulate their state and call APIs from the layers above

Learn more in the articles & reference guides.