Flutter & Firebase Masterclass - Documentation

This is the documentation website for the Flutter eCommerce app that we will build as part of my Flutter & Firebase Masterclass.

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.