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
18. How to set and use the Stripe Secret Key with Cloud Functions
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock