// the find
bizz84/complete-flutter-course
Flutter Foundations Course - eCommerce App
A teaching repo for Andrea Bizzotto's paid Flutter course, building an eCommerce app with Flutter + Firebase. It's structured as a branch-per-lesson timeline rather than a finished product, so you check out specific branches as you follow the course. Not useful as a reference implementation — useful only if you're taking the course.
The architecture is genuinely well-chosen: Riverpod with the Controller-Service-Repository pattern is a defensible way to structure Flutter apps, and the course covers it thoroughly including generator syntax and AsyncNotifier. Test coverage is unusually serious for a course repo — unit, widget, integration, and golden image tests all present, with a GitHub Actions CI workflow. The feature-first directory structure scales better than the layer-first approach most beginner Flutter tutorials default to. Sembast for local cart persistence is a reasonable choice that avoids SQLite ceremony for a simple use case.
The entire data layer is fake — Firebase is mentioned in the description but the repo ships fake repositories throughout, which means you never actually see Firestore integration, security rules, or the pain points of real-time sync. The checkout flow is a stub: `FakeCheckoutService` does nothing real, no payment integration exists. This is fine for a course but means the repo title 'eCommerce App' oversells what's here — it's a UI shell with mocked data. Last meaningful update was mid-2025 and Flutter tooling moves fast; some patterns (like `StateNotifier`) are already soft-deprecated in favor of `Notifier`/`AsyncNotifier`, which the course starts to address in section 13 but doesn't fully migrate.