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
دعونا نفهم قليلا عن فيريباس،

5
00:00:16,190 --> 00:00:19,375
تكوين خادم فيريباس،

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 لفهم قليلا عن فيريباس.

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
لذلك دعونا تشغيل من خلال هذا الموقع لفهم كيفية عمل فيريباس.

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
وحدة العقدة ذات الصلة فيريباس التي يمكننا دمجها جنبا

39
00:02:41,170 --> 00:02:46,270
إلى جنب مع وحدة العقدة angularfire2 في التطبيق الزاوي لدينا حتى

40
00:02:46,270 --> 00:02:51,910
نتمكن من التواصل مع لدينا فيريباس الخلفية كخدمة.

41
00:02:51,910 --> 00:02:58,390
أيضًا، بالنظر

42
00:02:58,390 --> 00:03:04,525
إلى مزيد من التفاصيل، نرى كيف توفر

43
00:03:04,525 --> 00:03:11,200
اندفاعة Firebase نفسها ميزات مختلفة مثل السماح لك بطرح ميزات مستخدم مختلفة

44
00:03:11,200 --> 00:03:17,590
لتطبيقك المختلفة ومدى سهولة دمج الواجهة الخلفية الخاصة بك مع نظام iOS

45
00:03:17,590 --> 00:03:20,110
أو Android أو تطبيق الويب . على

46
00:03:20,110 --> 00:03:26,305
وجه الخصوص، سوف ننظر في تطبيق الويب واستخدام جافا سكريبت

47
00:03:26,305 --> 00:03:29,290
وأيضا استخدام كيفية

48
00:03:29,290 --> 00:03:33,610
دمج هذا في التطبيق الزاوي لدينا قليلا في وقت لاحق.

49
00:03:33,610 --> 00:03:39,900
وأيضا، يوفر فيريباس قاعدة بيانات في الوقت الحقيقي،

50
00:03:39,900 --> 00:03:42,850
كل من قاعدة البيانات الأصلية في الوقت الحقيقي،

51
00:03:42,850 --> 00:03:45,040
فضلا عن سحابة فايرستون الجديدة،

52
00:03:45,040 --> 00:03:50,905
تسمح لك لمزامنة البيانات تلقائيا بين مختلف أجهزة المستخدم.

53
00:03:50,905 --> 00:03:52,900
لذلك

54
00:03:52,900 --> 00:03:59,625
سوف تنعكس أي تغييرات يتم إجراؤها على جانب الخادم تلقائيًا على جميع العملاء،

55
00:03:59,625 --> 00:04:06,996
وبالطبع، يمكنك قراءة المزيد من التفاصيل حول Firebase على موقع الويب هذا.

56
00:04:06,996 --> 00:04:13,885
ومن السهل جدا أن تبدأ لأن العرض الأساسي مجاني للمستخدمين.

57
00:04:13,885 --> 00:04:17,854
لذلك دعونا نبدأ باستخدام فيريباس.

58
00:04:17,854 --> 00:04:25,085
سنقوم بإعداد حساب Firebase الخاص بنا ثم الوصول إلى الواجهة الخلفية الخاصة بنا وإعدادها كخادم،

59
00:04:25,085 --> 00:04:29,025
والتي سنقوم بعد ذلك بالاستفادة من تطبيقنا الزاوي.

60
00:04:29,025 --> 00:04:31,995
لذلك هذا هو جولة سريعة من فيريباس،

61
00:04:31,995 --> 00:04:34,880
ولكن بدلا من مجرد النظر في هذه،

62
00:04:34,880 --> 00:04:38,665
دعونا نذهب في الواقع الحصول على أيدينا القذرة،

63
00:04:38,665 --> 00:04:41,970
وتكوين قاعدة فيريباس

64
00:04:41,970 --> 00:04:45,900
مرة أخرى في الخدمة ومن ثم استخدامه على التطبيق الزاوي لدينا.

65
00:04:45,900 --> 00:04:47,593
لذلك للبدء،

66
00:04:47,593 --> 00:04:49,910
كما سترى إلى الحافة اليمنى هنا،

67
00:04:49,910 --> 00:04:51,510
تقول الذهاب إلى وحدة التحكم.

68
00:04:51,510 --> 00:04:56,705
من الواضح أنه يجب أن يكون لديك حساب Google حتى تتمكن من استخدام Firebase.

69
00:04:56,705 --> 00:04:58,264
وغني عن القول،

70
00:04:58,264 --> 00:05:00,380
ويجب تسجيل الدخول إلى حسابك في Google.

71
00:05:00,380 --> 00:05:01,640
لذلك، كما ترون،

72
00:05:01,640 --> 00:05:03,225
أنا بالفعل في حسابي في Google.

73
00:05:03,225 --> 00:05:05,080
لذلك سوف يعطيني الوصول إلى وحدة التحكم الخاصة بي.

74
00:05:05,080 --> 00:05:06,857
إذا لم تقم بتسجيل الدخول،

75
00:05:06,857 --> 00:05:09,871
فمن الأفضل لك تسجيل الدخول إلى حسابك في Google.

76
00:05:09,871 --> 00:05:12,150
لذلك عندما تذهب إلى وحدة التحكم،

77
00:05:12,150 --> 00:05:18,620
وهذا سوف يأخذك إلى وحدة تحكم خدمات فيريباس هنا،

78
00:05:18,620 --> 00:05:22,335
حيث يمكنك إعداد المشاريع.

79
00:05:22,335 --> 00:05:23,825
لذلك عندما تذهب إلى وحدة التحكم،

80
00:05:23,825 --> 00:05:26,460
كما ترون، فإنه يقول إضافة مشروع.

81
00:05:26,460 --> 00:05:27,605
وكما ترون،

82
00:05:27,605 --> 00:05:30,675
لقد حاولت بالفعل يدي في إعداد

83
00:05:30,675 --> 00:05:35,750
مشروع Firebase آخر قبل أن أشرحه لك.

84
00:05:35,750 --> 00:05:38,190
لذلك دعونا إعداد مشروع هنا.

85
00:05:38,190 --> 00:05:41,065
لذلك سنضغط على مشروع الإضافة

86
00:05:41,065 --> 00:05:46,865
، والتي يجب أن تظهر نافذة صغيرة لطيفة،

87
00:05:46,865 --> 00:05:48,765
حيث يمكنك كتابة المعلومات.

88
00:05:48,765 --> 00:05:53,750
لذلك سوف نسمي هذا المشروع على أنه ConfusionServer،

89
00:05:53,750 --> 00:06:00,793
كما تتوقع وتكوينه إلى أي مكان كنت في الوقت الحالي.

90
00:06:00,793 --> 00:06:06,615
لذلك أنا ذاهب إلى تكوينه لاستخدام

91
00:06:06,615 --> 00:06:15,194
هونغ كونغ وإنشاء مشروع.

92
00:06:15,194 --> 00:06:17,850
وبمجرد إنشاء مشروعك،

93
00:06:17,850 --> 00:06:21,575
هذا هو ما سيتم تقديمه من قبل Firebase.

94
00:06:21,575 --> 00:06:28,980
وهنا، سترى أن أول شيء تريد الاستيلاء عليه

95
00:06:28,980 --> 00:06:32,430
هو معلومات حول تكوين Firebase الخاص بك

96
00:06:32,430 --> 00:06:36,670
بحيث يمكنك استخدامه داخل التطبيق الزاوي الخاص بك.

97
00:06:36,670 --> 00:06:37,950
لذلك للقيام بذلك،

98
00:06:37,950 --> 00:06:40,985
انقر على هذا الزر هنا.

99
00:06:40,985 --> 00:06:44,085
لذلك يقول، إضافة فيريباس إلى تطبيق الويب الخاص بك.

100
00:06:44,085 --> 00:06:47,730
وهذا سيوفر لك مجموعة من المعلومات التي

101
00:06:47,730 --> 00:06:51,750
يجب عليك نسخها وحفظها لأنني

102
00:06:51,750 --> 00:06:54,585
سأستخدم هذه المعلومات لتكوين

103
00:06:54,585 --> 00:07:00,045
تطبيقي الزاوي قليلاً في التمرين التالي.

104
00:07:00,045 --> 00:07:04,440
لذلك احفظ هذه المعلومات في موقع مناسب بحيث

105
00:07:04,440 --> 00:07:10,350
يمكنك الاستفادة من هذه المعلومات عند إعداد موقع العميل الخاص بك.

106
00:07:10,350 --> 00:07:14,310
الخطوة التالية، سأقوم بإعداد اثنين من الحسابات هنا.

107
00:07:14,310 --> 00:07:17,235
لذلك اسمحوا لي أن انقر على المصادقة هنا.

108
00:07:17,235 --> 00:07:20,655
وعندما يتم عرض المصادقة،

109
00:07:20,655 --> 00:07:27,060
سنقوم بإعداد طرق تسجيل الدخول التي سنستخدمها لخادم Firebase الخاص بنا،

110
00:07:27,060 --> 00:07:29,865
وفي

111
00:07:29,865 --> 00:07:38,520
حالتي، سأستخدم كلمة مرور البريد الإلكتروني كأحد الخيارات.

112
00:07:38,520 --> 00:07:41,080
لذلك سنقوم بتمكين كلمة مرور البريد الإلكتروني.

113
00:07:41,080 --> 00:07:45,095
سأقوم أيضًا بتمكين تسجيل الدخول إلى Google.

114
00:07:45,095 --> 00:07:46,560
لذلك يتم تمكين هذين.

115
00:07:46,560 --> 00:07:55,000
إذا كنت تريد ذلك، يمكنك تمكين طرق أخرى لمصادقة المستخدمين.

116
00:07:55,000 --> 00:07:57,705
بعد ذلك، انتقل إلى المستخدمين، الآن،

117
00:07:57,705 --> 00:08:02,895
إذا قمت بتسجيل الدخول إلى هذا التطبيق باستخدام حساب Google الخاص بك،

118
00:08:02,895 --> 00:08:07,812
فسيتم إضافة هذا المستخدم تلقائيًا إلى نظامك.

119
00:08:07,812 --> 00:08:13,610
ولكن الآن، سأقوم بإعداد مستخدم واحد بالبريد الإلكتروني وكلمة المرور.

120
00:08:13,610 --> 00:08:21,195
لذلك سأقوم بإعداد admin@confusion.net،

121
00:08:21,195 --> 00:08:31,105
وسأقوم بإعداد كلمة مرور هنا وأضفها في المستخدم.

122
00:08:31,105 --> 00:08:34,385
لذلك سيكون هذا مستخدمًا واحدًا،

123
00:08:34,385 --> 00:08:38,630
يمكنه تسجيل الدخول باستخدام تركيبة كلمة مرور البريد الإلكتروني.

124
00:08:38,630 --> 00:08:45,285
يمكننا أيضًا التسجيل للوصول إلى هذا باستخدام حساب Google الخاص بنا.

125
00:08:45,285 --> 00:08:47,690
لذا،

126
00:08:47,690 --> 00:08:51,770
سأقوم بإعداد تطبيقي الزاوي لاستخدام كل من طريقة كلمة مرور البريد الإلكتروني لتسجيل الدخول

127
00:08:51,770 --> 00:08:56,215
وكذلك عن طريق تسجيل الدخول المستند إلى حساب Google.

128
00:08:56,215 --> 00:09:00,700
بعد ذلك، سنذهب إلى التخزين.

129
00:09:00,700 --> 00:09:03,620
لذلك سنقوم بإعداد التخزين المقبل.

130
00:09:03,620 --> 00:09:09,650
وبالتالي فإن التخزين هو المكان الذي يمكنك فيه إعداد طريقة

131
00:09:09,650 --> 00:09:18,035
لتحميل الملفات إلى الخادم الخاص بك ومن ثم جعلها متاحة للاستخدام.

132
00:09:18,035 --> 00:09:22,084
لذلك هذا التخزين، وأنا ذاهب لإعداد التخزين بلدي لتخزين

133
00:09:22,084 --> 00:09:28,073
الصور التي سوف نستخدمها وحفظ ما يصل من موقع الخادم لدينا.

134
00:09:28,073 --> 00:09:30,025
لذلك عند إعداد التخزين،

135
00:09:30,025 --> 00:09:33,590
وسوف يأتي مع مجموعة من قواعد الأمان،

136
00:09:33,590 --> 00:09:38,880
والتي تحدد أي نوع من العمليات سوف يسمح بها المستخدم.

137
00:09:38,880 --> 00:09:40,400
لذلك يقول السماح للقراءة

138
00:09:40,400 --> 00:09:44,355
والكتابة: إذا request.auth لا يساوي فارغة،

139
00:09:44,355 --> 00:09:47,650
مما يعني أن المستخدمين فقط الذين قاموا بتسجيل

140
00:09:47,650 --> 00:09:52,377
الدخول إلى هذا الخادم سيكونون قادرين على القراءة والكتابة.

141
00:09:52,377 --> 00:09:59,270
الآن، سأقوم بتغيير هذا للسماح بالقراءة لأي شخص،

142
00:09:59,270 --> 00:10:06,035
ولكن لن يسمح بالكتابة إلا من قبل المستخدمين المصادق عليهم.

143
00:10:06,035 --> 00:10:07,675
لذا سنقول، حصلت عليه،

144
00:10:07,675 --> 00:10:12,348
وبعد ذلك سأبدأ.

145
00:10:12,348 --> 00:10:13,845
لذلك، في القواعد،

146
00:10:13,845 --> 00:10:18,705
وسوف أذهب إلى القواعد هنا ومن ثم تعديل القواعد

147
00:10:18,705 --> 00:10:24,845
للسماح للمستخدمين لتكون قادرة على القراءة من الخادم.

148
00:10:24,845 --> 00:10:29,590
الآن، يمكننا إعداده على مستوى مجلد معين،

149
00:10:29,590 --> 00:10:31,620
ولكن بما أن هذا تطبيق بسيط،

150
00:10:31,620 --> 00:10:36,590
سأقوم بإعداده على مستوى التخزين بأكمله.

151
00:10:36,590 --> 00:10:39,325
لذا، هنا، سأقول، السماح بالقراءة،

152
00:10:39,325 --> 00:10:43,403
ثم سأقوم بتعديل هذه القاعدة لتقول السماح بالقراءة،

153
00:10:43,403 --> 00:10:48,670
وسأقول، السماح بالكتابة إذا طلب.

154
00:10:48,670 --> 00:10:50,700
لذلك، كما ترون،

155
00:10:50,700 --> 00:10:53,995
سيتم السماح للمستخدمين القراءة من التخزين.

156
00:10:53,995 --> 00:10:57,165
سيتم السماح لأي مستخدم للقراءة، حتى بدون مصادقة،

157
00:10:57,165 --> 00:11:02,750
ولكن الكتابة تقتصر فقط على المستخدمين الذين يسجلون الدخول إلى النظام.

158
00:11:02,750 --> 00:11:06,750
لذلك هذا هو تعديل بسيط لقواعد الوصول،

159
00:11:06,750 --> 00:11:08,180
من قواعد الأمان.

160
00:11:08,180 --> 00:11:10,410
يمكنك أن تكون أكثر تفصيلاً

161
00:11:10,410 --> 00:11:11,830
في هذا، ولكن في المثال البسيط،

162
00:11:11,830 --> 00:11:13,170
سأبقى مع هذا.

163
00:11:13,170 --> 00:11:18,451
ومن ثم سننشر هذه القواعد إلى خادمنا.

164
00:11:18,451 --> 00:11:23,600
ثم العودة إلى الملفات، في الملفات،

165
00:11:23,600 --> 00:11:30,895
سأقوم بإنشاء مجلد جديد هنا باسم الصور.

166
00:11:30,895 --> 00:11:33,760
الآن، كما ترون،

167
00:11:33,760 --> 00:11:37,450
يمكن إعداد القواعد لمجلد الصور المحدد هذا،

168
00:11:37,450 --> 00:11:42,430
لذلك سيسمح للمستخدمين بالقراءة فقط من مجلد الصور هذه ثم فقط

169
00:11:42,430 --> 00:11:47,830
للمستخدمين المصرح لهم بتحميلها إلى مجلد الصور هذا إذا اخترت ذلك.

170
00:11:47,830 --> 00:11:50,150
ولكن، الآن، أنا ذاهب إلى ترك الأمر على هذا

171
00:11:50,150 --> 00:11:53,780
النحو، ومجموعة عامة من القاعدة التي قمت بتكوينها هناك.

172
00:11:53,780 --> 00:11:56,705
الآن، والذهاب إلى مجلد الصور.

173
00:11:56,705 --> 00:12:03,005
سأقوم بتحميل مجموعة من الصور إلى هذا المجلد هنا.

174
00:12:03,005 --> 00:12:10,445
لذلك اسمحوا لي أن الاستيلاء على مجموعة من الصور التي لدي لطلبي.

175
00:12:10,445 --> 00:12:19,915
وهكذا، في وقت سابق، كنت قد استخدمت هذه الصور في تطبيقاتي الأخرى.

176
00:12:19,915 --> 00:12:29,855
أنا ذاهب لتحديد كل هذه الصور ومن ثم تحميلها إلى مخزن جوجل هنا.

177
00:12:29,855 --> 00:12:34,680
تتوفر هذه الصور في

178
00:12:34,680 --> 00:12:39,615
ملف images.zip الخاص بك الذي قدمته لك في التمرين السابق،

179
00:12:39,615 --> 00:12:41,163
في الدرس السابق.

180
00:12:41,163 --> 00:12:43,395
حتى مجرد تحميل ملف images.zip،

181
00:12:43,395 --> 00:12:44,910
أو إذا كنت قد تحميلها بالفعل،

182
00:12:44,910 --> 00:12:48,720
يجب أن يكون لديك هذه الصور معك حتى تتمكن من تحميلها إلى الملف.

183
00:12:48,720 --> 00:12:50,303
عند تحميل هذه الصور،

184
00:12:50,303 --> 00:12:56,215
يمكنك النقر على أي واحدة من تلك الصور وأيضا لاحظ أن أسفل هنا،

185
00:12:56,215 --> 00:12:59,135
فإنه يمنحك هذا الموقع الملف.

186
00:12:59,135 --> 00:13:05,755
تحتاج إلى نسخ عنوان URL هذا لموقع الملف هذا لأنه عندما نقوم بتكوين قاعدة البيانات الخاصة بنا،

187
00:13:05,755 --> 00:13:10,785
في حقل الصور لبيانات JSON الخاصة بنا،

188
00:13:10,785 --> 00:13:17,525
سنقوم بتكوين كل واحد منهم باستخدام عنوان URL هذا للصورة المقابلة.

189
00:13:17,525 --> 00:13:21,315
بعد ذلك، سننتقل إلى قاعدة البيانات تلك.

190
00:13:21,315 --> 00:13:25,975
في قاعدة البيانات، يتم منحك خيارين.

191
00:13:25,975 --> 00:13:28,970
يمكنك الذهاب مع قاعدة البيانات القديمة في الوقت الحقيقي،

192
00:13:28,970 --> 00:13:31,375
والتي تدعمها جوجل،

193
00:13:31,375 --> 00:13:37,065
وبالفعل معظم التطبيقات الحالية التي تستخدم فيريباس سوف تستخدم قاعدة البيانات في الوقت الحقيقي.

194
00:13:37,065 --> 00:13:38,820
ولكن بعد ذلك، في هذه الدورة،

195
00:13:38,820 --> 00:13:43,420
سوف نستكشف أحدث بيتا فيريستور.

196
00:13:43,420 --> 00:13:50,450
توفر بيتا فيريستور قاعدة بيانات في الوقت الحقيقي أكثر شمولا.

197
00:13:50,450 --> 00:13:55,110
لذلك هذا هو الجيل القادم قاعدة البيانات في الوقت الحقيقي ويوفر

198
00:13:55,110 --> 00:13:59,310
الكثير من الطرق المتقدمة للقيام الاستعلام

199
00:13:59,310 --> 00:14:04,320
وتحجيم التخزين تلقائيا بالنسبة لنا.

200
00:14:04,320 --> 00:14:07,260
لذلك سنذهب مع بيتا فايرستور.

201
00:14:07,260 --> 00:14:09,870
الآن، أحد الأسباب مرة أخرى بالنسبة لي للبدء مع

202
00:14:09,870 --> 00:14:14,340
بيتا فيريستور هو ببساطة لأنه

203
00:14:14,340 --> 00:14:23,250
يسمح لنا لتخزين المعلومات في شكل وثائق ومجموعات.

204
00:14:23,250 --> 00:14:25,770
الآن، من تجربتنا مع MongoDB،

205
00:14:25,770 --> 00:14:28,988
نعرف بالفعل كيف تعمل المستندات

206
00:14:28,988 --> 00:14:33,630
والمجموعات، ولهذا السبب فإن الإصدار التجريبي من Firestore هو خيار أفضل بكثير بالنسبة لنا،

207
00:14:33,630 --> 00:14:37,275
لأننا نعرف بالفعل كيف يتم تكوين ذلك.

208
00:14:37,275 --> 00:14:39,900
إذا كنت تريد الإعداد الافتراضي لقاعدة البيانات القياسية في الوقت الحقيقي،

209
00:14:39,900 --> 00:14:41,280
يمكنك اختيار القيام بذلك.

210
00:14:41,280 --> 00:14:44,040
ولكن قاعدة البيانات في الوقت الحقيقي تخزن جميع البيانات الخاصة بك في

211
00:14:44,040 --> 00:14:51,272
شجرة واحدة كبيرة ولها كمية محدودة من القدرة على الاستعلام.

212
00:14:51,272 --> 00:14:56,315
لذلك بالنسبة لقواعد الأمان الخاصة بي Firestore،

213
00:14:56,315 --> 00:14:59,970
سأذهب مع وضع الاختبار،

214
00:14:59,970 --> 00:15:05,955
حيث سأتركه مفتوحًا للأشخاص للقراءة والكتابة في الوقت الحالي.

215
00:15:05,955 --> 00:15:11,790
وهذا أمر جيد لأننا فقط اختبار قاعدة البيانات، ولكن عادة،

216
00:15:11,790 --> 00:15:20,245
أود أن أقترح للذهاب مع طريقة أكثر تكوين للعمل مع قاعدة البيانات الخاصة بك هنا.

217
00:15:20,245 --> 00:15:23,171
لذلك سنبدأ بوضع اختبار للبدء به.

218
00:15:23,171 --> 00:15:27,165
وهكذا سنقوم بإعداد قواعد الأمن مثل هذه للبدء.

219
00:15:27,165 --> 00:15:31,280
يمكنك الذهاب مع إعداد أداة أمنية أكثر تفصيلاً.

220
00:15:31,280 --> 00:15:34,710
لذلك كما رأيت مع التخزين،

221
00:15:34,710 --> 00:15:37,255
قمنا بإعداد مثل هذه القراءة مسموح بها من قبل

222
00:15:37,255 --> 00:15:40,620
أي شخص ولكن لا يسمح بالكتابة إلا من قبل المستخدمين المصرح لهم.

223
00:15:40,620 --> 00:15:44,790
يمكننا إعداد وظيفة مماثلة هنا أيضا.

224
00:15:44,790 --> 00:15:47,355
لذلك هذا هو confusionserver.

225
00:15:47,355 --> 00:15:49,590
وهكذا، في القواعد،

226
00:15:49,590 --> 00:15:56,160
اسمحوا لي أن أذهب إلى ذلك التخزين ومن ثم مجرد نسخ القاعدة من التخزين هنا،

227
00:15:56,160 --> 00:16:01,020
وسوف نقوم بإعداد نفس النوع من القيود هنا.

228
00:16:01,020 --> 00:16:04,725
لذلك سوف نسمح لأي شخص بقراءة ولكن فقط

229
00:16:04,725 --> 00:16:11,420
للمستخدمين المصرح لهم بالكتابة إلى قاعدة البيانات.

230
00:16:11,420 --> 00:16:15,075
حتى العودة إلى قاعدة البيانات، في القواعد،

231
00:16:15,075 --> 00:16:25,688
يمكننا أن نقول السماح للقراءة: ثم السطر الثاني أنا ذاهب لاستبدال ذلك،

232
00:16:25,688 --> 00:16:29,620
قائلا السماح الكتابة إذا request.auth لا يساوي فارغة.

233
00:16:29,620 --> 00:16:32,535
لذا فقط الأشخاص الذين

234
00:16:32,535 --> 00:16:36,540
قاموا بتسجيل الدخول، سيكونون قادرين على إجراء تعديلات على البيانات بحيث يكون لدينا،

235
00:16:36,540 --> 00:16:41,441
على الأقل، بعض الحماية على بياناتي.

236
00:16:41,441 --> 00:16:48,900
الآن، هنا، يمكننا الآن إضافة بيانيا في البيانات إلى طلبنا.

237
00:16:48,900 --> 00:16:54,791
وهذا، أجد أسرع طريقة لإضافة البيانات.

238
00:16:54,791 --> 00:16:57,270
إذا قمت بإعداد موقع العميل،

239
00:16:57,270 --> 00:17:00,380
فيمكنك نشر البيانات من موقع العميل أيضًا، ولكن

240
00:17:00,380 --> 00:17:04,780
، الآن، سنبدأ بإضافة ثلاث مجموعات هنا.

241
00:17:04,780 --> 00:17:10,535
لذا فإن المجموعة الأولى التي سأضيفها هي الأطباق.

242
00:17:10,535 --> 00:17:14,800
ويمكننا إضافة وثائق إلى الأطباق،

243
00:17:14,800 --> 00:17:17,400
حتى نتمكن من إضافة وثيقتنا الأولى.

244
00:17:17,400 --> 00:17:19,405
لذا لإضافة مستند إلى الأطباق،

245
00:17:19,405 --> 00:17:23,005
تذكر أنني أعطيتك ملف Db.json هناك.

246
00:17:23,005 --> 00:17:27,085
حتى تتمكن من الذهاب مع ملف Db.json ومن ثم إضافة،

247
00:17:27,085 --> 00:17:31,665
خطوة بخطوة، كل من الأطباق التي لدينا.

248
00:17:31,665 --> 00:17:36,350
لذلك، هنا، أنا ذاهب لتكوين الطبق الأول هنا.

249
00:17:36,350 --> 00:17:44,895
لذلك بالنسبة للطبق، يمكننا السماح لـ Firebase بتعيين المعرف تلقائيًا لمستندنا.

250
00:17:44,895 --> 00:17:48,010
لذلك سأترك ذلك تلقائيا تعيين.

251
00:17:48,010 --> 00:17:52,660
لذلك سنضيف في الطبق الأول هنا.

252
00:17:52,660 --> 00:18:01,200
اسم الحقل و الطبق الأول هنا

253
00:18:01,200 --> 00:18:03,633
لذلك علينا أن نضيف بشق الأنفس،

254
00:18:03,633 --> 00:18:07,099
شيئا فشيئا، كل من الأطباق هنا.

255
00:18:07,099 --> 00:18:09,205
لذلك سوف نقول اسم،

256
00:18:09,205 --> 00:18:16,327
وبعد ذلك سوف نقول فئة، وهو التيار الكهربائي.

257
00:18:16,327 --> 00:18:21,935
وبعد ذلك سوف نضيف في الصورة،

258
00:18:21,935 --> 00:18:26,450
والتي سأعود وأضيف في وقت لاحق قليلا لأنني بحاجة إلى نسخ

259
00:18:26,450 --> 00:18:32,250
عنوان ورل الصورة من التخزين الخاص بي واستخدامها هنا.

260
00:18:32,250 --> 00:18:48,138
ثم سيكون لدينا وصفت بأنها ساخنة, السعر.

261
00:18:48,138 --> 00:18:51,505
لذلك لدينا الفئة،

262
00:18:51,505 --> 00:18:55,240
الاسم، الفئة، الصورة، التسمية، السعر،

263
00:18:55,240 --> 00:19:02,310
الوصف، الذي سأقوم بنسخه ولصقه من ملف DB.json الخاص بي.

264
00:19:02,310 --> 00:19:07,325
وأخيرًا، فإن العلم المميز،

265
00:19:07,325 --> 00:19:13,587
الذي سأقوم بتعيينه كقيمة منطقية وتعيين ذلك إلى true في هذه الحالة.

266
00:19:13,587 --> 00:19:20,135
لذا ستكون هذه أول وثيقة لنا سنضيفها إلى قاعدة بياناتنا هنا.

267
00:19:20,135 --> 00:19:22,705
لذلك ستلاحظ على الفور أنه،

268
00:19:22,705 --> 00:19:26,570
في قاعدة بياناتنا، يتم إضافة المستند الأول.

269
00:19:26,570 --> 00:19:29,815
لذلك سنرى الأطباق والمستند الأول،

270
00:19:29,815 --> 00:19:35,900
ويمكنك رؤية المعلومات حول هذه الوثيقة التي تم تكوينها هنا.

271
00:19:35,900 --> 00:19:38,695
لذلك لدينا فئة، وصف،

272
00:19:38,695 --> 00:19:44,355
مميزة، صورة، تسمية، اسم وسعر.

273
00:19:44,355 --> 00:19:49,360
سنقوم أيضًا بإضافة حقل آخر هنا يسمى CreateDat،

274
00:19:49,360 --> 00:19:54,175
وسيكون هذا طابع زمني.

275
00:19:54,175 --> 00:20:00,870
وسيكون الطابع الزمني هو الطابع الزمني اليوم ثم أترك هناك قيمة الوقت على هذا النحو.

276
00:20:00,870 --> 00:20:04,772
حتى نتمكن من إضافة الطوابع الزمنية أيضا إلى هذا، وأيضا،

277
00:20:04,772 --> 00:20:14,855
سنقوم بإضافة طابع زمني آخر كما أوبداتيدات ومع الطابع الزمني هنا.

278
00:20:14,855 --> 00:20:17,145
لذلك لدينا طوابع زمنيتين أخريين هنا.

279
00:20:17,145 --> 00:20:18,730
الآن، بالنسبة للصورة،

280
00:20:18,730 --> 00:20:21,375
سنذهب إلى التخزين هنا.

281
00:20:21,375 --> 00:20:25,230
ومن تخزيننا، في الصور،

282
00:20:25,230 --> 00:20:31,070
سنقوم باختيار ملف الصورة هنا

283
00:20:31,070 --> 00:20:36,790
ثم الانتقال إلى موقع الملف ثم نسخ عنوان URL هذا هنا.

284
00:20:36,790 --> 00:20:38,795
لذلك إذا نضغط فقط على

285
00:20:38,795 --> 00:20:40,880
هذا، سيتم نسخ عنوان URL هذا.

286
00:20:40,880 --> 00:20:42,050
لذلك سنعود إلى

287
00:20:42,050 --> 00:20:49,715
قاعدة البيانات هذه ثم نقوم

288
00:20:49,715 --> 00:20:53,975
بتحرير حقل الصورة ثم نضيف عنوان URL هذا هناك.

289
00:20:53,975 --> 00:20:58,085
مثل ذلك، يمكنك المضي قدما وإضافة الأطباق المتبقية،

290
00:20:58,085 --> 00:21:02,120
والترقيات وأيضا القادة.

291
00:21:02,120 --> 00:21:04,280
لذلك بمجرد إكمال جميع الخطوات،

292
00:21:04,280 --> 00:21:08,700
والتي سوف تستغرق بعض الوقت بالنسبة لك للقيام خطوة بخطوة.

293
00:21:08,700 --> 00:21:13,620
لذلك سمحت لك بإنهاء إضافة كل هذه المعلومات إلى Firebase الخاص بك.

294
00:21:13,620 --> 00:21:18,045
لذلك بعد الانتهاء من إدخال جميع البيانات في قاعدة البيانات الخاصة

295
00:21:18,045 --> 00:21:21,675
بك، يجب أن يكون الأطباق الخاصة بك أربعة أطباق هنا.

296
00:21:21,675 --> 00:21:26,660
مرة أخرى، تأكد من تهيئة

297
00:21:26,660 --> 00:21:33,166
حقل الصورة باستخدام عنوان URL من ذلك التخزين لتلك الصورة المعينة.

298
00:21:33,166 --> 00:21:40,565
لذلك سيكون لديك واحد، اثنان، ثلاثة وأربعة أطباق.

299
00:21:40,565 --> 00:21:43,805
ثم سيكون لديك أربعة قادة في المقابل.

300
00:21:43,805 --> 00:21:50,860
واحد، اثنان، ثلاثة، أربعة وترقية واحدة هنا

301
00:21:50,860 --> 00:21:54,590
مرة أخرى، تأكد من تهيئة الصور لكل واحد

302
00:21:54,590 --> 00:21:58,940
منهم بشكل مناسب من تخزين Firebase.

303
00:21:58,940 --> 00:22:02,375
مع هذا، يتم تكوين الخادم لدينا تماما.

304
00:22:02,375 --> 00:22:10,100
لذلك يحتوي خادم Firebase لدينا على جميع البيانات المطلوبة لخدمة ما يصل إلى خططنا.

305
00:22:10,100 --> 00:22:13,595
سننتقل الآن إلى التمرين التالي،

306
00:22:13,595 --> 00:22:18,725
حيث سنقوم بتكوين عميلنا الزاوي ليتمكن من الوصول إلى

307
00:22:18,725 --> 00:22:22,370
هذه الواجهة الخلفية Firebase كخدمة ثم استرداد

308
00:22:22,370 --> 00:22:26,469
البيانات ثم دفع البيانات أيضًا إلى خادم Firebase الخاص بهم.

309
00:22:26,469 --> 00:22:29,440
مع هذا، نكمل هذا التمرين.

310
00:22:29,440 --> 00:22:33,110
في هذا التمرين، رأينا كم هو سهل بالنسبة لنا

311
00:22:33,110 --> 00:22:37,100
لتكوين الواجهة الخلفية Firebase كخدمة لكل من المصادقة،

312
00:22:37,100 --> 00:22:43,520
لتخزين الملفات وتقديمها وكذلك تخزين المعلومات في

313
00:22:43,520 --> 00:22:51,410
قاعدة بيانات Cloud Firestore في شكل مجموعات ومستندات داخل المجموعات.

314
00:22:51,410 --> 00:22:55,180
مع هذا، نكمل هذا التمرين.