1
00:00:03,900 --> 00:00:07,540
Пойдем на рыбалку на бас-бас-бас-базар.

2
00:00:07,540 --> 00:00:10,520
Начнем с Firebase,

3
00:00:10,520 --> 00:00:13,560
премиум-предложения от Google.

4
00:00:13,560 --> 00:00:16,190
Давайте немного разберемся о Firebase,

5
00:00:16,190 --> 00:00:19,375
настроим сервер Firebase,

6
00:00:19,375 --> 00:00:22,340
а затем мы рассмотрим угловое приложение,

7
00:00:22,340 --> 00:00:24,790
которое я собираюсь модифицировать на основе

8
00:00:24,790 --> 00:00:29,340
предыдущего углового приложения, которое вы видели в предыдущей лекции.

9
00:00:29,340 --> 00:00:34,890
Мы изменим его, чтобы использовать Firebase в качестве бэкэнда.

10
00:00:34,890 --> 00:00:38,890
Таким образом, как мы увидим в конце этого урока,

11
00:00:38,890 --> 00:00:41,440
это упражнение и следующее упражнение,

12
00:00:41,440 --> 00:00:46,600
мы можем легко взять угловое приложение и модифицировать его, чтобы использовать

13
00:00:46,600 --> 00:00:52,245
Firebase в качестве бэкэнда в качестве поставщика услуг.

14
00:00:52,245 --> 00:00:54,612
Чтобы начать путешествие,

15
00:00:54,612 --> 00:01:00,725
давайте пойдем на firebase.google.com, чтобы немного понять о Firebase.

16
00:01:00,725 --> 00:01:04,635
Тема своего рода делает целую презентацию о Firebase,

17
00:01:04,635 --> 00:01:06,550
я быстро проведу вас через то, что было

18
00:01:06,550 --> 00:01:09,370
объяснено на самом сайте Firebase, потому что они дают вам

19
00:01:09,370 --> 00:01:15,125
достаточно деталей о том, как Firebase поддерживает различные функции.

20
00:01:15,125 --> 00:01:19,810
Итак, давайте пробежим через этот сайт, чтобы понять, как работает Firebase.

21
00:01:19,810 --> 00:01:22,480
Поэтому, если вы заходите на веб-сайт, как вы можете видеть,

22
00:01:22,480 --> 00:01:27,955
он говорит, что Firebase помогает вам создавать лучшие мобильные приложения и развивать свой бизнес.

23
00:01:27,955 --> 00:01:30,750
И затем, как вы видите здесь,

24
00:01:30,750 --> 00:01:36,280
он объясняет вам подробности о том, как он позволяет

25
00:01:36,280 --> 00:01:41,641
быстро создавать приложения без необходимости управления серверной инфраструктурой для вашего приложения

26
00:01:41,641 --> 00:01:46,875
и единой консолью, объединяющей множество продуктов, которые работают вместе.

27
00:01:46,875 --> 00:01:56,305
Таким образом, это все продукты, предлагаемые Google, которые работают вместе, чтобы удовлетворить ваши потребности бэкэнда.

28
00:01:56,305 --> 00:02:00,010
А также здесь вы можете использовать

29
00:02:00,010 --> 00:02:03,585
многие дополнительные продукты, которые доступны в Google.

30
00:02:03,585 --> 00:02:06,055
Так, в частности, в этом упражнении

31
00:02:06,055 --> 00:02:09,620
мы будем использовать Cloud Firestore,

32
00:02:09,620 --> 00:02:12,775
новое положение от Google.

33
00:02:12,775 --> 00:02:15,740
Мы посмотрим подробнее об этом позже.

34
00:02:15,740 --> 00:02:18,520
Мы рассмотрим, как мы можем использовать поддержку аутентификации

35
00:02:18,520 --> 00:02:22,030
, которая предоставляется Firebase для аутентификации пользователей.

36
00:02:22,030 --> 00:02:27,880
Мы рассмотрим облачное хранилище для хранения наших файлов изображений и их обслуживания.

37
00:02:27,880 --> 00:02:34,650
И тогда мы также рассмотрим, как мы можем использовать все это вместе с

38
00:02:34,650 --> 00:02:41,170
модулем узла FireBase, который мы можем включить вместе с модулем узла

39
00:02:41,170 --> 00:02:46,270
angularfire2 в наше угловое приложение, чтобы

40
00:02:46,270 --> 00:02:51,910
мы могли общаться с нашим бэкендом Firebase в качестве сервиса.

41
00:02:51,910 --> 00:02:55,300
Кроме того, глядя более подробно,

42
00:02:55,300 --> 00:02:58,390
мы видим, как

43
00:02:58,390 --> 00:03:04,525
сама тире Firebase предоставляет различные функции, такие как позволяет развертывать

44
00:03:04,525 --> 00:03:11,200
различные пользовательские функции для разной адаптации вашего приложения и

45
00:03:11,200 --> 00:03:17,590
как легко интегрировать ваш бэкэнд либо с iOS,

46
00:03:17,590 --> 00:03:20,110
Android или веб-приложением .

47
00:03:20,110 --> 00:03:26,305
В частности, мы рассмотрим веб-приложение и использование JavaScript, а

48
00:03:26,305 --> 00:03:29,290
также использование того, как мы будем

49
00:03:29,290 --> 00:03:33,610
включать это в наше угловое приложение немного позже.

50
00:03:33,610 --> 00:03:39,900
А также Firebase предоставляет базу данных в реальном времени,

51
00:03:39,900 --> 00:03:42,850
как исходную базу данных в реальном времени,

52
00:03:42,850 --> 00:03:45,040
а также новый Cloud Firestone,

53
00:03:45,040 --> 00:03:50,905
позволяют автоматически синхронизировать данные между различными пользовательскими устройствами.

54
00:03:50,905 --> 00:03:52,900
Таким образом, любые изменения, сделанные

55
00:03:52,900 --> 00:03:59,625
на стороне сервера, будут автоматически отражаться на всех клиентах,

56
00:03:59,625 --> 00:04:06,996
и, конечно, вы можете прочитать более подробную информацию о Firebase на этом сайте.

57
00:04:06,996 --> 00:04:13,885
И начать очень легко, потому что базовое предложение является бесплатным для пользователей.

58
00:04:13,885 --> 00:04:17,854
Итак, давайте начнем использовать Firebase.

59
00:04:17,854 --> 00:04:25,085
Мы настроим нашу учетную запись Firebase, а затем получить доступ и настроить наш бэкэнд в качестве сервера,

60
00:04:25,085 --> 00:04:29,025
который мы затем будем использовать из нашего углового приложения.

61
00:04:29,025 --> 00:04:31,995
Итак, это быстрый тур по Firebase,

62
00:04:31,995 --> 00:04:34,880
но вместо того, чтобы просто смотреть на них,

63
00:04:34,880 --> 00:04:38,665
давайте зайдем и фактически испачкаем наши руки,

64
00:04:38,665 --> 00:04:41,970
настраивая базу Firebase

65
00:04:41,970 --> 00:04:45,900
обратно в службу, а затем используя ее в нашем угловом приложении.

66
00:04:45,900 --> 00:04:47,593
Так что, чтобы начать,

67
00:04:47,593 --> 00:04:49,910
как вы увидите правый край здесь,

68
00:04:49,910 --> 00:04:51,510
он говорит перейти на консоль.

69
00:04:51,510 --> 00:04:56,705
Очевидно, что у вас должен быть аккаунт Google, чтобы иметь возможность использовать Firebase.

70
00:04:56,705 --> 00:04:58,264
Это само собой разумеется,

71
00:04:58,264 --> 00:05:00,380
и вы должны войти в свой аккаунт Google.

72
00:05:00,380 --> 00:05:01,640
Итак, как вы можете видеть,

73
00:05:01,640 --> 00:05:03,225
я уже в моем аккаунте Google.

74
00:05:03,225 --> 00:05:05,080
Так что это даст мне доступ к консоли.

75
00:05:05,080 --> 00:05:06,857
Если вы не вошли в систему,

76
00:05:06,857 --> 00:05:09,871
то вам лучше войти в свой аккаунт Google.

77
00:05:09,871 --> 00:05:12,150
Поэтому, когда вы переходите на консоль,

78
00:05:12,150 --> 00:05:18,620
это приведет вас к консоли служб Firebase здесь,

79
00:05:18,620 --> 00:05:22,335
где вы можете настроить проекты.

80
00:05:22,335 --> 00:05:23,825
Поэтому, когда вы идете на консоль,

81
00:05:23,825 --> 00:05:26,460
как вы можете видеть, в ней говорится, что добавьте проект.

82
00:05:26,460 --> 00:05:27,605
И, как вы можете видеть,

83
00:05:27,605 --> 00:05:30,675
я уже пробовал свои силы в настройке

84
00:05:30,675 --> 00:05:35,750
другого проекта Firebase, прежде чем я объяснил это вам.

85
00:05:35,750 --> 00:05:38,190
Так что давайте создадим проект здесь.

86
00:05:38,190 --> 00:05:41,065
Поэтому мы нажмем на проект добавления,

87
00:05:41,065 --> 00:05:46,865
и это должно вызвать красивое маленькое окно,

88
00:05:46,865 --> 00:05:48,765
где вы можете ввести информацию.

89
00:05:48,765 --> 00:05:53,750
Таким образом, мы назовем этот проект как ConfusionServer,

90
00:05:53,750 --> 00:06:00,793
как вы ожидали, и настроим его там, где бы вы ни находились в данный момент.

91
00:06:00,793 --> 00:06:06,615
Поэтому я собираюсь настроить его для использования в

92
00:06:06,615 --> 00:06:15,194
Гонконге и создания проекта.

93
00:06:15,194 --> 00:06:17,850
И как только ваш проект будет создан,

94
00:06:17,850 --> 00:06:21,575
это то, что вам будет представлено Firebase.

95
00:06:21,575 --> 00:06:28,980
И здесь вы увидите, что первое, что вы хотели бы захватить,

96
00:06:28,980 --> 00:06:32,430
- это информация о вашей конфигурации Firebase,

97
00:06:32,430 --> 00:06:36,670
чтобы вы могли использовать ее в своем угловом приложении.

98
00:06:36,670 --> 00:06:37,950
Чтобы сделать это,

99
00:06:37,950 --> 00:06:40,985
нажмите на эту кнопку здесь.

100
00:06:40,985 --> 00:06:44,085
Таким образом, он говорит, добавьте Firebase в свое веб-приложение.

101
00:06:44,085 --> 00:06:47,730
И это предоставит вам кучу информации, которую

102
00:06:47,730 --> 00:06:51,750
вы должны скопировать и сохранить, потому что я буду

103
00:06:51,750 --> 00:06:54,585
использовать эту информацию для настройки

104
00:06:54,585 --> 00:07:00,045
моего углового приложения немного позже в следующем упражнении.

105
00:07:00,045 --> 00:07:04,440
Поэтому сохраните эту информацию в удобном месте,

106
00:07:04,440 --> 00:07:10,350
чтобы вы могли использовать эту информацию при настройке сайта вашего клиента.

107
00:07:10,350 --> 00:07:14,310
Следующим шагом я поставлю здесь пару аккаунтов.

108
00:07:14,310 --> 00:07:17,235
Поэтому позвольте мне нажать на аутентификацию здесь.

109
00:07:17,235 --> 00:07:20,655
И когда аутентификация будет поднята,

110
00:07:20,655 --> 00:07:27,060
мы настроим методы входа, которые мы будем использовать для нашего сервера Firebase,

111
00:07:27,060 --> 00:07:29,865
и в моем случае

112
00:07:29,865 --> 00:07:38,520
я буду использовать пароль электронной почты в качестве одного из вариантов.

113
00:07:38,520 --> 00:07:41,080
Таким образом, мы включим пароль электронной почты.

114
00:07:41,080 --> 00:07:45,095
Я также включу вход в систему Google.

115
00:07:45,095 --> 00:07:46,560
Таким образом, эти два включены.

116
00:07:46,560 --> 00:07:55,000
Если вы хотите, вы можете включить другие способы проверки подлинности пользователей.

117
00:07:55,000 --> 00:07:57,705
Далее, перейдя к пользователям, теперь,

118
00:07:57,705 --> 00:08:02,895
если вы войдете в это приложение с вашей учетной записью Google,

119
00:08:02,895 --> 00:08:07,812
этот пользователь будет автоматически добавлен в вашу систему.

120
00:08:07,812 --> 00:08:13,610
Но прямо сейчас я собираюсь настроить одного пользователя с электронной почтой и паролем.

121
00:08:13,610 --> 00:08:21,195
Поэтому я настрою admin@confusion.net,

122
00:08:21,195 --> 00:08:31,105
и я установлю пароль здесь и добавлю пользователя.

123
00:08:31,105 --> 00:08:34,385
Таким образом, это будет один пользователь,

124
00:08:34,385 --> 00:08:38,630
который может войти в систему с помощью комбинации email-password.

125
00:08:38,630 --> 00:08:45,285
Мы также можем зарегистрироваться, чтобы получить доступ к этому, используя наш аккаунт Google.

126
00:08:45,285 --> 00:08:47,690
Таким образом, мое угловое приложение,

127
00:08:47,690 --> 00:08:51,770
я настрою использовать как способ ввода пароля электронной почты,

128
00:08:51,770 --> 00:08:56,215
так и вход на основе учетной записи Google.

129
00:08:56,215 --> 00:09:00,700
После этого мы отправимся на хранение.

130
00:09:00,700 --> 00:09:03,620
Таким образом, мы установим хранилище следующим образом.

131
00:09:03,620 --> 00:09:09,650
Таким образом, хранилище - это место, где вы можете настроить способ

132
00:09:09,650 --> 00:09:18,035
загрузки файлов на ваш сервер, а затем сделать их доступными для использования.

133
00:09:18,035 --> 00:09:22,084
Таким образом, это хранилище, я собираюсь настроить свое хранилище для хранения

134
00:09:22,084 --> 00:09:28,073
изображений, которые мы будем использовать и сохранить с нашего сайта сервера.

135
00:09:28,073 --> 00:09:30,025
Поэтому, когда вы настраиваете хранилище,

136
00:09:30,025 --> 00:09:33,590
он придумает набор правил безопасности,

137
00:09:33,590 --> 00:09:38,880
которые определяют, какие операции будут разрешены пользователем.

138
00:09:38,880 --> 00:09:40,400
Таким образом, он говорит, что позволяет читать,

139
00:09:40,400 --> 00:09:44,355
писать: если request.auth не равен нулю,

140
00:09:44,355 --> 00:09:47,650
так что это означает, что только пользователи, которые

141
00:09:47,650 --> 00:09:52,377
вошли в этот сервер, смогут читать и писать.

142
00:09:52,377 --> 00:09:59,270
Теперь я собираюсь изменить это, чтобы разрешить чтение для кого угодно,

143
00:09:59,270 --> 00:10:06,035
но записи будут разрешены только аутентифицированными пользователями.

144
00:10:06,035 --> 00:10:07,675
Так что мы скажем, понял,

145
00:10:07,675 --> 00:10:12,348
а потом я начну.

146
00:10:12,348 --> 00:10:13,845
Итак, в правилах

147
00:10:13,845 --> 00:10:18,705
я зайду в правила здесь, а затем изменю правила,

148
00:10:18,705 --> 00:10:24,845
чтобы пользователи могли читать с сервера.

149
00:10:24,845 --> 00:10:29,590
Теперь мы можем настроить его на определенном уровне папок,

150
00:10:29,590 --> 00:10:31,620
но так как это простое приложение,

151
00:10:31,620 --> 00:10:36,590
я собираюсь настроить его на уровне всего хранилища.

152
00:10:36,590 --> 00:10:39,325
Итак, здесь, я скажу, разрешить чтение,

153
00:10:39,325 --> 00:10:43,403
а затем я собираюсь изменить это правило, чтобы сказать разрешить чтение,

154
00:10:43,403 --> 00:10:48,670
и я скажу, разрешить запись, если запрос.

155
00:10:48,670 --> 00:10:50,700
Таким образом, как вы можете видеть,

156
00:10:50,700 --> 00:10:53,995
пользователям будет разрешено читать из хранилища.

157
00:10:53,995 --> 00:10:57,165
Любой пользователь будет иметь право читать, даже без аутентификации,

158
00:10:57,165 --> 00:11:02,750
но запись ограничивается только пользователями, которые входят в систему.

159
00:11:02,750 --> 00:11:06,750
Таким образом, это простая модификация правил доступа,

160
00:11:06,750 --> 00:11:08,180
правил безопасности.

161
00:11:08,180 --> 00:11:10,410
Вы можете быть более подробно об этом,

162
00:11:10,410 --> 00:11:11,830
но в простом примере

163
00:11:11,830 --> 00:11:13,170
я собираюсь остаться с этим.

164
00:11:13,170 --> 00:11:18,451
А потом мы опубликуем эти правила на нашем сервере.

165
00:11:18,451 --> 00:11:23,600
Затем возвращаясь к файлам, в файлах,

166
00:11:23,600 --> 00:11:30,895
я собираюсь создать новую папку здесь с именами изображений.

167
00:11:30,895 --> 00:11:33,760
Теперь, как вы видите,

168
00:11:33,760 --> 00:11:37,450
правила могут быть настроены для этой конкретной папки изображений,

169
00:11:37,450 --> 00:11:42,430
так что пользователи смогут читать только из этой папки изображений, а затем только

170
00:11:42,430 --> 00:11:47,830
авторизованные пользователи могут загружать в эту папку изображений, если вы это решите.

171
00:11:47,830 --> 00:11:50,150
Но, прямо сейчас, я собираюсь оставить его как таковой,

172
00:11:50,150 --> 00:11:53,780
как общий набор правил, который я настроил там.

173
00:11:53,780 --> 00:11:56,705
Теперь перейдите в папку с изображениями.

174
00:11:56,705 --> 00:12:03,005
Я собираюсь загрузить кучу изображений в эту папку здесь.

175
00:12:03,005 --> 00:12:10,445
Поэтому позвольте мне захватить кучу изображений, которые у меня есть для моего приложения.

176
00:12:10,445 --> 00:12:19,915
Итак, ранее я использовал эти изображения в других моих приложениях.

177
00:12:19,915 --> 00:12:29,855
Я собираюсь выбрать все эти изображения, а затем загрузить их в хранилище Google здесь.

178
00:12:29,855 --> 00:12:34,680
Эти изображения доступны в

179
00:12:34,680 --> 00:12:39,615
файле images.zip, который я предоставил вам в предыдущем упражнении,

180
00:12:39,615 --> 00:12:41,163
в предыдущем уроке.

181
00:12:41,163 --> 00:12:43,395
Поэтому просто загрузите файл images.zip,

182
00:12:43,395 --> 00:12:44,910
или если вы уже загрузили,

183
00:12:44,910 --> 00:12:48,720
у вас должны быть эти изображения с собой, чтобы вы могли загрузить их в файл.

184
00:12:48,720 --> 00:12:50,303
Когда вы загружаете эти изображения,

185
00:12:50,303 --> 00:12:56,215
вы можете нажать на любое из этих изображений, а также заметить, что внизу,

186
00:12:56,215 --> 00:12:59,135
он дает вам это местоположение файла.

187
00:12:59,135 --> 00:13:05,755
Вам нужно скопировать этот URL для этого местоположения файла, потому что, когда мы настраиваем нашу базу данных,

188
00:13:05,755 --> 00:13:10,785
в поле изображений наших данных JSON,

189
00:13:10,785 --> 00:13:17,525
мы собираемся настроить каждый из них с этим URL-адресом для соответствующего изображения.

190
00:13:17,525 --> 00:13:21,315
Далее мы перейдем к этой базе данных.

191
00:13:21,315 --> 00:13:25,975
В базе данных у вас есть два варианта.

192
00:13:25,975 --> 00:13:28,970
Вы можете перейти с старой базой данных в реальном времени,

193
00:13:28,970 --> 00:13:31,375
которая поддерживается Google,

194
00:13:31,375 --> 00:13:37,065
и действительно большинство современных приложений, которые используют Firebase, будут использовать базу данных в реальном времени.

195
00:13:37,065 --> 00:13:38,820
Но затем, в этом курсе,

196
00:13:38,820 --> 00:13:43,420
мы рассмотрим новую бета-версию Firestore.

197
00:13:43,420 --> 00:13:50,450
Бета-версия Firestore предоставляет гораздо более полную базу данных в реальном времени.

198
00:13:50,450 --> 00:13:55,110
Таким образом, это база данных следующего поколения в реальном времени и

199
00:13:55,110 --> 00:13:59,310
предоставляет гораздо более продвинутые способы выполнения запросов и

200
00:13:59,310 --> 00:14:04,320
автоматического масштабирования их хранилища для нас.

201
00:14:04,320 --> 00:14:07,260
Так что мы пойдем с бета-версией Firestore.

202
00:14:07,260 --> 00:14:09,870
Теперь одна из причин для меня снова начать с

203
00:14:09,870 --> 00:14:14,340
бета-версии Firestore просто потому, что она

204
00:14:14,340 --> 00:14:23,250
позволяет нам хранить информацию в виде документов и коллекций.

205
00:14:23,250 --> 00:14:25,770
Теперь, из нашего опыта работы с MongoDB,

206
00:14:25,770 --> 00:14:28,988
мы уже знаем, как работают документы

207
00:14:28,988 --> 00:14:33,630
и коллекции, поэтому бета-версия Firestore является гораздо лучшим выбором для нас,

208
00:14:33,630 --> 00:14:37,275
так как мы уже знаем, как это настраивается.

209
00:14:37,275 --> 00:14:39,900
Если вы хотите использовать стандартную базу данных реального времени по умолчанию,

210
00:14:39,900 --> 00:14:41,280
вы можете сделать это.

211
00:14:41,280 --> 00:14:44,040
Но база данных в реальном времени хранит все ваши данные в

212
00:14:44,040 --> 00:14:51,272
одном большом дереве и имеет ограниченный объем запросов.

213
00:14:51,272 --> 00:14:56,315
Поэтому для правил безопасности для моего Firestore

214
00:14:56,315 --> 00:14:59,970
я пойду с тестовым режимом,

215
00:14:59,970 --> 00:15:05,955
где я просто оставлю его открытым для людей, чтобы читать и писать в данный момент.

216
00:15:05,955 --> 00:15:11,790
И это нормально, потому что мы просто тестируем базу данных, но обычно

217
00:15:11,790 --> 00:15:20,245
я бы предложил использовать более настроенный способ работы с вашей базой данных здесь.

218
00:15:20,245 --> 00:15:23,171
Итак, мы начнем с тестового режима, с которого начнем.

219
00:15:23,171 --> 00:15:27,165
И поэтому мы установим правила безопасности, как это, для начала.

220
00:15:27,165 --> 00:15:31,280
Вы можете перейти с более сложной настройкой инструмента безопасности.

221
00:15:31,280 --> 00:15:34,710
Так что, как вы видели с хранилищем,

222
00:15:34,710 --> 00:15:37,255
мы создали так, что чтение разрешено

223
00:15:37,255 --> 00:15:40,620
кем угодно, но записи разрешены только авторизованными пользователями.

224
00:15:40,620 --> 00:15:44,790
Мы также можем настроить подобный функционал здесь.

225
00:15:44,790 --> 00:15:47,355
Итак, это сервер confusionserver.

226
00:15:47,355 --> 00:15:49,590
Итак, в правилах,

227
00:15:49,590 --> 00:15:56,160
позвольте мне перейти в это хранилище, а затем просто скопировать правило из хранилища здесь,

228
00:15:56,160 --> 00:16:01,020
и мы установим такое же ограничение здесь.

229
00:16:01,020 --> 00:16:04,725
Таким образом, мы позволим любому читать, но только

230
00:16:04,725 --> 00:16:11,420
авторизованным пользователям записывать в базу данных.

231
00:16:11,420 --> 00:16:15,075
Таким образом, возвращаясь к базе данных, в правилах,

232
00:16:15,075 --> 00:16:25,688
мы можем сказать разрешить чтение: а затем вторая строка я собираюсь заменить это,

233
00:16:25,688 --> 00:16:29,620
сказав, что разрешить запись, если request.auth не равен нулю.

234
00:16:29,620 --> 00:16:32,535
Таким образом, только люди, которые вошли в систему,

235
00:16:32,535 --> 00:16:36,540
они смогут вносить изменения в данные, чтобы мы,

236
00:16:36,540 --> 00:16:41,441
по крайней мере, имели некоторую защиту моих данных.

237
00:16:41,441 --> 00:16:48,900
Теперь, здесь, мы теперь можем графически добавить данные в наше приложение.

238
00:16:48,900 --> 00:16:54,791
И это, я нахожу самый быстрый способ добавления данных.

239
00:16:54,791 --> 00:16:57,270
Если вы настроили сайт клиента,

240
00:16:57,270 --> 00:17:00,380
вы также можете публиковать данные с сайта клиента, но,

241
00:17:00,380 --> 00:17:04,780
прямо сейчас, мы начнем с добавления в три коллекции здесь.

242
00:17:04,780 --> 00:17:10,535
Итак, первая коллекция, которую я добавлю, это блюда.

243
00:17:10,535 --> 00:17:14,800
И мы можем добавлять документы в посуду,

244
00:17:14,800 --> 00:17:17,400
чтобы добавить наш первый документ.

245
00:17:17,400 --> 00:17:19,405
Поэтому, чтобы добавить документ в блюда,

246
00:17:19,405 --> 00:17:23,005
помните, что я дал вам файл db.json там.

247
00:17:23,005 --> 00:17:27,085
Таким образом, вы можете пойти с файлом DB.json, а затем добавить,

248
00:17:27,085 --> 00:17:31,665
шаг за шагом, каждое из блюд, которые у нас есть.

249
00:17:31,665 --> 00:17:36,350
Итак, здесь, я собираюсь настроить первое блюдо здесь.

250
00:17:36,350 --> 00:17:44,895
Таким образом, для блюда, мы можем позволить Firebase автоматически назначить идентификатор для нашего документа.

251
00:17:44,895 --> 00:17:48,010
Поэтому я позволю этому автоматически назначить.

252
00:17:48,010 --> 00:17:52,660
Итак, мы добавим первое блюдо здесь.

253
00:17:52,660 --> 00:18:01,200
Название поля и первое блюдо здесь.

254
00:18:01,200 --> 00:18:03,633
Поэтому мы должны кропотливо добавить,

255
00:18:03,633 --> 00:18:07,099
понемногу, каждое из блюд здесь.

256
00:18:07,099 --> 00:18:09,205
Так что мы скажем имя,

257
00:18:09,205 --> 00:18:16,327
а затем мы скажем категорию, которая является основной.

258
00:18:16,327 --> 00:18:21,935
И тогда мы добавим изображение,

259
00:18:21,935 --> 00:18:26,450
которое я собираюсь вернуться и добавить немного позже, потому что мне нужно скопировать

260
00:18:26,450 --> 00:18:32,250
URL-адрес изображения из моего хранилища и использовать его здесь.

261
00:18:32,250 --> 00:18:48,138
Тогда мы будем помечены как Hot, цена.

262
00:18:48,138 --> 00:18:51,505
Таким образом, у нас есть

263
00:18:51,505 --> 00:18:55,240
категория, имя, категория, изображение, этикетка, цена

264
00:18:55,240 --> 00:19:02,310
, описание, которые я собираюсь скопировать и вставить из моего файла DB.json.

265
00:19:02,310 --> 00:19:07,325
И, наконец, флаг,

266
00:19:07,325 --> 00:19:13,587
который я установлю как логическое и установлю это в true в этом случае.

267
00:19:13,587 --> 00:19:20,135
Таким образом, это будет наш первый документ, который мы добавим в нашу базу данных здесь.

268
00:19:20,135 --> 00:19:22,705
Таким образом, вы сразу заметили, что

269
00:19:22,705 --> 00:19:26,570
в нашей базе данных добавляется первый документ.

270
00:19:26,570 --> 00:19:29,815
Таким образом, мы увидим блюда и первый документ,

271
00:19:29,815 --> 00:19:35,900
и вы можете увидеть информацию об этом документе, настроенном здесь.

272
00:19:35,900 --> 00:19:38,695
Таким образом, у нас есть категория, описание

273
00:19:38,695 --> 00:19:44,355
, признакам, изображение, этикетка, имя и цена.

274
00:19:44,355 --> 00:19:49,360
Мы также добавим еще одно поле здесь под названием CreateDat,

275
00:19:49,360 --> 00:19:54,175
и это будет метка времени.

276
00:19:54,175 --> 00:20:00,870
И метка времени будет сегодняшней временной меткой, а затем я оставляю там значение времени как таковое.

277
00:20:00,870 --> 00:20:04,772
Таким образом, мы можем добавить метки времени также к этому, и, также,

278
00:20:04,772 --> 00:20:14,855
мы добавим еще одну метку времени как UpdateDat и с меткой времени здесь.

279
00:20:14,855 --> 00:20:17,145
Итак, у нас есть еще две временные метки.

280
00:20:17,145 --> 00:20:18,730
Теперь, для изображения,

281
00:20:18,730 --> 00:20:21,375
мы отправимся в хранилище здесь.

282
00:20:21,375 --> 00:20:25,230
И из нашего хранилища, в изображениях,

283
00:20:25,230 --> 00:20:31,070
мы выберем файл изображения здесь,

284
00:20:31,070 --> 00:20:36,790
а затем перейдите в местоположение файла, а затем скопируем этот URL-адрес здесь.

285
00:20:36,790 --> 00:20:38,795
Поэтому, если мы просто нажмем на это,

286
00:20:38,795 --> 00:20:40,880
этот URL-адрес будет скопирован.

287
00:20:40,880 --> 00:20:42,050
Поэтому мы вернемся к

288
00:20:42,050 --> 00:20:49,715
этой базе данных, а затем

289
00:20:49,715 --> 00:20:53,975
отредактируем поле изображения, а затем добавим туда этот URL-адрес.

290
00:20:53,975 --> 00:20:58,085
Например, вы можете идти вперед и добавить оставшиеся блюда,

291
00:20:58,085 --> 00:21:02,120
акции, а также лидеров.

292
00:21:02,120 --> 00:21:04,280
Поэтому, как только вы завершите все шаги,

293
00:21:04,280 --> 00:21:08,700
которые займет довольно много времени для вас, чтобы сделать шаг за шагом.

294
00:21:08,700 --> 00:21:13,620
Поэтому я позволил вам закончить добавление всей этой информации в ваш Firebase.

295
00:21:13,620 --> 00:21:18,045
Таким образом, после того, как вы завершите ввод всех данных в

296
00:21:18,045 --> 00:21:21,675
вашу базу данных, ваши блюда должны иметь четыре блюда здесь.

297
00:21:21,675 --> 00:21:26,660
Опять же, убедитесь, что вы инициализировали

298
00:21:26,660 --> 00:21:33,166
поле изображения с URL-адресом из этого хранилища для этого конкретного изображения.

299
00:21:33,166 --> 00:21:40,565
Так что у вас будет одна, две, три и четыре блюда.

300
00:21:40,565 --> 00:21:43,805
Тогда у вас будет четыре лидера соответственно.

301
00:21:43,805 --> 00:21:50,860
Раз, два, три и четыре и одно повышение здесь.

302
00:21:50,860 --> 00:21:54,590
Опять же, убедитесь, что вы инициализировали изображения для каждого из

303
00:21:54,590 --> 00:21:58,940
них соответствующим образом из хранилища Firebase.

304
00:21:58,940 --> 00:22:02,375
При этом наш сервер полностью настроен.

305
00:22:02,375 --> 00:22:10,100
Таким образом, наш сервер Firebase имеет все данные, необходимые для выполнения наших планов.

306
00:22:10,100 --> 00:22:13,595
Теперь мы перейдем к следующему упражнению,

307
00:22:13,595 --> 00:22:18,725
где мы настроим наш угловой клиент, чтобы иметь возможность получить доступ к

308
00:22:18,725 --> 00:22:22,370
этому бэкенду Firebase как к службе, а затем получить

309
00:22:22,370 --> 00:22:26,469
данные, а затем также отправить данные на свой сервер Firebase.

310
00:22:26,469 --> 00:22:29,440
С этим мы завершаем это упражнение.

311
00:22:29,440 --> 00:22:33,110
В этом упражнении мы видели, как легко для нас

312
00:22:33,110 --> 00:22:37,100
настроить наш сервер Firebase как сервис для аутентификации,

313
00:22:37,100 --> 00:22:43,520
для хранения файлов и их обслуживания, а также хранения информации в

314
00:22:43,520 --> 00:22:51,410
базе данных Cloud Firestore в виде коллекций и документов внутри коллекций.

315
00:22:51,410 --> 00:22:55,180
С этим мы завершаем это упражнение.