-
Урок 1.
00:02:47
Welcome
-
Урок 2.
00:10:23
Firebase Pros and Cons
-
Урок 3.
00:02:11
Firebase Basics: Introduction
-
Урок 4.
00:04:32
Starter project overview
-
Урок 5.
00:04:23
Creating the Firebase project and installing the CLI tools
-
Урок 6.
00:05:10
Configuring the Flutter app with the Flutterfire CLI
-
Урок 7.
00:08:39
Introduction to Firebase Auth & Firebase UI Auth
-
Урок 8.
00:05:49
Completing the email & password sign in flow
-
Урок 9.
00:04:18
Showing the correct page when the app starts with GoRouter.redirect
-
Урок 10.
00:03:44
Using authStateChanges() and the refreshListenable argument
-
Урок 11.
00:03:46
Refactor: replacing singletons with Riverpod providers
-
Урок 12.
00:01:37
Other Firebase Authentication Features: Overview
-
Урок 13.
00:05:53
Introduction to Cloud Firestore
-
Урок 14.
00:03:06
Installing Cloud Firestore and running on iOS and Android
-
Урок 15.
00:02:10
Overview of the jobs page and planned CRUD operations
-
Урок 16.
00:03:34
Adding one more route to GoRouter and updating the redirect logic
-
Урок 17.
00:06:28
How to add a document with the FirebaseFirestore API
-
Урок 18.
00:04:39
Using the FirebaseRepository to add jobs from the UI
-
Урок 19.
00:06:08
Showing list items with the FirestoreListView widget
-
Урок 20.
00:05:48
Using type-safe model classes
-
Урок 21.
00:07:01
Adding update and delete operations
-
Урок 22.
00:03:07
Filtering collections with `where`
-
Урок 23.
00:10:03
Intro to Firestore security rules
-
Урок 24.
00:05:31
Working with timestamps and sorting data
-
Урок 25.
00:03:04
Offline mode
-
Урок 26.
00:02:32
Pagination and the FirestoreQueryBuilder widget
-
Урок 27.
00:02:57
Wrap Up
-
Урок 28.
00:03:10
Section Intro
-
Урок 29.
00:01:53
VSCode Shortcuts, Extensions & Settings for Flutter Development
-
Урок 30.
00:01:57
Course Project on GitHub
-
Урок 31.
00:05:05
Cloning the starter project & pubspec.yaml file overview
-
Урок 32.
00:04:31
eCommerce app overview
-
Урок 33.
00:03:16
Project overview: app initialization and routing
-
Урок 34.
00:04:45
Project overview: helper classes and widgets
-
Урок 35.
00:06:49
Project structure: features and layers
-
Урок 36.
00:04:58
Unidirectional data flow from the data layer to the presentation layer
-
Урок 37.
00:06:50
How to add Firebase repositories to the data layer
-
Урок 38.
00:04:42
Updated Starter project
-
Урок 39.
00:03:42
Section Intro
-
Урок 40.
00:10:09
Adding Firebase to the eCommerce app
-
Урок 41.
00:06:09
Creating an AuthRepository using the FirebaseAuth APIs
-
Урок 42.
00:07:16
The authStateChanges() method and the User class
-
Урок 43.
00:03:08
Testing the authentication flows with Firebase
-
Урок 44.
00:06:38
Dealing with Firebase auth exceptions
-
Урок 45.
00:09:06
Adding the email verification logic
-
Урок 46.
00:03:10
Automated testing with FirebaseAuth and wrap up
-
Урок 47.
00:03:19
Section Intro
-
Урок 48.
00:04:34
Cloud Firestore and Firebase Storage setup
-
Урок 49.
00:10:09
Updated starter project
-
Урок 50.
00:03:55
Image uploads: plan of attack
-
Урок 51.
00:04:46
Creating an ImageUploadRepository
-
Урок 52.
00:07:12
Creating an AsyncNotifier to upload images
-
Урок 53.
00:04:23
Creating new products as Cloud Firestore documents
-
Урок 54.
00:06:00
Completing the image upload logic
-
Урок 55.
00:02:55
Adding an ImageUploadService class
-
Урок 56.
00:06:12
Adding a watchProduct method to the ProductsRepository
-
Урок 57.
00:09:05
Cloud Firestore: realtime listeners vs one-time-reads
-
Урок 58.
00:04:33
How to edit existing products: overview
-
Урок 59.
00:10:44
Implementing the AdminProductEditController
-
Урок 60.
00:09:49
Deleting products
-
Урок 61.
00:03:13
Combining streams inside a provider with Rx.combineLatest
-
Урок 62.
00:04:39
Image uploads: final tweaks and completed code
-
Урок 63.
00:03:52
Basic security rules for the image upload flows
-
Урок 64.
00:05:19
Flutter web: adding a CORS policy to a Firebase storage bucket
-
Урок 65.
00:02:04
Wrap up & exercises
-
Урок 66.
00:02:27
Section Intro
-
Урок 67.
00:07:36
Initializing the Firebase Local Emulator Suite with firebase init
-
Урок 68.
00:06:24
How to use the Firebase Emulators
-
Урок 69.
00:05:22
Exporting and Importing data with the Firebase Emulator
-
Урок 70.
00:04:13
Introduction to Cloud Functions and Project Setup with TypeScript
-
Урок 71.
00:06:01
TypeScript modules basics + Running our first Cloud Function using npm
-
Урок 72.
00:09:52
Writing a Cloud Function Trigger
-
Урок 73.
00:04:44
Fixing the infinite loop in the Cloud Function
-
Урок 74.
00:02:50
Introduction to HTTP callable functions
-
Урок 75.
00:08:40
Writing an HTTP callable function to delete all documents inside a collection
-
Урок 76.
00:07:34
Invoking an HTTP callable function from the Flutter client
-
Урок 77.
00:04:46
Deploying Cloud Functions with the Firebase CLI
-
Урок 78.
00:03:27
Setting a project budget in Google Cloud as a safety net
-
Урок 79.
00:03:53
Testing the deployed functions and inspecting the Google Cloud logs
-
Урок 80.
00:01:25
Wrap Up
-
Урок 81.
00:02:10
Section Intro
-
Урок 82.
00:06:59
Introduction to Custom Claims
-
Урок 83.
00:04:35
Starter project and Firebase configuration
-
Урок 84.
00:03:44
Running the Flutter eCommerce app with the Firebase Local Emulator
-
Урок 85.
00:09:30
Writing a Firebase auth trigger to set the custom claims on the server
-
Урок 86.
00:06:04
Updating the Security Rules to enable Role-Based Authorization via Custom Claims
-
Урок 87.
00:09:42
How to show the admin UI only if the user is an admin
-
Урок 88.
00:11:59
How to force-refresh the ID token with a Cloud Firestore Listener
-
Урок 89.
00:03:14
Updating the GoRouter redirect code to account for the admin state
-
Урок 90.
00:06:56
Deploying and testing the Cloud Function Trigger
-
Урок 91.
00:01:57
Wrap Up
-
Урок 92.
00:02:26
Section Intro
-
Урок 93.
00:03:34
Updated Starter Project with Firebase seed data
-
Урок 94.
00:03:42
Implementing a Shopping Cart with Firebase: Overview
-
Урок 95.
00:06:44
Cloud Firestore Data Modeling for the Shopping Cart Items
-
Урок 96.
00:08:04
Implementing the RemoteCartRepository with Cloud Firestore
-
Урок 97.
00:04:42
Testing the Shopping Cart feature with Cloud Firestore
-
Урок 98.
00:09:08
Optimizing the Cart Total Calculation with Multiple StreamProviders
-
Урок 99.
00:09:23
How to estimate the cost of your Firebase app and minimize your Firebase bill
-
Урок 100.
00:01:07
Wrap Up
-
Урок 101.
00:05:40
Section Intro
-
Урок 102.
00:02:24
How to collect payments on mobile: Stripe or IAP?
-
Урок 103.
00:02:39
Introduction to Stripe
-
Урок 104.
00:03:55
Overview of the Flutter Stripe package and example app
-
Урок 105.
00:03:47
Payment flows with Stripe: conceptual overview
-
Урок 106.
00:05:12
Updated starter project & Flutter Stripe SDK setup
-
Урок 107.
00:04:34
Installing the Stripe Extension for Firebase
-
Урок 108.
00:04:38
Configuring the webhook for the Stripe Extension
-
Урок 109.
00:07:36
Creating products in the Stripe dashboard
-
Урок 110.
00:08:53
Adding new Cloud Function triggers to synchronize the Stripe data with Firestore
-
Урок 111.
00:06:19
Deploying and testing the new Cloud Functions
-
Урок 112.
00:03:35
Explaining the relationship between Stripe Customers and Firebase Users
-
Урок 113.
00:05:53
Demo: making payments on the client (mobile and web)
-
Урок 114.
00:11:13
Overview of the client payment flows on mobile
-
Урок 115.
00:06:30
Overview of the client payment flows on Flutter web
-
Урок 116.
00:06:59
How to fulfil orders on the backend
-
Урок 117.
00:05:44
Showing the updated orders page in the Flutter app
-
Урок 118.
00:03:43
How to set and use the Stripe Secret Key with Cloud Functions
-
Урок 119.
00:03:27
Updating the available quantity on the Stripe product metadata
-
Урок 120.
00:01:54
Wrap Up
-
Урок 121.
00:01:32
Section Intro
-
Урок 122.
00:02:47
Overview of the Firebase Extensions for Full-Text Search
-
Урок 123.
00:09:18
Installing the Algolia Extension for Firebase
-
Урок 124.
00:05:59
Updated starter project and code walkthrough
-
Урок 125.
00:02:29
Adding the Algolia API keys to the Flutter project
-
Урок 126.
00:04:53
Implementing Products Search with Algolia
-
Урок 127.
00:03:55
Removing the loading indicator for a better search UX
-
Урок 128.
00:03:24
Using realtime updates when the query is empty
-
Урок 129.
00:05:32
Using caching and debouncing to make fewer API calls
-
Урок 130.
00:01:48
Wrap Up
-
Урок 131.
00:01:30
Section Intro
-
Урок 132.
00:03:12
Starter project and code walkthrough
-
Урок 133.
00:05:21
Implementing the ReviewsRepository
-
Урок 134.
00:05:46
Calculating the average rating score with Cloud Functions
-
Урок 135.
00:03:11
Deploying the Flutter web app with Firebase Hosting
-
Урок 136.
00:02:37
Updating the CORS policy for the deployed Flutter web app
-
Урок 137.
00:02:25
Conclusion