1
00:00:03,900 --> 00:00:07,540
Chúng ta hãy đi câu cá trong thị trường bass.

2
00:00:07,540 --> 00:00:10,520
Chúng tôi sẽ bắt đầu với Firebase,

3
00:00:10,520 --> 00:00:13,560
dịch vụ cao cấp từ Google.

4
00:00:13,560 --> 00:00:16,190
Hãy hiểu một chút về Firebase,

5
00:00:16,190 --> 00:00:19,375
cấu hình một máy chủ Firebase,

6
00:00:19,375 --> 00:00:22,340
và sau đó chúng ta sẽ xem xét các ứng dụng góc cạnh,

7
00:00:22,340 --> 00:00:24,790
mà tôi sẽ trang bị thêm dựa trên

8
00:00:24,790 --> 00:00:29,340
các ứng dụng góc cạnh trước đó mà bạn đã thấy trong bài giảng trước đó.

9
00:00:29,340 --> 00:00:34,890
Chúng tôi sẽ sửa đổi nó để sử dụng Firebase như phụ trợ.

10
00:00:34,890 --> 00:00:38,890
Vì vậy, như chúng ta sẽ thấy ở phần cuối của bài học này, bài

11
00:00:38,890 --> 00:00:41,440
tập này và bài tập sau đây,

12
00:00:41,440 --> 00:00:46,600
chúng ta có thể dễ dàng lấy một ứng dụng góc cạnh và trang bị thêm nó để sử dụng

13
00:00:46,600 --> 00:00:52,245
Firebase như phụ trợ như một nhà cung cấp dịch vụ.

14
00:00:52,245 --> 00:00:54,612
Để bắt đầu cuộc hành trình,

15
00:00:54,612 --> 00:01:00,725
chúng ta hãy vào firebase.google.com để hiểu một chút về Firebase.

16
00:01:00,725 --> 00:01:04,635
Một chủ đề loại làm cho một bài thuyết trình toàn bộ về Firebase,

17
00:01:04,635 --> 00:01:06,550
tôi sẽ nhanh chóng chạy bạn thông qua những gì đã được

18
00:01:06,550 --> 00:01:09,370
giải thích trên trang web Firebase chính nó bởi vì họ cung cấp cho bạn

19
00:01:09,370 --> 00:01:15,125
đầy đủ chi tiết về cách Firebase tự hỗ trợ các tính năng khác nhau.

20
00:01:15,125 --> 00:01:19,810
Vì vậy, hãy chạy qua trang web này để hiểu cách Firebase hoạt động.

21
00:01:19,810 --> 00:01:22,480
Vì vậy, nếu bạn truy cập trang web, như bạn có thể thấy,

22
00:01:22,480 --> 00:01:27,955
nó nói rằng Firebase giúp bạn xây dựng các ứng dụng di động tốt hơn và phát triển doanh nghiệp của bạn.

23
00:01:27,955 --> 00:01:30,750
Và sau đó, như bạn thấy ở đây,

24
00:01:30,750 --> 00:01:36,280
nó giải thích cho bạn các chi tiết về cách nó cho phép bạn xây dựng ứng dụng của bạn

25
00:01:36,280 --> 00:01:41,641
nhanh chóng mà không cần phải quản lý cơ sở hạ tầng phụ trợ cho ứng dụng của bạn,

26
00:01:41,641 --> 00:01:46,875
và một bảng điều khiển duy nhất mang lại một loạt các sản phẩm hoạt động cùng nhau.

27
00:01:46,875 --> 00:01:56,305
Vì vậy, đây là tất cả các sản phẩm do Google cung cấp hoạt động cùng nhau để đáp ứng nhu cầu phụ trợ của bạn.

28
00:01:56,305 --> 00:02:00,010
Và cũng ở đây, bạn có thể tận

29
00:02:00,010 --> 00:02:03,585
dụng nhiều sản phẩm bổ sung có sẵn từ Google.

30
00:02:03,585 --> 00:02:06,055
Vì vậy, đặc biệt, trong bài tập này,

31
00:02:06,055 --> 00:02:09,620
chúng tôi sẽ tận dụng Cloud Firestore,

32
00:02:09,620 --> 00:02:12,775
cung cấp mới từ Google.

33
00:02:12,775 --> 00:02:15,740
Chúng ta sẽ xem xét thêm chi tiết về điều đó sau này.

34
00:02:15,740 --> 00:02:18,520
Chúng tôi xem xét cách chúng tôi có thể sử dụng hỗ trợ

35
00:02:18,520 --> 00:02:22,030
xác thực được cung cấp bởi Firebase để xác thực người dùng.

36
00:02:22,030 --> 00:02:27,880
Chúng tôi sẽ xem xét lưu trữ đám mây để lưu trữ các tập tin hình ảnh của chúng tôi và phục vụ chúng.

37
00:02:27,880 --> 00:02:34,650
Và sau đó chúng ta cũng sẽ xem xét làm thế nào chúng ta có thể tận dụng tất cả những cùng với

38
00:02:34,650 --> 00:02:41,170
mô-đun nút liên quan đến FireBase-mà chúng ta có thể kết hợp cùng với

39
00:02:41,170 --> 00:02:46,270
mô-đun nút angularfire2 vào ứng dụng góc của chúng tôi để

40
00:02:46,270 --> 00:02:51,910
chúng ta có thể giao tiếp với backend Firebase của chúng tôi như một dịch vụ.

41
00:02:51,910 --> 00:02:55,300
Ngoài

42
00:02:58,390 --> 00:03:04,525
ra, tìm kiếm chi tiết hơn, chúng tôi thấy cách Firebase dash tự cung cấp các tính năng khác nhau như cho phép bạn triển khai các

43
00:03:04,525 --> 00:03:11,200
tính năng người dùng khác nhau cho các ứng dụng khác nhau của

44
00:03:11,200 --> 00:03:17,590
bạn và cách dễ dàng để tích hợp backend của bạn với một iOS,

45
00:03:17,590 --> 00:03:20,110
Android hoặc ứng dụng web .

46
00:03:20,110 --> 00:03:26,305
Đặc biệt, chúng ta sẽ xem xét ứng dụng web và sử dụng JavaScript và

47
00:03:26,305 --> 00:03:29,290
cũng sử dụng cách chúng ta sẽ

48
00:03:29,290 --> 00:03:33,610
kết hợp điều này vào ứng dụng góc cạnh của chúng tôi một chút sau đó.

49
00:03:33,610 --> 00:03:39,900
Và cũng có thể, Firebase cung cấp một cơ sở dữ liệu thời gian thực,

50
00:03:39,900 --> 00:03:42,850
cả cơ sở dữ liệu thời gian thực ban đầu,

51
00:03:42,850 --> 00:03:45,040
cũng như Cloud Firestone mới,

52
00:03:45,040 --> 00:03:50,905
cho phép bạn tự động đồng bộ hóa dữ liệu giữa các thiết bị người dùng khác nhau.

53
00:03:50,905 --> 00:03:52,900
Vì vậy, bất kỳ thay đổi nào được thực hiện

54
00:03:52,900 --> 00:03:59,625
ở phía máy chủ sẽ được tự động phản ánh cho tất cả các khách hàng

55
00:03:59,625 --> 00:04:06,996
, và, tất nhiên, bạn có thể đọc thêm chi tiết về Firebase trên trang web này.

56
00:04:06,996 --> 00:04:13,885
Và nó rất dễ dàng để bắt đầu bởi vì cung cấp cơ bản là miễn phí cho người dùng.

57
00:04:13,885 --> 00:04:17,854
Vì vậy, chúng ta hãy bắt đầu sử dụng Firebase.

58
00:04:17,854 --> 00:04:25,085
Chúng tôi sẽ thiết lập tài khoản Firebase của chúng tôi và sau đó truy cập và thiết lập phụ trợ của chúng tôi như một máy chủ,

59
00:04:25,085 --> 00:04:29,025
sau đó chúng tôi sẽ tận dụng từ ứng dụng góc cạnh của chúng tôi.

60
00:04:29,025 --> 00:04:31,995
Vì vậy, đây là một tour du lịch nhanh chóng của Firebase,

61
00:04:31,995 --> 00:04:34,880
nhưng thay vì chỉ nhìn vào những điều này, chúng

62
00:04:34,880 --> 00:04:38,665
ta hãy đi vào và thực sự làm cho bàn tay của chúng tôi bẩn,

63
00:04:38,665 --> 00:04:41,970
cấu hình một cơ sở Firebase

64
00:04:41,970 --> 00:04:45,900
trở lại vào dịch vụ và sau đó sử dụng nó trên ứng dụng góc cạnh của chúng tôi.

65
00:04:45,900 --> 00:04:47,593
Vì vậy, để bắt đầu,

66
00:04:47,593 --> 00:04:49,910
như bạn sẽ thấy cạnh bên phải ở đây,

67
00:04:49,910 --> 00:04:51,510
nó nói đi đến giao diện điều khiển.

68
00:04:51,510 --> 00:04:56,705
Rõ ràng, bạn nên có một tài khoản Google để có thể sử dụng Firebase.

69
00:04:56,705 --> 00:04:58,264
Điều đó đi mà không nói,

70
00:04:58,264 --> 00:05:00,380
và bạn sẽ được đăng nhập vào tài khoản Google của bạn.

71
00:05:00,380 --> 00:05:01,640
Vì vậy, như bạn có thể thấy,

72
00:05:01,640 --> 00:05:03,225
tôi đã có trong tài khoản Google của tôi.

73
00:05:03,225 --> 00:05:05,080
Vì vậy, điều đó sẽ cho tôi quyền truy cập vào bảng điều khiển của tôi.

74
00:05:05,080 --> 00:05:06,857
Nếu bạn không đăng nhập,

75
00:05:06,857 --> 00:05:09,871
thì tốt hơn là bạn nên đăng nhập vào tài khoản Google của mình.

76
00:05:09,871 --> 00:05:12,150
Vì vậy, khi bạn đi đến giao diện điều khiển, điều

77
00:05:12,150 --> 00:05:18,620
này sẽ đưa bạn đến giao diện điều khiển dịch vụ Firebase ở đây,

78
00:05:18,620 --> 00:05:22,335
nơi bạn có thể thiết lập các dự án.

79
00:05:22,335 --> 00:05:23,825
Vì vậy, khi bạn đi đến giao diện điều khiển,

80
00:05:23,825 --> 00:05:26,460
như bạn có thể thấy, nó nói thêm một dự án.

81
00:05:26,460 --> 00:05:27,605
Và, như bạn có thể thấy,

82
00:05:27,605 --> 00:05:30,675
tôi đã thử thiết lập

83
00:05:30,675 --> 00:05:35,750
một dự án Firebase khác trước khi tôi giải thích nó cho bạn.

84
00:05:35,750 --> 00:05:38,190
Vì vậy, chúng ta hãy thiết lập một dự án ở đây.

85
00:05:38,190 --> 00:05:41,065
Vì vậy, chúng tôi sẽ nhấp vào thêm dự án,

86
00:05:41,065 --> 00:05:46,865
và điều đó sẽ đưa ra một cửa sổ nhỏ đẹp,

87
00:05:46,865 --> 00:05:48,765
nơi bạn có thể nhập thông tin.

88
00:05:48,765 --> 00:05:53,750
Vì vậy, chúng tôi sẽ gọi dự án này là ConfusionServer,

89
00:05:53,750 --> 00:06:00,793
như bạn mong đợi và cấu hình nó đến bất cứ nơi nào bạn đang ở tại thời điểm này.

90
00:06:00,793 --> 00:06:06,615
Vì vậy, tôi sẽ cấu hình nó để sử dụng

91
00:06:06,615 --> 00:06:15,194
Hồng Kông và tạo ra một dự án.

92
00:06:15,194 --> 00:06:17,850
Và một khi dự án của bạn được tạo ra,

93
00:06:17,850 --> 00:06:21,575
đây là những gì bạn sẽ được trình bày bởi Firebase.

94
00:06:21,575 --> 00:06:28,980
Và, ở đây, bạn sẽ thấy rằng điều đầu tiên mà bạn muốn lấy

95
00:06:28,980 --> 00:06:32,430
là thông tin về cấu hình Firebase của bạn để

96
00:06:32,430 --> 00:06:36,670
bạn có thể sử dụng nó trong ứng dụng góc cạnh của bạn.

97
00:06:36,670 --> 00:06:37,950
Vì vậy, để làm điều đó,

98
00:06:37,950 --> 00:06:40,985
nhấp vào nút này ở đây.

99
00:06:40,985 --> 00:06:44,085
Vì vậy, nó nói, thêm Firebase vào ứng dụng web của bạn.

100
00:06:44,085 --> 00:06:47,730
Và điều này sẽ cung cấp

101
00:06:51,750 --> 00:06:54,585
cho bạn một loạt các thông tin mà bạn nên sao chép và lưu bởi vì tôi sẽ sử dụng thông tin này để cấu hình

102
00:06:54,585 --> 00:07:00,045
ứng dụng góc cạnh của tôi một chút sau đó trong bài tập tiếp theo.

103
00:07:00,045 --> 00:07:04,440
Vì vậy, lưu thông tin này tại một vị trí thuận tiện để bạn có

104
00:07:04,440 --> 00:07:10,350
thể sử dụng thông tin này khi bạn thiết lập trang web của khách hàng của bạn.

105
00:07:10,350 --> 00:07:14,310
Bước tiếp theo, tôi sẽ thiết lập một vài tài khoản ở đây.

106
00:07:14,310 --> 00:07:17,235
Vì vậy, hãy để tôi bấm vào xác thực ở đây.

107
00:07:17,235 --> 00:07:20,655
Và khi xác thực được đưa ra,

108
00:07:20,655 --> 00:07:27,060
chúng tôi sẽ thiết lập các phương pháp đăng nhập mà chúng tôi sẽ sử dụng cho máy chủ Firebase của chúng tôi,

109
00:07:27,060 --> 00:07:29,865
và trong trường hợp của tôi,

110
00:07:29,865 --> 00:07:38,520
tôi sẽ sử dụng mật khẩu email như một trong các tùy chọn.

111
00:07:38,520 --> 00:07:41,080
Vì vậy, chúng tôi sẽ kích hoạt mật khẩu email.

112
00:07:41,080 --> 00:07:45,095
Tôi cũng sẽ bật đăng nhập Google.

113
00:07:45,095 --> 00:07:46,560
Vì vậy, hai cái này được kích hoạt.

114
00:07:46,560 --> 00:07:55,000
Nếu bạn muốn, bạn có thể bật các cách khác để xác thực người dùng.

115
00:07:55,000 --> 00:07:57,705
Tiếp theo, đi đến người dùng, bây giờ,

116
00:07:57,705 --> 00:08:02,895
nếu bạn đăng nhập vào ứng dụng này bằng tài khoản Google của bạn,

117
00:08:02,895 --> 00:08:07,812
người dùng đó sẽ được tự động thêm vào hệ thống của bạn.

118
00:08:07,812 --> 00:08:13,610
Nhưng ngay bây giờ, tôi sẽ thiết lập một người dùng với một email và mật khẩu.

119
00:08:13,610 --> 00:08:21,195
Vì vậy, tôi sẽ thiết lập một admin@confusion.net,

120
00:08:21,195 --> 00:08:31,105
và tôi sẽ thiết lập một mật khẩu ở đây và thêm vào người dùng.

121
00:08:31,105 --> 00:08:34,385
Vì vậy, đây sẽ là một người dùng,

122
00:08:34,385 --> 00:08:38,630
những người có thể đăng nhập bằng sự kết hợp mật khẩu email.

123
00:08:38,630 --> 00:08:45,285
Chúng tôi cũng có thể đăng ký để truy cập vào điều này bằng tài khoản Google của chúng tôi.

124
00:08:45,285 --> 00:08:47,690
Vì vậy, ứng dụng góc cạnh

125
00:08:47,690 --> 00:08:51,770
của tôi, tôi sẽ thiết lập để sử dụng cả cách đăng nhập mật khẩu email

126
00:08:51,770 --> 00:08:56,215
và cũng như bằng cách đăng nhập dựa trên tài khoản Google.

127
00:08:56,215 --> 00:09:00,700
Sau đó, chúng tôi sẽ đi vào kho.

128
00:09:00,700 --> 00:09:03,620
Vì vậy, chúng tôi sẽ thiết lập lưu trữ tiếp theo.

129
00:09:03,620 --> 00:09:09,650
Vì vậy, bộ nhớ là nơi bạn có thể thiết lập một cách

130
00:09:09,650 --> 00:09:18,035
tải tệp lên máy chủ của bạn và sau đó làm cho chúng có sẵn để sử dụng.

131
00:09:18,035 --> 00:09:22,084
Vì vậy, lưu trữ này, tôi sẽ thiết lập lưu trữ của tôi để lưu trữ

132
00:09:22,084 --> 00:09:28,073
các hình ảnh mà chúng tôi sẽ sử dụng và lưu lên từ trang web máy chủ của chúng tôi.

133
00:09:28,073 --> 00:09:30,025
Vì vậy, khi bạn thiết lập lưu trữ,

134
00:09:30,025 --> 00:09:33,590
nó sẽ đưa ra tập hợp các quy tắc bảo mật,

135
00:09:33,590 --> 00:09:38,880
trong đó xác định loại hoạt động nào sẽ được cho phép bởi người dùng.

136
00:09:38,880 --> 00:09:40,400
Vì vậy, nó nói cho phép đọc,

137
00:09:40,400 --> 00:09:44,355
viết: nếu request.auth không bằng null,

138
00:09:44,355 --> 00:09:47,650
vì vậy điều đó có nghĩa là chỉ những người dùng đã đăng nhập

139
00:09:47,650 --> 00:09:52,377
vào máy chủ này mới có thể đọc và viết.

140
00:09:52,377 --> 00:09:59,270
Bây giờ, tôi sẽ thay đổi điều này để cho phép đọc cho bất cứ ai,

141
00:09:59,270 --> 00:10:06,035
nhưng viết sẽ chỉ được phép bởi người dùng xác thực.

142
00:10:06,035 --> 00:10:07,675
Vì vậy, chúng tôi sẽ nói, nhận được nó,

143
00:10:07,675 --> 00:10:12,348
và sau đó tôi sẽ bắt đầu.

144
00:10:12,348 --> 00:10:13,845
Vì vậy, trong các quy tắc,

145
00:10:13,845 --> 00:10:18,705
tôi sẽ đi vào các quy tắc ở đây và sau đó sửa đổi các quy tắc

146
00:10:18,705 --> 00:10:24,845
để cho phép người dùng có thể đọc từ máy chủ.

147
00:10:24,845 --> 00:10:29,590
Bây giờ, chúng ta có thể thiết lập nó ở cấp độ thư mục cụ thể,

148
00:10:29,590 --> 00:10:31,620
nhưng vì đây là một ứng dụng đơn giản,

149
00:10:31,620 --> 00:10:36,590
tôi sẽ thiết lập nó ở cấp độ lưu trữ toàn bộ.

150
00:10:36,590 --> 00:10:39,325
Vì vậy, ở đây, tôi sẽ nói, cho phép đọc,

151
00:10:39,325 --> 00:10:43,403
và sau đó tôi sẽ sửa đổi quy tắc này để nói cho phép đọc,

152
00:10:43,403 --> 00:10:48,670
và tôi sẽ nói, cho phép viết nếu yêu cầu.

153
00:10:48,670 --> 00:10:50,700
Vì vậy, như bạn thấy,

154
00:10:50,700 --> 00:10:53,995
người dùng sẽ được phép đọc từ bộ nhớ.

155
00:10:53,995 --> 00:10:57,165
Bất kỳ người dùng nào sẽ được phép đọc, thậm chí không có xác thực,

156
00:10:57,165 --> 00:11:02,750
nhưng viết chỉ bị giới hạn cho người dùng đăng nhập vào hệ thống.

157
00:11:02,750 --> 00:11:06,750
Vì vậy, đây là sửa đổi đơn giản cho các quy tắc truy cập,

158
00:11:06,750 --> 00:11:08,180
của các quy tắc bảo mật.

159
00:11:08,180 --> 00:11:10,410
Bạn có thể phức tạp hơn về điều này,

160
00:11:10,410 --> 00:11:11,830
nhưng trong ví dụ đơn giản,

161
00:11:11,830 --> 00:11:13,170
tôi sẽ ở lại với điều này.

162
00:11:13,170 --> 00:11:18,451
Và sau đó chúng tôi sẽ công bố các quy tắc này lên máy chủ của chúng tôi.

163
00:11:18,451 --> 00:11:23,600
Sau đó quay trở lại các tập tin, trong các tập tin,

164
00:11:23,600 --> 00:11:30,895
tôi sẽ tạo ra một thư mục mới ở đây có tên là hình ảnh.

165
00:11:30,895 --> 00:11:33,760
Bây giờ, như bạn thấy,

166
00:11:33,760 --> 00:11:37,450
các quy tắc có thể được thiết lập cho thư mục hình ảnh cụ thể này,

167
00:11:37,450 --> 00:11:42,430
vì vậy nó sẽ cho phép người dùng chỉ đọc từ thư mục hình ảnh này và sau đó chỉ được

168
00:11:42,430 --> 00:11:47,830
ủy quyền người dùng tải lên thư mục hình ảnh này nếu bạn chọn.

169
00:11:47,830 --> 00:11:50,150
Nhưng, ngay bây giờ, tôi sẽ để nó như vậy,

170
00:11:50,150 --> 00:11:53,780
như là tập hợp chung của quy tắc mà tôi đã cấu hình ở đó.

171
00:11:53,780 --> 00:11:56,705
Bây giờ, đi đến thư mục hình ảnh.

172
00:11:56,705 --> 00:12:03,005
Tôi sẽ tải lên một loạt các hình ảnh vào thư mục này ở đây.

173
00:12:03,005 --> 00:12:10,445
Vì vậy, để tôi lấy một loạt các hình ảnh mà tôi có cho ứng dụng của tôi.

174
00:12:10,445 --> 00:12:19,915
Và trước đó, tôi đã sử dụng những hình ảnh này trong các ứng dụng khác của tôi.

175
00:12:19,915 --> 00:12:29,855
Tôi sẽ chọn tất cả những hình ảnh này và sau đó tải chúng lên lưu trữ Google ở đây.

176
00:12:29,855 --> 00:12:34,680
Những hình ảnh này có sẵn trong

177
00:12:34,680 --> 00:12:39,615
tập tin images.zip của bạn mà tôi đã cung cấp cho bạn trong bài tập trước đó,

178
00:12:39,615 --> 00:12:41,163
trong bài học trước đó.

179
00:12:41,163 --> 00:12:43,395
Vì vậy, chỉ cần tải xuống các tập tin images.zip,

180
00:12:43,395 --> 00:12:44,910
hoặc nếu bạn đã tải xuống,

181
00:12:44,910 --> 00:12:48,720
bạn nên có những hình ảnh này với bạn để bạn có thể tải chúng lên các tập tin.

182
00:12:48,720 --> 00:12:50,303
Khi bạn tải lên những hình ảnh này,

183
00:12:50,303 --> 00:12:56,215
bạn có thể nhấp vào bất kỳ một trong những hình ảnh đó và cũng nhận thấy rằng dưới đây,

184
00:12:56,215 --> 00:12:59,135
nó cung cấp cho bạn vị trí tập tin này.

185
00:12:59,135 --> 00:13:05,755
Bạn cần phải sao chép URL này cho vị trí tập tin này bởi vì khi chúng tôi cấu hình cơ sở dữ liệu của chúng

186
00:13:05,755 --> 00:13:10,785
tôi, trong trường hình ảnh của dữ liệu JSON của

187
00:13:10,785 --> 00:13:17,525
chúng tôi, chúng tôi sẽ cấu hình mỗi một trong số họ với URL này cho hình ảnh tương ứng.

188
00:13:17,525 --> 00:13:21,315
Tiếp theo, chúng ta sẽ chuyển sang cơ sở dữ liệu đó.

189
00:13:21,315 --> 00:13:25,975
Trong cơ sở dữ liệu, bạn được đưa ra hai lựa chọn.

190
00:13:25,975 --> 00:13:28,970
Bạn có thể đi với cơ sở dữ liệu thời gian thực cũ hơn,

191
00:13:28,970 --> 00:13:31,375
được hỗ trợ bởi Google,

192
00:13:31,375 --> 00:13:37,065
và thực sự hầu hết các ứng dụng hiện tại sử dụng Firebase sẽ sử dụng cơ sở dữ liệu thời gian thực.

193
00:13:37,065 --> 00:13:38,820
Nhưng sau đó, trong khóa học này,

194
00:13:38,820 --> 00:13:43,420
chúng tôi sẽ khám phá phiên bản Firestore mới hơn.

195
00:13:43,420 --> 00:13:50,450
Firestore beta cung cấp cơ sở dữ liệu thời gian thực toàn diện hơn rất nhiều.

196
00:13:50,450 --> 00:13:55,110
Vì vậy, đây là cơ sở dữ liệu thời gian thực thế hệ tiếp theo và cung cấp

197
00:13:55,110 --> 00:13:59,310
rất nhiều cách nâng cao hơn để thực hiện truy vấn và

198
00:13:59,310 --> 00:14:04,320
tự động mở rộng dung lượng lưu trữ của họ cho chúng tôi.

199
00:14:04,320 --> 00:14:07,260
Vì vậy, chúng tôi sẽ đi với Firestore beta.

200
00:14:07,260 --> 00:14:09,870
Bây giờ, một trong những lý do một lần nữa để tôi bắt đầu với

201
00:14:09,870 --> 00:14:14,340
phiên bản Firestore là đơn giản bởi vì nó

202
00:14:14,340 --> 00:14:23,250
cho phép chúng tôi lưu trữ thông tin dưới dạng tài liệu và bộ sưu tập.

203
00:14:23,250 --> 00:14:25,770
Bây giờ, từ kinh nghiệm của chúng tôi với MongoDB,

204
00:14:25,770 --> 00:14:28,988
chúng tôi đã biết làm thế nào tài liệu và bộ sưu tập hoạt động,

205
00:14:28,988 --> 00:14:33,630
và vì vậy đó là lý do tại sao Firestore beta là một lựa chọn tốt hơn cho chúng tôi,

206
00:14:33,630 --> 00:14:37,275
vì chúng tôi đã biết làm thế nào nó được cấu hình.

207
00:14:37,275 --> 00:14:39,900
Nếu bạn muốn mặc định cho cơ sở dữ liệu thời gian thực chuẩn,

208
00:14:39,900 --> 00:14:41,280
bạn có thể chọn để làm như vậy.

209
00:14:41,280 --> 00:14:44,040
Nhưng cơ sở dữ liệu thời gian thực lưu trữ tất cả dữ liệu của bạn trong

210
00:14:44,040 --> 00:14:51,272
một cây lớn và có một số lượng hạn chế của khả năng truy vấn.

211
00:14:51,272 --> 00:14:56,315
Vì vậy, đối với các quy tắc bảo mật cho Firestore của

212
00:14:56,315 --> 00:14:59,970
tôi, tôi sẽ đi với chế độ kiểm tra,

213
00:14:59,970 --> 00:15:05,955
nơi tôi sẽ chỉ để nó mở cho mọi người đọc và viết vào lúc này.

214
00:15:05,955 --> 00:15:11,790
Và điều này là okay bởi vì chúng tôi chỉ kiểm tra cơ sở dữ liệu, nhưng thông thường,

215
00:15:11,790 --> 00:15:20,245
tôi sẽ đề nghị đi với một cách cấu hình hơn để làm việc với cơ sở dữ liệu của bạn ở đây.

216
00:15:20,245 --> 00:15:23,171
Vì vậy, chúng tôi sẽ bắt đầu với một chế độ thử nghiệm để bắt đầu.

217
00:15:23,171 --> 00:15:27,165
Và vì vậy chúng tôi sẽ thiết lập các quy tắc bảo mật như thế này để bắt đầu.

218
00:15:27,165 --> 00:15:31,280
Bạn có thể đi với thiết lập công cụ bảo mật phức tạp hơn.

219
00:15:31,280 --> 00:15:34,710
Vì vậy, như bạn đã thấy với lưu trữ,

220
00:15:34,710 --> 00:15:37,255
chúng tôi đã thiết lập như vậy mà đọc được cho phép bởi

221
00:15:37,255 --> 00:15:40,620
bất cứ ai nhưng viết chỉ được phép bởi người dùng được ủy quyền.

222
00:15:40,620 --> 00:15:44,790
Chúng tôi có thể thiết lập một chức năng tương tự ở đây cũng.

223
00:15:44,790 --> 00:15:47,355
Vì vậy, đây là máy chủ gây nhầm lẫn.

224
00:15:47,355 --> 00:15:49,590
Và như vậy, trong các quy tắc,

225
00:15:49,590 --> 00:15:56,160
hãy để tôi đi đến lưu trữ đó và sau đó chỉ cần sao chép các quy tắc từ lưu trữ ở đây,

226
00:15:56,160 --> 00:16:01,020
và chúng tôi sẽ thiết lập cùng một loại hạn chế ở đây.

227
00:16:01,020 --> 00:16:04,725
Vì vậy, chúng tôi sẽ cho phép bất cứ ai đọc nhưng chỉ có

228
00:16:04,725 --> 00:16:11,420
người dùng được ủy quyền ghi vào cơ sở dữ liệu.

229
00:16:11,420 --> 00:16:15,075
Vì vậy, đi trở lại cơ sở dữ liệu, trong các quy tắc,

230
00:16:15,075 --> 00:16:25,688
chúng ta có thể nói cho phép đọc: và sau đó dòng thứ hai tôi sẽ thay thế điều đó,

231
00:16:25,688 --> 00:16:29,620
nói cho phép viết nếu request.auth không bằng null.

232
00:16:29,620 --> 00:16:32,535
Vì vậy, chỉ những người đã đăng nhập,

233
00:16:32,535 --> 00:16:36,540
họ mới có thể sửa đổi dữ liệu để chúng tôi,

234
00:16:36,540 --> 00:16:41,441
ít nhất, tôi có một số bảo vệ dữ liệu của tôi.

235
00:16:41,441 --> 00:16:48,900
Bây giờ, ở đây, bây giờ chúng ta có thể đồ họa thêm vào dữ liệu vào ứng dụng của chúng tôi.

236
00:16:48,900 --> 00:16:54,791
Và điều này, tôi tìm thấy cách nhanh nhất để thêm vào dữ liệu.

237
00:16:54,791 --> 00:16:57,270
Nếu bạn thiết lập trang web khách hàng,

238
00:16:57,270 --> 00:17:00,380
bạn cũng có thể đăng dữ liệu từ trang web khách hàng, nhưng,

239
00:17:00,380 --> 00:17:04,780
ngay bây giờ, chúng tôi sẽ khởi động bằng cách thêm vào ba bộ sưu tập ở đây.

240
00:17:04,780 --> 00:17:10,535
Vì vậy, bộ sưu tập đầu tiên mà tôi sẽ thêm lên là các món ăn.

241
00:17:10,535 --> 00:17:14,800
Và chúng ta có thể thêm tài liệu vào các món ăn,

242
00:17:14,800 --> 00:17:17,400
vì vậy chúng ta có thể thêm tài liệu đầu tiên của chúng tôi.

243
00:17:17,400 --> 00:17:19,405
Vì vậy, để thêm một tài liệu vào các món ăn,

244
00:17:19,405 --> 00:17:23,005
hãy nhớ rằng tôi đã cung cấp cho bạn các tập tin DB.json ở đó.

245
00:17:23,005 --> 00:17:27,085
Vì vậy, bạn có thể đi với các tập tin DB.json và sau đó thêm vào,

246
00:17:27,085 --> 00:17:31,665
từng bước, mỗi người trong số các món ăn mà chúng tôi có.

247
00:17:31,665 --> 00:17:36,350
Vì vậy, ở đây, tôi sẽ cấu hình món ăn đầu tiên ở đây.

248
00:17:36,350 --> 00:17:44,895
Vì vậy, đối với các món ăn, chúng tôi có thể cho phép Firebase tự động gán ID cho tài liệu của chúng tôi.

249
00:17:44,895 --> 00:17:48,010
Vì vậy, tôi sẽ để cho điều đó tự động gán.

250
00:17:48,010 --> 00:17:52,660
Vì vậy, chúng tôi sẽ thêm vào món ăn đầu tiên ở đây.

251
00:17:52,660 --> 00:18:01,200
Tên của cánh đồng và món ăn đầu tiên ở đây.

252
00:18:01,200 --> 00:18:03,633
Vì vậy, chúng ta phải siêng năng thêm,

253
00:18:03,633 --> 00:18:07,099
từng chút một, mỗi món ăn ở đây.

254
00:18:07,099 --> 00:18:09,205
Vì vậy, chúng tôi sẽ nói tên,

255
00:18:09,205 --> 00:18:16,327
và sau đó chúng tôi sẽ nói loại, đó là nguồn điện.

256
00:18:16,327 --> 00:18:21,935
Và sau đó chúng tôi sẽ thêm vào hình ảnh,

257
00:18:21,935 --> 00:18:26,450
mà tôi sẽ trở lại và thêm vào một chút sau đó bởi vì tôi cần phải sao chép

258
00:18:26,450 --> 00:18:32,250
URL hình ảnh từ bộ nhớ của tôi và sử dụng nó ở đây.

259
00:18:32,250 --> 00:18:48,138
Sau đó, chúng tôi sẽ có nó dán nhãn là Hot, giá cả.

260
00:18:48,138 --> 00:18:51,505
Vì vậy, chúng tôi có thể

261
00:18:51,505 --> 00:18:55,240
loại, tên, thể loại, hình ảnh, nhãn, giá cả

262
00:18:55,240 --> 00:19:02,310
, mô tả, mà tôi sẽ sao chép và dán từ tập tin DB.json của tôi.

263
00:19:02,310 --> 00:19:07,325
Và, cuối cùng, cờ đặc trưng,

264
00:19:07,325 --> 00:19:13,587
mà tôi sẽ đặt như một boolean và đặt nó thành true trong trường hợp này.

265
00:19:13,587 --> 00:19:20,135
Vì vậy, đây sẽ là tài liệu đầu tiên của chúng tôi mà chúng tôi sẽ thêm vào cơ sở dữ liệu của chúng tôi ở đây.

266
00:19:20,135 --> 00:19:22,705
Vì vậy, bạn sẽ ngay lập tức nhận thấy rằng,

267
00:19:22,705 --> 00:19:26,570
trong cơ sở dữ liệu của chúng tôi, tài liệu đầu tiên được thêm vào.

268
00:19:26,570 --> 00:19:29,815
Vì vậy, chúng ta sẽ thấy các món ăn và tài liệu đầu tiên,

269
00:19:29,815 --> 00:19:35,900
và bạn có thể xem thông tin về tài liệu này được cấu hình ở đây.

270
00:19:35,900 --> 00:19:38,695
Vì vậy, chúng tôi có thể loại, mô tả

271
00:19:38,695 --> 00:19:44,355
, đặc trưng, hình ảnh, nhãn, tên và giá cả.

272
00:19:44,355 --> 00:19:49,360
Chúng tôi cũng sẽ thêm một lĩnh vực nữa ở đây được gọi là CreateDat,

273
00:19:49,360 --> 00:19:54,175
và đây sẽ là một dấu thời gian.

274
00:19:54,175 --> 00:20:00,870
Và dấu thời gian sẽ là dấu thời gian ngày nay và sau đó tôi rời khỏi đó giá trị thời gian như vậy.

275
00:20:00,870 --> 00:20:04,772
Vì vậy, chúng tôi có thể thêm dấu thời gian cũng để này, và, cũng,

276
00:20:04,772 --> 00:20:14,855
chúng tôi sẽ thêm một dấu thời gian hơn như UpdateDat và với dấu thời gian ở đây.

277
00:20:14,855 --> 00:20:17,145
Vì vậy, chúng tôi có thêm hai dấu thời gian ở đây.

278
00:20:17,145 --> 00:20:18,730
Bây giờ, đối với hình ảnh,

279
00:20:18,730 --> 00:20:21,375
chúng tôi sẽ đi đến kho lưu trữ ở đây.

280
00:20:21,375 --> 00:20:25,230
Và từ bộ nhớ của chúng tôi, trong các hình ảnh,

281
00:20:25,230 --> 00:20:31,070
chúng tôi sẽ chọn tập tin hình ảnh ở đây

282
00:20:31,070 --> 00:20:36,790
và sau đó đi đến vị trí tập tin và sau đó sao chép URL này ở đây.

283
00:20:36,790 --> 00:20:38,795
Vì vậy, nếu chúng ta chỉ cần nhấp vào này,

284
00:20:38,795 --> 00:20:40,880
URL đó sẽ được sao chép.

285
00:20:40,880 --> 00:20:42,050
Vì vậy, chúng tôi sẽ trở lại

286
00:20:42,050 --> 00:20:49,715
cơ sở dữ liệu đó và sau đó

287
00:20:49,715 --> 00:20:53,975
chỉnh sửa trường hình ảnh và sau đó thêm vào URL đó ở đó.

288
00:20:53,975 --> 00:20:58,085
Như vậy, bạn có thể đi trước và thêm các món ăn còn lại, các

289
00:20:58,085 --> 00:21:02,120
chương trình khuyến mãi và cũng là các nhà lãnh đạo.

290
00:21:02,120 --> 00:21:04,280
Vì vậy, một khi bạn hoàn thành tất cả các bước,

291
00:21:04,280 --> 00:21:08,700
mà sẽ mất khá nhiều thời gian để bạn làm từng bước.

292
00:21:08,700 --> 00:21:13,620
Vì vậy, tôi cho phép bạn hoàn tất thêm tất cả các thông tin này vào Firebase của bạn.

293
00:21:13,620 --> 00:21:18,045
Vì vậy, sau khi bạn hoàn tất nhập tất cả dữ liệu vào cơ sở dữ liệu của

294
00:21:18,045 --> 00:21:21,675
bạn, các món ăn của bạn nên có bốn món ăn ở đây.

295
00:21:21,675 --> 00:21:26,660
Một lần nữa, hãy chắc chắn rằng bạn khởi tạo

296
00:21:26,660 --> 00:21:33,166
trường hình ảnh với URL từ bộ nhớ đó cho hình ảnh cụ thể đó.

297
00:21:33,166 --> 00:21:40,565
Vì vậy, bạn sẽ có một, hai, ba và bốn món ăn.

298
00:21:40,565 --> 00:21:43,805
Sau đó, bạn sẽ có bốn nhà lãnh đạo tương ứng.

299
00:21:43,805 --> 00:21:50,860
Một, hai, ba và bốn và một chương trình khuyến mãi ở đây.

300
00:21:50,860 --> 00:21:54,590
Một lần nữa, hãy chắc chắn rằng bạn khởi tạo các hình ảnh cho mỗi một trong số

301
00:21:54,590 --> 00:21:58,940
họ một cách thích hợp từ lưu trữ Firebase.

302
00:21:58,940 --> 00:22:02,375
Với điều này, máy chủ của chúng tôi được cấu hình hoàn toàn.

303
00:22:02,375 --> 00:22:10,100
Vì vậy, máy chủ Firebase của chúng tôi có tất cả các dữ liệu cần thiết cho nó để phục vụ theo kế hoạch của chúng tôi.

304
00:22:10,100 --> 00:22:13,595
Bây giờ chúng ta sẽ chuyển sang bài tập tiếp theo,

305
00:22:13,595 --> 00:22:18,725
nơi chúng tôi sẽ cấu hình khách hàng góc cạnh của chúng tôi để có thể truy cập vào

306
00:22:18,725 --> 00:22:22,370
phụ trợ Firebase này như một dịch vụ và sau đó truy xuất

307
00:22:22,370 --> 00:22:26,469
dữ liệu và sau đó cũng đẩy dữ liệu vào máy chủ Firebase của họ.

308
00:22:26,469 --> 00:22:29,440
Với điều này, chúng tôi hoàn thành bài tập này.

309
00:22:29,440 --> 00:22:33,110
Trong bài tập này, chúng ta đã thấy cách dễ dàng cho chúng ta để

310
00:22:33,110 --> 00:22:37,100
cấu hình backend Firebase của chúng tôi như một dịch vụ cho cả xác thực, để

311
00:22:37,100 --> 00:22:43,520
lưu trữ các tập tin và phục vụ chúng và cũng lưu trữ thông tin vào

312
00:22:43,520 --> 00:22:51,410
cơ sở dữ liệu Cloud Firestore dưới dạng bộ sưu tập và tài liệu trong bộ sưu tập.

313
00:22:51,410 --> 00:22:55,180
Với điều này, chúng tôi hoàn thành bài tập này.