Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Flutter & Firebase Masterclass - Complete Package
Introduction (13m)
1. Welcome! (2:46)
2. Firebase Pros and Cons (10:22)
1. Firebase Basics (2h08m)
1. Firebase Basics: Introduction (2:10)
2. Starter project overview (4:31)
3. Creating the Firebase project and installing the Firebase and FlutterFire CLI tools (4:22)
4. Configuring the Flutter app with the Flutterfire CLI (5:09)
5. Introduction to Firebase Auth & Firebase UI Auth: Email & Password sign in flow (8:39)
6. Completing the email & password sign in flow (5:48)
7. Showing the correct page when the app starts with GoRouter.redirect (4:17)
8. Using authStateChanges() and the refreshListenable argument (3:43)
9. Refactor: replacing singletons with Riverpod providers (3:45)
10. Other Firebase Authentication Features: Overview (1:36)
11. Introduction to Cloud Firestore (5:52)
12. Installing Cloud Firestore and running on iOS and Android (3:05)
13. Overview of the jobs page and planned CRUD operations (2:09)
14. Adding one more route to GoRouter and updating the redirect logic (3:33)
15. How to add a document with the FirebaseFirestore API (6:27)
16. Using the FirebaseRepository to add jobs from the UI (4:38)
17. Showing list items with the FirestoreListView widget (6:07)
18. Using type-safe model classes (5:47)
19. Adding update and delete operations (7:00)
20. Filtering collections with `where` (3:06)
21. Intro to Firestore security rules (10:02)
22. Working with timestamps and sorting data (5:30)
23. Offline mode (3:03)
24. Pagination and the FirestoreQueryBuilder widget (2:31)
25. Wrap Up (2:56)
Request for Feedback (optional)
2. Full-Stack eCommerce app overview (48m)
1. Section Intro (3:09)
2. VSCode Shortcuts, Extensions & Settings for Flutter Development (1:52)
3. Course Project on GitHub (1:56)
4. Cloning the starter project & pubspec.yaml file overview (5:04)
5. eCommerce app overview (4:30)
6. Project overview: app initialization and routing (3:15)
7. Project overview: helper classes and widgets (4:44)
8. Project structure: features and layers (6:48)
9. Unidirectional data flow from the data layer to the presentation layer (4:57)
10. How to add Firebase repositories to the data layer (6:49)
11. Updated Starter project (4:41)
Request for Feedback (optional)
3. Firebase Authentication (49m)
1. Section Intro (3:41)
2. Adding Firebase to the eCommerce app (10:08)
3. Creating an AuthRepository using the FirebaseAuth APIs (6:08)
4. The authStateChanges() method and the User class (7:15)
5. Testing the authentication flows with Firebase (3:07)
6. Dealing with Firebase auth exceptions (6:37)
7. Adding the email verification logic (9:05)
8. Automated testing with FirebaseAuth and wrap up (3:09)
Request for Feedback (optional)
4. Cloud Firestore and Firebase Storage (1h47m)
1. Section Intro (3:18)
2. Cloud Firestore and Firebase Storage setup in the Firebase console (4:34)
3. Updated starter project (10:09)
4. Image uploads: plan of attack (3:54)
5. Creating an ImageUploadRepository (4:45)
6. Creating an AsyncNotifier to upload images (7:11)
7. Creating new products as Cloud Firestore documents (4:22)
8. Completing the image upload logic (5:59)
9. Adding an ImageUploadService class (2:54)
10. Adding a watchProduct method to the ProductsRepository (6:11)
11. Cloud Firestore: realtime listeners vs one-time-reads (9:04)
12. How to edit existing products: overview (4:32)
13. Implementing the AdminProductEditController (10:43)
14. Deleting products (9:49)
15. Combining streams inside a provider with Rx.combineLatest (3:12)
16. Image uploads: final tweaks and completed code (4:38)
17. Basic security rules for the image upload flows (3:51)
18. Flutter web: adding a CORS policy to a Firebase storage bucket (5:18)
19. Wrap up & exercises (2:03)
Request for Feedback (optional)
5. Firebase Local Emulator and Cloud Functions (1h19m)
1. Section Intro (2:26)
2. Initializing the Firebase Local Emulator Suite with firebase init (7:36)
3. How to use the Firebase Emulators (6:23)
4. Exporting and Importing data with the Firebase Emulator (5:21)
5. Introduction to Cloud Functions and Project Setup with TypeScript (4:12)
6. TypeScript modules basics + Running our first Cloud Function using npm (6:00)
7. Writing a Cloud Function Trigger (9:51)
8. Fixing the infinite loop in the Cloud Function (4:43)
9. Introduction to HTTP callable functions (2:49)
10. Writing an HTTP callable function to delete all documents inside a collection (8:39)
11. Invoking an HTTP callable function from the Flutter client (7:33)
12. Deploying Cloud Functions with the Firebase CLI (4:45)
13. Setting a project budget in Google Cloud as a safety net (3:26)
14. Testing the deployed functions and inspecting the Google Cloud logs (3:52)
15. Wrap Up (1:24)
Request for Feedback (optional)
6. Role-Based Authorization with Custom Claims (1h07m)
1. Section Intro (2:09)
2. Introduction to Custom Claims (6:58)
3. Starter project and Firebase configuration (4:35)
4. Running the Flutter eCommerce app with the Firebase Local Emulator (3:43)
5. Writing a Firebase auth trigger to set the custom claims on the server (9:29)
6. Updating the Security Rules to enable Role-Based Authorization via Custom Claims (6:03)
7. How to show the admin UI only if the user is an admin (9:41)
8. How to force-refresh the ID token with a Cloud Firestore Listener (11:58)
9. Updating the GoRouter redirect code to account for the admin state (3:13)
10. Deploying and testing the Cloud Function Trigger (6:55)
11. Wrap Up (1:57)
Request for Feedback (optional)
7. Diving Deeper with Cloud Firestore (49m)
1. Section Intro (2:25)
2. Updated Starter Project with Firebase seed data (3:33)
3. Implementing a Shopping Cart with Firebase: Overview (3:42)
4. Cloud Firestore Data Modeling for the Shopping Cart Items (6:44)
5. Implementing the RemoteCartRepository with Cloud Firestore (8:04)
6. Testing the Shopping Cart feature with Cloud Firestore (4:41)
7. Optimizing the Cart Total Calculation with Multiple StreamProviders (9:07)
8. How to estimate the cost of your Firebase app and minimize your Firebase bill (9:22)
9. Wrap Up (1:06)
Request for Feedback (optional)
8. Stripe Integration (1h44m)
1. Section Intro (5:39)
2. How to collect payments on mobile: Stripe or IAP? (2:23)
3. Introduction to Stripe (2:38)
4. Overview of the Flutter Stripe package and example app (3:54)
5. Payment flows with Stripe: conceptual overview (3:46)
6. Updated starter project & Flutter Stripe SDK setup (5:11)
7. Installing the Stripe Extension for Firebase (4:34)
8. Configuring the webhook for the Stripe Extension (4:37)
9. Creating products in the Stripe dashboard (7:35)
10 Adding new Cloud Function triggers to synchronize the Stripe data with Firestore (8:52)
11. Deploying and testing the new Cloud Functions (6:18)
12. Explaining the relationship between Stripe Customers and Firebase Users (3:34)
13. Demo: making payments on the client (mobile and web) (5:52)
14. Overview of the client payment flows on mobile (11:12)
15. Overview of the client payment flows on Flutter web (6:29)
16. How to fulfil orders on the backend (6:58)
17. Showing the updated orders page in the Flutter app (5:43)
18. How to set and use the Stripe Secret Key with Cloud Functions (3:43)
19. Updating the available quantity on the Stripe product metadata (3:26)
20. Wrap Up (1:53)
Request for Feedback (optional)
9. Full-Text Search with Algolia (42m)
1. Section Intro (1:31)
2. Overview of the Firebase Extensions for Full-Text Search (2:46)
3. Installing the Algolia Extension for Firebase (9:17)
4. Updated starter project and code walkthrough (5:58)
5. Adding the Algolia API keys to the Flutter project (2:28)
6. Implementing Products Search with Algolia (4:53)
7. Removing the loading indicator for a better search UX (3:54)
8. Using realtime updates when the query is empty (3:23)
9. Using caching and debouncing to make fewer API calls (5:31)
10. Wrap Up (1:47)
Request for Feedback (optional)
10. Completing the eCommerce app (24m)
1. Section Intro (1:29)
2. Starter project and code walkthrough (3:12)
3. Implementing the ReviewsRepository (5:20)
4. Calculating the average rating score with Cloud Functions (5:46)
5. Deploying the Flutter web app with Firebase Hosting (3:10)
6. Updating the CORS policy for the deployed Flutter web app (2:36)
7. Conclusion (2:24)
Request for Feedback (optional)
Teach online with
8. Using realtime updates when the query is empty
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock