Sid Gifari File Manager
🏠 Root
/
home
/
u403571817
/
domains
/
rawneeded.anmka.com
/
public_html
/
Editing: FIREBASE_DEPLOYMENT_GUIDE.md
# دليل نشر Firebase - Email Approval System ## نظرة عامة هذا الدليل يوضح كيفية نشر نظام موافقة البريد الإلكتروني على Firebase. ## المتطلبات - Node.js (الإصدار 18 أو أحدث) - حساب Firebase - مشروع Firebase نشط ## خطوات النشر ### 1. إعداد Firebase CLI ```bash # تثبيت Firebase CLI npm install -g firebase-tools # تسجيل الدخول في Firebase firebase login ``` ### 2. إعداد المشروع ```bash # الانتقال إلى مجلد المشروع cd /home/u403571817/domains/rawneeded.anmka.com/public_html # تهيئة Firebase (إذا لم يتم من قبل) firebase init ``` ### 3. تحديث إعدادات المشروع #### تحديث ملف `.firebaserc`: ```json { "projects": { "default": "your-actual-firebase-project-id" } } ``` #### تحديث إعدادات البريد الإلكتروني في `functions/email_config.js`: ```javascript module.exports = { defaultService: 'gmail', // أو الخدمة المفضلة لديك services: { gmail: { service: 'gmail', auth: { user: 'your-actual-email@gmail.com', pass: 'your-actual-app-password' } } } }; ``` ### 4. نشر النظام #### الطريقة الأولى - استخدام السكريبت التلقائي: ```bash # جعل السكريبت قابل للتنفيذ chmod +x deploy_firebase.sh # تشغيل السكريبت ./deploy_firebase.sh ``` #### الطريقة الثانية - النشر اليدوي: ```bash # تثبيت تبعيات Cloud Functions cd functions npm install cd .. # نشر Firestore Rules firebase deploy --only firestore:rules # نشر Firestore Indexes firebase deploy --only firestore:indexes # نشر Storage Rules firebase deploy --only storage # نشر Cloud Functions firebase deploy --only functions ``` ## إعداد البريد الإلكتروني ### Gmail Setup: 1. **تفعيل المصادقة الثنائية** على حساب Google 2. **إنشاء App Password**: - اذهب إلى إعدادات Google Account - Security > 2-Step Verification > App passwords - أنشئ كلمة مرور جديدة للتطبيق - استخدم هذه الكلمة (وليس كلمة المرور العادية) ### SendGrid Setup: 1. **إنشاء حساب SendGrid** 2. **إنشاء API Key** 3. **استخدام 'apikey' كاسم مستخدم و API key ككلمة مرور** ### Mailgun Setup: 1. **إنشاء حساب Mailgun** 2. **الحصول على SMTP credentials من لوحة التحكم** 3. **استخدام البيانات المقدمة** ## اختبار النظام ### 1. اختبار Cloud Functions: ```bash # اختبار إرسال بريد إلكتروني تجريبي firebase functions:shell ``` ### 2. اختبار من لوحة تحكم الأدمن: 1. **اذهب إلى لوحة تحكم الأدمن** 2. **ابحث عن قسم "Email Approval System"** 3. **تحقق من تحميل طلبات البريد الإلكتروني** 4. **اختبر الموافقة والرفض** ### 3. اختبار إرسال البريد الإلكتروني: 1. **أنشئ طلب بريد إلكتروني من تطبيق البائع** 2. **وافق على الطلب من لوحة تحكم الأدمن** 3. **تحقق من وصول البريد الإلكتروني** ## استكشاف الأخطاء ### مشكلة: Firebase CLI غير مثبت ```bash npm install -g firebase-tools ``` ### مشكلة: غير مسجل الدخول ```bash firebase login ``` ### مشكلة: فشل في نشر Functions ```bash # تحقق من الأخطاء firebase functions:log # إعادة المحاولة firebase deploy --only functions ``` ### مشكلة: البريد الإلكتروني لا يُرسل 1. **تحقق من إعدادات البريد في `functions/email_config.js`** 2. **تأكد من صحة App Password** 3. **راجع logs في Firebase Console** ## الملفات المهمة ### ملفات الإعداد: - `firebase.json` - إعدادات Firebase - `.firebaserc` - معرف المشروع - `firestore.rules` - قواعد Firestore - `firestore.indexes.json` - فهارس Firestore - `storage.rules` - قواعد Storage ### ملفات Cloud Functions: - `functions/index.js` - الوظائف الرئيسية - `functions/package.json` - التبعيات - `functions/email_config.js` - إعدادات البريد الإلكتروني ### ملفات الواجهة: - `resources/views/dashboard/all.blade.php` - لوحة تحكم الأدمن ## الروابط المفيدة - **Firebase Console**: https://console.firebase.google.com/ - **Functions Logs**: https://console.firebase.google.com/project/YOUR_PROJECT/functions/logs - **Firestore Database**: https://console.firebase.google.com/project/YOUR_PROJECT/firestore - **Firebase Documentation**: https://firebase.google.com/docs ## الدعم إذا واجهت أي مشاكل: 1. **راجع logs في Firebase Console** 2. **تحقق من إعدادات البريد الإلكتروني** 3. **تأكد من صحة Firestore Rules** 4. **اختبر Cloud Functions محلياً** --- **النظام جاهز للنشر!** 🚀 **اتبع هذه الخطوات لنشر نظام موافقة البريد الإلكتروني بنجاح!** 📧✅
Save
Cancel