لنذهب لصيد السمك في سوق الباس
سنبدأ مع Firebase،
العرض المميز من Google.
دعونا نفهم قليلا عن فيريباس،
تكوين خادم فيريباس،
وبعد ذلك سوف ننظر في التطبيق الزاوي،
الذي أنا ذاهب إلى التحديثية على أساس
التطبيق الزاوي السابق الذي رأيت في المحاضرة السابقة.
سنقوم بتعديله للاستفادة من Firebase كالواجهة الخلفية.
لذلك، كما نرى في نهاية هذا الدرس،
هذا التمرين والتمرين التالي،
يمكننا بسهولة أن نأخذ تطبيقًا زاويًا وتعديله للاستفادة من
Firebase كواجهة خلفية كمزود خدمة.
للبدء في الرحلة،
دعونا نذهب إلى firebase.google.com لفهم قليلا عن فيريباس.
نوع موضوع من تقديم عرض تقديمي كامل حول Firebase،
سأقوم بتشغيلها بسرعة من خلال ما تم
شرحه على موقع Firebase نفسه لأنها تعطيك
تفاصيل كافية حول كيفية دعم Firebase نفسه لمختلف الميزات.
لذلك دعونا تشغيل من خلال هذا الموقع لفهم كيفية عمل فيريباس.
لذلك إذا ذهبت إلى موقع الويب، كما ترون،
فإنه يقول أن Firebase يساعدك على بناء تطبيقات أفضل للهاتف المحمول وتنمية نشاطك التجاري.
وبعد ذلك، كما ترون هنا،
يشرح لك التفاصيل حول كيفية تمكنك من بناء تطبيقاتك
بسرعة دون الحاجة إلى إدارة البنية التحتية الخلفية لتطبيقك،
ووحدة تحكم واحدة تجمع مجموعة من المنتجات التي تعمل معًا.
لذلك هذه هي جميع المنتجات التي تقدمها Google والتي تعمل معًا لتلبية احتياجاتك الخلفية.
وهنا أيضًا، يمكنك الاستفادة
من العديد من المنتجات التكميلية المتوفرة من Google.
لذلك على وجه الخصوص، في هذا التمرين،
سنقوم بالاستفادة من Cloud Firestore،
الحكم الجديد من Google.
سننظر في مزيد من التفاصيل حول ذلك لاحقًا.
نحن ننظر في كيفية استخدام دعم المصادقة
الذي يتم توفيره من قبل Firebase لمصادقة المستخدمين.
سننظر في التخزين السحابي لتخزين ملفات الصور لدينا وتقديمها.
وبعد ذلك سوف ننظر أيضا في كيفية الاستفادة من كل هذه جنبا إلى جنب مع
وحدة العقدة ذات الصلة فيريباس التي يمكننا دمجها جنبا
إلى جنب مع وحدة العقدة angularfire2 في التطبيق الزاوي لدينا حتى
نتمكن من التواصل مع لدينا فيريباس الخلفية كخدمة.
أيضًا، بالنظر
إلى مزيد من التفاصيل، نرى كيف توفر
اندفاعة Firebase نفسها ميزات مختلفة مثل السماح لك بطرح ميزات مستخدم مختلفة
لتطبيقك المختلفة ومدى سهولة دمج الواجهة الخلفية الخاصة بك مع نظام iOS
أو Android أو تطبيق الويب . على
وجه الخصوص، سوف ننظر في تطبيق الويب واستخدام جافا سكريبت
وأيضا استخدام كيفية
دمج هذا في التطبيق الزاوي لدينا قليلا في وقت لاحق.
وأيضا، يوفر فيريباس قاعدة بيانات في الوقت الحقيقي،
كل من قاعدة البيانات الأصلية في الوقت الحقيقي،
فضلا عن سحابة فايرستون الجديدة،
تسمح لك لمزامنة البيانات تلقائيا بين مختلف أجهزة المستخدم.
لذلك
سوف تنعكس أي تغييرات يتم إجراؤها على جانب الخادم تلقائيًا على جميع العملاء،
وبالطبع، يمكنك قراءة المزيد من التفاصيل حول Firebase على موقع الويب هذا.
ومن السهل جدا أن تبدأ لأن العرض الأساسي مجاني للمستخدمين.
لذلك دعونا نبدأ باستخدام فيريباس.
سنقوم بإعداد حساب Firebase الخاص بنا ثم الوصول إلى الواجهة الخلفية الخاصة بنا وإعدادها كخادم،
والتي سنقوم بعد ذلك بالاستفادة من تطبيقنا الزاوي.
لذلك هذا هو جولة سريعة من فيريباس،
ولكن بدلا من مجرد النظر في هذه،
دعونا نذهب في الواقع الحصول على أيدينا القذرة،
وتكوين قاعدة فيريباس
مرة أخرى في الخدمة ومن ثم استخدامه على التطبيق الزاوي لدينا.
لذلك للبدء،
كما سترى إلى الحافة اليمنى هنا،
تقول الذهاب إلى وحدة التحكم.
من الواضح أنه يجب أن يكون لديك حساب Google حتى تتمكن من استخدام Firebase.
وغني عن القول،
ويجب تسجيل الدخول إلى حسابك في Google.
لذلك، كما ترون،
أنا بالفعل في حسابي في Google.
لذلك سوف يعطيني الوصول إلى وحدة التحكم الخاصة بي.
إذا لم تقم بتسجيل الدخول،
فمن الأفضل لك تسجيل الدخول إلى حسابك في Google.
لذلك عندما تذهب إلى وحدة التحكم،
وهذا سوف يأخذك إلى وحدة تحكم خدمات فيريباس هنا،
حيث يمكنك إعداد المشاريع.
لذلك عندما تذهب إلى وحدة التحكم،
كما ترون، فإنه يقول إضافة مشروع.
وكما ترون،
لقد حاولت بالفعل يدي في إعداد
مشروع Firebase آخر قبل أن أشرحه لك.
لذلك دعونا إعداد مشروع هنا.
لذلك سنضغط على مشروع الإضافة
، والتي يجب أن تظهر نافذة صغيرة لطيفة،
حيث يمكنك كتابة المعلومات.
لذلك سوف نسمي هذا المشروع على أنه ConfusionServer،
كما تتوقع وتكوينه إلى أي مكان كنت في الوقت الحالي.
لذلك أنا ذاهب إلى تكوينه لاستخدام
هونغ كونغ وإنشاء مشروع.
وبمجرد إنشاء مشروعك،
هذا هو ما سيتم تقديمه من قبل Firebase.
وهنا، سترى أن أول شيء تريد الاستيلاء عليه
هو معلومات حول تكوين Firebase الخاص بك
بحيث يمكنك استخدامه داخل التطبيق الزاوي الخاص بك.
لذلك للقيام بذلك،
انقر على هذا الزر هنا.
لذلك يقول، إضافة فيريباس إلى تطبيق الويب الخاص بك.
وهذا سيوفر لك مجموعة من المعلومات التي
يجب عليك نسخها وحفظها لأنني
سأستخدم هذه المعلومات لتكوين
تطبيقي الزاوي قليلاً في التمرين التالي.
لذلك احفظ هذه المعلومات في موقع مناسب بحيث
يمكنك الاستفادة من هذه المعلومات عند إعداد موقع العميل الخاص بك.
الخطوة التالية، سأقوم بإعداد اثنين من الحسابات هنا.
لذلك اسمحوا لي أن انقر على المصادقة هنا.
وعندما يتم عرض المصادقة،
سنقوم بإعداد طرق تسجيل الدخول التي سنستخدمها لخادم Firebase الخاص بنا،
وفي
حالتي، سأستخدم كلمة مرور البريد الإلكتروني كأحد الخيارات.
لذلك سنقوم بتمكين كلمة مرور البريد الإلكتروني.
سأقوم أيضًا بتمكين تسجيل الدخول إلى Google.
لذلك يتم تمكين هذين.
إذا كنت تريد ذلك، يمكنك تمكين طرق أخرى لمصادقة المستخدمين.
بعد ذلك، انتقل إلى المستخدمين، الآن،
إذا قمت بتسجيل الدخول إلى هذا التطبيق باستخدام حساب Google الخاص بك،
فسيتم إضافة هذا المستخدم تلقائيًا إلى نظامك.
ولكن الآن، سأقوم بإعداد مستخدم واحد بالبريد الإلكتروني وكلمة المرور.
لذلك سأقوم بإعداد admin@confusion.net،
وسأقوم بإعداد كلمة مرور هنا وأضفها في المستخدم.
لذلك سيكون هذا مستخدمًا واحدًا،
يمكنه تسجيل الدخول باستخدام تركيبة كلمة مرور البريد الإلكتروني.
يمكننا أيضًا التسجيل للوصول إلى هذا باستخدام حساب Google الخاص بنا.
لذا،
سأقوم بإعداد تطبيقي الزاوي لاستخدام كل من طريقة كلمة مرور البريد الإلكتروني لتسجيل الدخول
وكذلك عن طريق تسجيل الدخول المستند إلى حساب Google.
بعد ذلك، سنذهب إلى التخزين.
لذلك سنقوم بإعداد التخزين المقبل.
وبالتالي فإن التخزين هو المكان الذي يمكنك فيه إعداد طريقة
لتحميل الملفات إلى الخادم الخاص بك ومن ثم جعلها متاحة للاستخدام.
لذلك هذا التخزين، وأنا ذاهب لإعداد التخزين بلدي لتخزين
الصور التي سوف نستخدمها وحفظ ما يصل من موقع الخادم لدينا.
لذلك عند إعداد التخزين،
وسوف يأتي مع مجموعة من قواعد الأمان،
والتي تحدد أي نوع من العمليات سوف يسمح بها المستخدم.
لذلك يقول السماح للقراءة
والكتابة: إذا request.auth لا يساوي فارغة،
مما يعني أن المستخدمين فقط الذين قاموا بتسجيل
الدخول إلى هذا الخادم سيكونون قادرين على القراءة والكتابة.
الآن، سأقوم بتغيير هذا للسماح بالقراءة لأي شخص،
ولكن لن يسمح بالكتابة إلا من قبل المستخدمين المصادق عليهم.
لذا سنقول، حصلت عليه،
وبعد ذلك سأبدأ.
لذلك، في القواعد،
وسوف أذهب إلى القواعد هنا ومن ثم تعديل القواعد
للسماح للمستخدمين لتكون قادرة على القراءة من الخادم.
الآن، يمكننا إعداده على مستوى مجلد معين،
ولكن بما أن هذا تطبيق بسيط،
سأقوم بإعداده على مستوى التخزين بأكمله.
لذا، هنا، سأقول، السماح بالقراءة،
ثم سأقوم بتعديل هذه القاعدة لتقول السماح بالقراءة،
وسأقول، السماح بالكتابة إذا طلب.
لذلك، كما ترون،
سيتم السماح للمستخدمين القراءة من التخزين.
سيتم السماح لأي مستخدم للقراءة، حتى بدون مصادقة،
ولكن الكتابة تقتصر فقط على المستخدمين الذين يسجلون الدخول إلى النظام.
لذلك هذا هو تعديل بسيط لقواعد الوصول،
من قواعد الأمان.
يمكنك أن تكون أكثر تفصيلاً
في هذا، ولكن في المثال البسيط،
سأبقى مع هذا.
ومن ثم سننشر هذه القواعد إلى خادمنا.
ثم العودة إلى الملفات، في الملفات،
سأقوم بإنشاء مجلد جديد هنا باسم الصور.
الآن، كما ترون،
يمكن إعداد القواعد لمجلد الصور المحدد هذا،
لذلك سيسمح للمستخدمين بالقراءة فقط من مجلد الصور هذه ثم فقط
للمستخدمين المصرح لهم بتحميلها إلى مجلد الصور هذا إذا اخترت ذلك.
ولكن، الآن، أنا ذاهب إلى ترك الأمر على هذا
النحو، ومجموعة عامة من القاعدة التي قمت بتكوينها هناك.
الآن، والذهاب إلى مجلد الصور.
سأقوم بتحميل مجموعة من الصور إلى هذا المجلد هنا.
لذلك اسمحوا لي أن الاستيلاء على مجموعة من الصور التي لدي لطلبي.
وهكذا، في وقت سابق، كنت قد استخدمت هذه الصور في تطبيقاتي الأخرى.
أنا ذاهب لتحديد كل هذه الصور ومن ثم تحميلها إلى مخزن جوجل هنا.
تتوفر هذه الصور في
ملف images.zip الخاص بك الذي قدمته لك في التمرين السابق،
في الدرس السابق.
حتى مجرد تحميل ملف images.zip،
أو إذا كنت قد تحميلها بالفعل،
يجب أن يكون لديك هذه الصور معك حتى تتمكن من تحميلها إلى الملف.
عند تحميل هذه الصور،
يمكنك النقر على أي واحدة من تلك الصور وأيضا لاحظ أن أسفل هنا،
فإنه يمنحك هذا الموقع الملف.
تحتاج إلى نسخ عنوان URL هذا لموقع الملف هذا لأنه عندما نقوم بتكوين قاعدة البيانات الخاصة بنا،
في حقل الصور لبيانات JSON الخاصة بنا،
سنقوم بتكوين كل واحد منهم باستخدام عنوان URL هذا للصورة المقابلة.
بعد ذلك، سننتقل إلى قاعدة البيانات تلك.
في قاعدة البيانات، يتم منحك خيارين.
يمكنك الذهاب مع قاعدة البيانات القديمة في الوقت الحقيقي،
والتي تدعمها جوجل،
وبالفعل معظم التطبيقات الحالية التي تستخدم فيريباس سوف تستخدم قاعدة البيانات في الوقت الحقيقي.
ولكن بعد ذلك، في هذه الدورة،
سوف نستكشف أحدث بيتا فيريستور.
توفر بيتا فيريستور قاعدة بيانات في الوقت الحقيقي أكثر شمولا.
لذلك هذا هو الجيل القادم قاعدة البيانات في الوقت الحقيقي ويوفر
الكثير من الطرق المتقدمة للقيام الاستعلام
وتحجيم التخزين تلقائيا بالنسبة لنا.
لذلك سنذهب مع بيتا فايرستور.
الآن، أحد الأسباب مرة أخرى بالنسبة لي للبدء مع
بيتا فيريستور هو ببساطة لأنه
يسمح لنا لتخزين المعلومات في شكل وثائق ومجموعات.
الآن، من تجربتنا مع MongoDB،
نعرف بالفعل كيف تعمل المستندات
والمجموعات، ولهذا السبب فإن الإصدار التجريبي من Firestore هو خيار أفضل بكثير بالنسبة لنا،
لأننا نعرف بالفعل كيف يتم تكوين ذلك.
إذا كنت تريد الإعداد الافتراضي لقاعدة البيانات القياسية في الوقت الحقيقي،
يمكنك اختيار القيام بذلك.
ولكن قاعدة البيانات في الوقت الحقيقي تخزن جميع البيانات الخاصة بك في
شجرة واحدة كبيرة ولها كمية محدودة من القدرة على الاستعلام.
لذلك بالنسبة لقواعد الأمان الخاصة بي Firestore،
سأذهب مع وضع الاختبار،
حيث سأتركه مفتوحًا للأشخاص للقراءة والكتابة في الوقت الحالي.
وهذا أمر جيد لأننا فقط اختبار قاعدة البيانات، ولكن عادة،
أود أن أقترح للذهاب مع طريقة أكثر تكوين للعمل مع قاعدة البيانات الخاصة بك هنا.
لذلك سنبدأ بوضع اختبار للبدء به.
وهكذا سنقوم بإعداد قواعد الأمن مثل هذه للبدء.
يمكنك الذهاب مع إعداد أداة أمنية أكثر تفصيلاً.
لذلك كما رأيت مع التخزين،
قمنا بإعداد مثل هذه القراءة مسموح بها من قبل
أي شخص ولكن لا يسمح بالكتابة إلا من قبل المستخدمين المصرح لهم.
يمكننا إعداد وظيفة مماثلة هنا أيضا.
لذلك هذا هو confusionserver.
وهكذا، في القواعد،
اسمحوا لي أن أذهب إلى ذلك التخزين ومن ثم مجرد نسخ القاعدة من التخزين هنا،
وسوف نقوم بإعداد نفس النوع من القيود هنا.
لذلك سوف نسمح لأي شخص بقراءة ولكن فقط
للمستخدمين المصرح لهم بالكتابة إلى قاعدة البيانات.
حتى العودة إلى قاعدة البيانات، في القواعد،
يمكننا أن نقول السماح للقراءة: ثم السطر الثاني أنا ذاهب لاستبدال ذلك،
قائلا السماح الكتابة إذا request.auth لا يساوي فارغة.
لذا فقط الأشخاص الذين
قاموا بتسجيل الدخول، سيكونون قادرين على إجراء تعديلات على البيانات بحيث يكون لدينا،
على الأقل، بعض الحماية على بياناتي.
الآن، هنا، يمكننا الآن إضافة بيانيا في البيانات إلى طلبنا.
وهذا، أجد أسرع طريقة لإضافة البيانات.
إذا قمت بإعداد موقع العميل،
فيمكنك نشر البيانات من موقع العميل أيضًا، ولكن
، الآن، سنبدأ بإضافة ثلاث مجموعات هنا.
لذا فإن المجموعة الأولى التي سأضيفها هي الأطباق.
ويمكننا إضافة وثائق إلى الأطباق،
حتى نتمكن من إضافة وثيقتنا الأولى.
لذا لإضافة مستند إلى الأطباق،
تذكر أنني أعطيتك ملف Db.json هناك.
حتى تتمكن من الذهاب مع ملف Db.json ومن ثم إضافة،
خطوة بخطوة، كل من الأطباق التي لدينا.
لذلك، هنا، أنا ذاهب لتكوين الطبق الأول هنا.
لذلك بالنسبة للطبق، يمكننا السماح لـ Firebase بتعيين المعرف تلقائيًا لمستندنا.
لذلك سأترك ذلك تلقائيا تعيين.
لذلك سنضيف في الطبق الأول هنا.
اسم الحقل و الطبق الأول هنا
لذلك علينا أن نضيف بشق الأنفس،
شيئا فشيئا، كل من الأطباق هنا.
لذلك سوف نقول اسم،
وبعد ذلك سوف نقول فئة، وهو التيار الكهربائي.
وبعد ذلك سوف نضيف في الصورة،
والتي سأعود وأضيف في وقت لاحق قليلا لأنني بحاجة إلى نسخ
عنوان ورل الصورة من التخزين الخاص بي واستخدامها هنا.
ثم سيكون لدينا وصفت بأنها ساخنة, السعر.
لذلك لدينا الفئة،
الاسم، الفئة، الصورة، التسمية، السعر،
الوصف، الذي سأقوم بنسخه ولصقه من ملف DB.json الخاص بي.
وأخيرًا، فإن العلم المميز،
الذي سأقوم بتعيينه كقيمة منطقية وتعيين ذلك إلى true في هذه الحالة.
لذا ستكون هذه أول وثيقة لنا سنضيفها إلى قاعدة بياناتنا هنا.
لذلك ستلاحظ على الفور أنه،
في قاعدة بياناتنا، يتم إضافة المستند الأول.
لذلك سنرى الأطباق والمستند الأول،
ويمكنك رؤية المعلومات حول هذه الوثيقة التي تم تكوينها هنا.
لذلك لدينا فئة، وصف،
مميزة، صورة، تسمية، اسم وسعر.
سنقوم أيضًا بإضافة حقل آخر هنا يسمى CreateDat،
وسيكون هذا طابع زمني.
وسيكون الطابع الزمني هو الطابع الزمني اليوم ثم أترك هناك قيمة الوقت على هذا النحو.
حتى نتمكن من إضافة الطوابع الزمنية أيضا إلى هذا، وأيضا،
سنقوم بإضافة طابع زمني آخر كما أوبداتيدات ومع الطابع الزمني هنا.
لذلك لدينا طوابع زمنيتين أخريين هنا.
الآن، بالنسبة للصورة،
سنذهب إلى التخزين هنا.
ومن تخزيننا، في الصور،
سنقوم باختيار ملف الصورة هنا
ثم الانتقال إلى موقع الملف ثم نسخ عنوان URL هذا هنا.
لذلك إذا نضغط فقط على
هذا، سيتم نسخ عنوان URL هذا.
لذلك سنعود إلى
قاعدة البيانات هذه ثم نقوم
بتحرير حقل الصورة ثم نضيف عنوان URL هذا هناك.
مثل ذلك، يمكنك المضي قدما وإضافة الأطباق المتبقية،
والترقيات وأيضا القادة.
لذلك بمجرد إكمال جميع الخطوات،
والتي سوف تستغرق بعض الوقت بالنسبة لك للقيام خطوة بخطوة.
لذلك سمحت لك بإنهاء إضافة كل هذه المعلومات إلى Firebase الخاص بك.
لذلك بعد الانتهاء من إدخال جميع البيانات في قاعدة البيانات الخاصة
بك، يجب أن يكون الأطباق الخاصة بك أربعة أطباق هنا.
مرة أخرى، تأكد من تهيئة
حقل الصورة باستخدام عنوان URL من ذلك التخزين لتلك الصورة المعينة.
لذلك سيكون لديك واحد، اثنان، ثلاثة وأربعة أطباق.
ثم سيكون لديك أربعة قادة في المقابل.
واحد، اثنان، ثلاثة، أربعة وترقية واحدة هنا
مرة أخرى، تأكد من تهيئة الصور لكل واحد
منهم بشكل مناسب من تخزين Firebase.
مع هذا، يتم تكوين الخادم لدينا تماما.
لذلك يحتوي خادم Firebase لدينا على جميع البيانات المطلوبة لخدمة ما يصل إلى خططنا.
سننتقل الآن إلى التمرين التالي،
حيث سنقوم بتكوين عميلنا الزاوي ليتمكن من الوصول إلى
هذه الواجهة الخلفية Firebase كخدمة ثم استرداد
البيانات ثم دفع البيانات أيضًا إلى خادم Firebase الخاص بهم.
مع هذا، نكمل هذا التمرين.
في هذا التمرين، رأينا كم هو سهل بالنسبة لنا
لتكوين الواجهة الخلفية Firebase كخدمة لكل من المصادقة،
لتخزين الملفات وتقديمها وكذلك تخزين المعلومات في
قاعدة بيانات Cloud Firestore في شكل مجموعات ومستندات داخل المجموعات.
مع هذا، نكمل هذا التمرين.