= استضف موقعًا ديناميكيًا على Google Firebase باستخدام Node.js و Cloud Firestore DB =
توشار كابور: (httpswww.tusharck.com/)
عنوان URL التجريبي لـ Git: httpsgithub.com/tusharck/firebase-demo
= لماذا استضافة Firebase؟ =
يعد Firebase نظامًا أساسيًا شاملاً للتطبيقات مبنيًا على بنية Google الأساسية ، وبالتالي فهو يوفر وسيلة آمنة وسريعة ومجانية (تتوفر أيضًا خيارات مدفوعة للحصول على موارد إضافية) وطريقة سهلة لاستضافة المحتوى الخاص بك على تطبيقات الويب أو الهاتف المحمول
== الميزات والفوائد الرئيسية للدرجة المجانية: ==
- يمنحك مجال مخصص مجاني&
SSL (يوفر SSL طبقة أمان قياسية لاتصالات https
- Cloud Firestore: قاعدة بيانات مرنة وقابلة للتطوير لمزامنة البيانات في الوقت الفعلي عبر تطبيقات العميل
- ميزات أخرى: وظائف السحابة ، والرسائل السحابية (FCM) ، و Crashlytics ، والروابط الديناميكية ، والاستضافة ، ومجموعة ML ، والتخزين ، ومراقبة الأداء ، والتنبؤات ، ومختبر الاختبار (يمكن زيادة وظائف وموارد هذه المنتجات عن طريق شراء خطة مدفوعة ، ولكن خدمات الطبقة المجانية جيدة جدًا. لإلقاء نظرة على الخطط ، تحقق من تسعير Firebase)
- التحجيم التلقائي للموارد
= خطوات استضافة موقعك الديناميكي على Firebase =
== المتطلبات ==
** 1. حساب Google ** إذا لم يكن لديك حساب Google ، فأنت بحاجة إلى التسجيل للحصول على حساب. يمكنك القيام بذلك عن طريق الانتقال إلى httpsaccounts.google.com/SignUp. ** 2. Node.js و npm ** Mac / Windows يمكنك تنزيل المثبت من httpsnodejs.org/en/download/. لينكس
اتبع الخطوات أدناه لتثبيت Node.js:
1. افتح محطة طرفية
2. قم بتشغيل الأوامر التالية:
sudo apt-get install curlcurl -sL httpsdeb.nodesource.com/
setup_13.x | sudo bash -sudo apt install nodejs ** لقد استخدمت ملاحظة: ** **
setup_13.xbecause في وقت البرنامج التعليمي كان أحدث إصدار
** 13 ** يمكنك التحقق من أحدث إصدار بالذهاب إلى httpsnodejs.org/en/
للتحقق مما إذا تم تثبيت Node.js و npm بنجاح ، قم بتشغيل الأوامر التالية ، والتي ستخرج الإصدار المثبت:
عقدة الخامس
npm -v
** 3. Firebase-CLI (واجهة سطر الأوامر - هذه هي أدوات إدارة مشروعات Firebase وعرضها ونشرها
npm install -g firebase-tools
= الخطوة 1: إنشاء مشروع Firebase =
- انتقل إلى httpsfirebase.google.com و
قم بالتسجيل من الزاوية اليمنى العليا
- انقر فوق
انتقل إلى وحدة التحكم ، من الزاوية اليمنى العليا
- ثم اضغط على
إنشاء مشروع ، كما هو موضح أدناه
4. الشيء التالي هو إدخال اسم مشروعك ، ثم الضغط على "متابعة"5. اضغط على "متابعة"لتمكين Google Analytics لمشروع Firebase الخاص بك (إذا كنت لا تريد ذلك ، فحدد لتعطيله)
6. حدد أقرب موقع لبرنامج Google Analytics
7. انقر فوق
** أنشئ مشروع وانتظر حتى يتم تحميله. ثم سترى شيئًا مثل أدناه
= الخطوة 2: تهيئة تسجيل الدخول إلى Firebase =
- افتح سطر أوامر / محطة ثم أنشئ دليلًا جديدًا وانتقل إليه
mkdir my-firebase-projectcd my-firebase-project
2. لاستضافة موقع ويب على Firebase ، سجّل الدخول إلى Firebase باستخدام الأمر التالي. بعد تشغيل الأمر ، ستفتح نافذة متصفح تطلب منك تسجيل الدخول إلى firebase باستخدام بيانات اعتماد Google الخاصة بك. أدخل بيانات الاعتماد هناك وسيقوم Firebase بتسجيل الدخول إلى نظامك
تسجيل الدخول إلى Firebase
= الخطوة 3: بدء مشروع Firebase في نظامك =
- الآن يتعين علينا تهيئة المشروع الذي أنشأناه على وحدة تحكم Firebase في النظام. للقيام بتشغيل الأمر أدناه
الحرف الأول من Firebase
2. اضغط على مفتاح لأسفل ثم حدد
** شيئين ** بالضغط على ** مفتاح شريط المسافة
- المهام
- الاستضافة
ثم
**إضغط مفتاح الدخول للاستمرار
3. ثم حدد
ثم اضغط دخول
** استخدم مشروع قائم **
4. اضغط على مفتاح الإدخال
** my-firebase-project ** ** أو اسم المشروع الذي استخدمته أو اسم المشروع الذي استخدمته
5. حدد
** Javascript ** واضغط على Enter
6. يمكنك القول
** لا ** هل تريد استخدام ESLint للقبض على الأخطاء المحتملة وفرض الأسلوب؟
7. النوع
** نعم ** لتثبيت التبعيات مع npm
8. هنا علينا القيام بمهمتين:
- يجب عليك تحديد الدليل الذي سيقيم فيه موقع الويب والأصول الخاصة بك. بشكل افتراضي هو
عام يمكنك الضغط على إدخال للمتابعة أو يمكنك التغيير إلى اسم الدليل المطلوب
- أنواع
نعم لصفحة التطبيق الواحد بحيث يمكن إعادة توجيه عناوين URL الديناميكية إلى وجهتها الصحيحة
9. اختبر تطبيق firebase على نظامك المحلي عن طريق تشغيل الأمر التالي. ثم اذهب الى
** HTplocalhost: 5000 ** لمشاهدة موقع الويب الأساسي الخاص بك قيد التشغيل
خدمة Firebase - فقط استضافة ، وظائف
يجب أن ترى شيئًا كهذا أدناه بعد فتح ملف
** HTTplocalhost: 5000 ** عنوان URL
10. أغلق الخادم من المحطة
= الخطوة 4: تثبيت الحزم وإنشاء دليل طرق العرض لموقع الويب الديناميكي =
- هنا سنقوم بالتبديل داخل دليل الوظائف للقيام بذلك
وظائف القرص المضغوط
** 2. تثبيت Express ** إنه إطار تطبيق ويب Node.js بسيط ومرن
npm أنا صريح - حفظ
** 3. تثبيت قضبان المقبض ** إنه محرك نموذجي لـ Node.js يستخدم للواجهة الأمامية الديناميكية لموقع الويب
npm أنا المقاود - حفظ
** 4. تثبيت التوحيد **
npm أقوم بتوحيد - حفظ
5. قم بإنشاء مجلد باسم
** المشاهدات ** داخل ** الوظائف ** المجلد الذي سنخزن فيه جميع كود الواجهة الأمامية
مكدير
الآراء
6. قم بالرجوع إلى الدليل الرئيسي عن طريق تشغيل الأمر التالي:
قرص مضغوط.
= الخطوة 5: إعداد Firestore (Cloud Database) =
== تكوين قاعدة البيانات ==
- انتقل إلى httpsconsole.firebase.google.com/
- اختر مشروعك
- يختار
قاعدة البيانات من الجزء الموجود على اليسار
4. انقر فوق
**إنشاء قاعدة بيانات**
5. حدد البدء في وضع الاختبار وإلا فلن تتمكن من الوصول إلى قاعدة البيانات من نظامك. سنقوم بتغيير هذا الإعداد بمجرد الانتهاء من تطوير الموقع
ثم اضغط
** التالي ** بعد القيام بذلك
6. حدد موقع Firestore DB الخاص بك
** بعد تعيين هذا الموقع ، لا يمكنك تغييره لاحقًا. ملحوظة: **
== CreateData ==
- انقر فوق بدء المجموعة
2. أدخل
** معرف المجموعة يمكنك أخذ عينات منه الآن
3. أدخل بيانات العينة. يدخل
** sample_doc ** باعتباره ** معرف المستند. ** أدخل ** العنوان ** داخل ** الحقل. أنا أحب السحابة ** داخل ** القيمة ثم انقر فوق ** حفظ **
= الخطوة 6: بناء المحتوى الديناميكي للموقع =
سنقسم الجزء إلى جزأين ، في الجزء الأول ، سنرى كيفية جلب البيانات من Firestore واستخدامها في موقع الويب. في الجزء الثاني ، سنرى كيفية إرسال بيانات النموذج
** أولاً ، سنقوم بتنزيل بيانات الاعتماد للوصول إلى Firestore **
2. انقر فوق
** الإعدادات ** من الجزء الأيمن وانتقل إلى ** إعدادات المشروع **
3. اذهب إلى
** حسابات الخدمة ** وانقر على ** إنشاء مفتاح خاص جديد
4. انقر فوق
** إنشاء مفتاح سيعطي نافذة منبثقة لتنزيل المفتاح. قم بتخزين المفتاح داخل مجلد ** وظائف ** الخاص بك على موقع الويب الخاص بك
== الجلب من Firestore ==
- يفتح
index.jsinside في مجلد الوظائف
2. نحتاج إلى تحديد بعض المكتبات التي نريد استخدامها في تطبيقنا. هذه هي نفس المكتبات التي قمنا بتثبيتها سابقًا
وظائف const = تتطلب ('firebase-functionconst express = تتطلب ('expressconst محركات = تتطلب ('unitedatevar hbs = need ('handlebarsconst admin = need ('firebase-admin
3. هنا نضع بعض الأشياء:
- تهيئة التطبيق باستخدام express
- سنقوم بتعيين محركنا كمقود
- ثم سنخبر الصريح أن كود الواجهة الأمامية سيكون داخل مجلد المشاهدات
const app = expressapp.engine ('hbs'، engine.handlebars)؛ app.set ('viewsviewsapp.set ('view enginehbs)
4. تخويل التطبيق الخاص بك للوصول إلى قاعدة بيانات Firestore الخاصة بك
*ملحوظة:*
1. التغيير
** YOUR_SDK_NAMEjson مع الملف الذي قمت بتنزيله ** لبيانات اعتماد للوصول إلى Firestore2. قم بتغيير عنوان URL لقاعدة البيانات إلى عنوان URL لقاعدة البيانات الخاصة بك. لرؤية عنوان URL ، يمكنك الانتقال إلى ** الإعدادات>حساب الخدمة **
var serviceAccount = يتطلب
YOUR_SDK_NAME.jsonadmin.initializeApp ({بيانات الاعتماد: admin.credential.cert (serviceAccount) ، قاعدة البيانات URL: "httpsmyfirebaseproject-bx54dasx3.firebaseio.com
5. وظيفة لجلب البيانات من Firestore
- معرف المجموعة هو
عينة
- معرف المستند هو
sample_doc
حددنا ما سبق أثناء إدخال بيانات العينة
دالة غير متزامنة getFirestoreconst firestore_con = انتظار admin.firestoreconst writeResult = firestore_con.collection ('sampledoc ('sample_docgetthen (doc =>{
if (! doc.exists) {console.log ('No such document}
آخر {عودة doc.data
.catch (يخطئ =>{console.log ('خطأ في إحضار المستند'، خطأ writeResult
}
** نستخدم ملاحظة: ** ** غير متزامن ** لأنه يتعين علينا الانتظار حتى تكتمل عملية الوعد بين قاعدة البيانات وموقعنا الإلكتروني
6. قم بإنشاء المسار وأرسل النتيجة إلى الواجهة الأمامية
app.getasync (طلب ، استجابة) var db_result = await getFirestoreresponse.render ('indexdb_resultexports.app = function.https.onRequest (app) ؛
7. إنشاء
** index.hbs ** داخل مجلد ** views **. hbs هو ملف Handelbars ملاحظة: **
8. اكتب كود HTML الأساسي هذا بالداخل
** index.hbs ** لمشاهدة النتيجة التي تم جلبها