ما الموضوعات التي ستُغطى في الدورة؟
مقدمة إلى Node.js
كلمات الافتتاح ونظرة عامة على الدورة:
كلمات الافتتاح.
ما سيتم تغطيته في الدورة ومقدمة حول Node.js.
التأكيد على العمل مع مستودعات الكود.
كتابة خادم أساسي:
بناء خادم بسيط أولي.
شرح ما هو الخادم وكيفية التعامل مع طلبات واستجابات HTTP.
فهم الرموز الحالة وإرجاع JSON مقابل HTML.
التعامل الأساسي مع الطلبات:
مقدمة في نقاط نهاية خادم API.
تعريف مسارات متعددة لمعالجة الطلبات.
التعامل المتقدم مع طلبات الخادم:
فهم بنية طلب HTTP.
شرح أكواد الحالة وسلوك الخادم.
التحضير لكتابة واجهة برمجة تطبيقات Restful:
مقدمة في واجهات برمجة تطبيقات Restful.
فهم QueryString ومعاملات الطلب.
العمل مع نظام الملفات
قراءة الملفات في Node.js:
العمل مع وحدة نظام الملفات (fs).
استخدام الدالة readFile بشكل غير متزامن.
استخدام الدالة readFileSync بشكل متزامن.
مقدمة إلى وحدات fs و path.
إنشاء خادم مع نقاط نهاية متعددة.
حفظ الملفات النصية وملفات JSON.
حفظ الملفات في Node.js:
استخدام الدالة writeFile بشكل غير متزامن لكتابة الملفات.
استخدام الدالة writeFileSync بشكل متزامن لكتابة الملفات.
معالجة الأخطاء في الخادم.
حذف الملفات في Node.js:
حذف الملفات باستخدام unlinkSync.
استخدام الدلائل في نظام الملفات.
وظيفة للتحقق مما إذا كان الملف موجودًا في نظام الملفات.
التعامل مع طلبات POST:
هيكلية الخادم الأساسية.
التعامل مع طلبات post.
استخدام Postman لإنشاء طلبات get و post.
استخدام التحقق في الخادم:
كتابة خادم ذو معنى.
استخدام التحققات والأخطاء في الخادم.
إنشاء خادم يتعامل مع طلبات متعددة (قراءة، كتابة، حذف ملفات من نظام التشغيل).
كتابة سيرفر باستخدام Express
مقدمة في استخدام Express:
خلفية عن مكتبة express.
استخدام مكتبة express لكتابة خادم.
استخدام وظائف send، sendStatus، و json.
معالجة طلبات get.
التعامل مع Querystring و Params:
استخدام req.query مع express.
استخدام req.params مع express.
كتابة خادم بيانات الإدارة باستخدام نظام الملفات.
التعامل مع طلبات POST في الخادم:
التعامل مع طلبات post باستخدام express.
شرح استخدام middleware.
إضافة التحقق من الأرقام في الخادم.
هندسة الخادم:
هندسة الخادم في express.
استخدام express.Router للتعامل مع توجيه الخادم.
إضافة وبناء controllers في الخادم.
إضافة وبناء services في الخادم.
استخدام ال Middlewares في Express:
فهم ال Middlewares في express.
تضمين ال Middlewares بشكل صحيح في controllers.
كتابة التحققات باستخدام ال Middlewares.
MongoDB
مقدمة إلى MongoDB:
مقدمة إلى قواعد البيانات.
الاختلافات بين قواعد البيانات العلائقية وغير العلائقية.
مقدمة إلى MongoDB والحالات الشائعة لاستخدامها.
ربط الخادم express بـ MongoDB.
مقدمة إلى استخدام واجهة المستخدم الرسومية mongo.
حفظ واسترجاع السجلات:
تعريف المخططات والمراجعة على الأنواع الشائعة.
إنشاء سجل في MongoDB باستخدام وظيفة save.
البحث عن السجلات في MongoDB باستخدام وظيفة find.
استخدام مرشحات شائعة مثل gte$, $gt, $lte, $lt, و eq$.
استعلامات متقدمة في MongoDB:
فهم معرف ObjectId.
شرح وظيفة toJSON.
استخدام استعلام findById في MongoDB.
تحديث السجلات باستخدام findByIdAndUpdate.
استخدام عامل inc$.
استخدام وظيفة count في MongoDB.
تحديد القيم الافتراضية للمخطط في MongoDB.
استعلامات الحذف والعوامل الأساسية:
حذف السجلات باستخدام findByIdAndDelete.
استخدام عامل push$.
معالجة طلبات فشل الخادم (500).
تجميعات متقدمة في MongoDB:
بناء pipeline متقدم واستخدام التجميعات.
فرز البيانات في استعلامات MongoDB.
استخدام عوامل التشغيل الشائعة مثل sum، $max، $min، و avg$.
علاقات متقدمة بين المجموعات في MongoDB:
شرح ربط المجموعات باستخدام ref.
استخدام إجراء populate في MongoDB.
شرح متعمق لإنشاء معرف في MongoDB.
أمان الخادم مع المصادقة
مقدمة في JWT:
خلفية حول أمان الخادم.
مقدمة إلى حزمة jsonwebtoken.
إنشاء الرمز الأول.
استخدام وظيفة verify للتحقق من صحة الرمز.
كتابة API آمن:
إضافة طبقة الأمان إلى الخادم.
بناء Middleware لأمان الخادم.
تنفيذ الأمان بواسطة JWT على الخادم الذي نكتبه.
استخدام مكتبة Crypto:
خلفية حول استخدام التشفير في الخادم.
شرح لوظائف الهاش لتجزئة كلمات المرور.
إضافة الملح إلى المخطط لتعزيز الأمان.
شرح الهجمات المحتملة.
التواصل بين الخوادم:
استخدام مكتبة axios للتواصل بين الخوادم.
جلب البيانات من خادم آخر من خلال الخادم الذي نكتبه.
تخزين البيانات في MongoDB للبيانات المجلوبة من خادم خارجي.
كلمات الختام:
كلمات ختامية لتلخيص الدورة.