Complete Flutter Course Bundle - Documentation

Note: This site is a work-in-progress. More pages will be added as I make progress with the course.

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

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.

Articles & Reference Guides

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

You can find links to them in the sidebar.

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