دورة بناء واجهات برمجة التطبيقات لارافيل Laravel REST APIs

الوصف
ماهي الواجهات البرمجية؟
واجهات برمجة التطبيقات أو بيئة برمجة التطبيقات (Application Programming Interface - API) هي عبارة عن "برنامج" غايته هو أن يوفر طريقة للتخاطب بين عدد من البرامج من خلال توفير قائمة من الوظائف المستقلة لتتيح للمطورين التواصل معها من خلال أي آلية آخرى.
من الأمثلة على استخدامات الواجهات البرمجية مايلي:
- الربط مابين تطبيقات الويب و قواعد البيانات.
- الربط مابين تطبيقات الهواتف الذكية و خوادم قواعد البيانات على الويب.
- الربط مابين الواجهات البرمجية ذاتها.
أمثلة على واجهات برمجية مشهورة:
- Google Maps API
- Facebook API
- Twitter API
- Youtube API
- Amazon Products Ads API
ستقوم بهذه الدورة ببناء الواجهة الخاص بك وفهم كل ماتحتاجه من ناحية تنظيم البيانات وبنيتها وآلية بناء المشاريع والحماية لواجهتك بطرق مبسطة جدا.
ماذا سنتعلم في هذه الدورة؟
- ما هي واجهات التطبيقات البرمجية API
- ما معنى REST API
- ما هو JSON وطريقة عمله
- التخطيط المسبق لبناء المشاريع
- تثبيت لارافيل وربطها بقاعدة بيانات
- تثبيت أدوات للتعامل مع API
- التوجيه API Routing
- الموارد API Resources
- إنشاء Factories لزراعة البيانات Seeds
- توثيق المستخدمين عبر المشفرات Tokens
- تخطيط مشروع نظام إدارة مهام
- تصميم قاعدة البيانات والعلاقات
- تنفيذ العمليات على أقسام المهام
- تنفيذ العمليات على المهام
- كتابة التعليقات على المهام
- إرسال البريد الإلكتروني
- رفع وتحميل الملفات
- الحماية عبر Middlewares و Rate limits
- كيفية إختبار API
- التعامل مع الأخطاء
- كيف تحصل على مصادر إضافية تتعلم منها
- بناء واجهات برمجة التطبيقات الخاصة بك
المدرب
الأقسام
المقدمة
سنتعرف هنا على هذه المادة والمدرب
تجهيز بيئة التطوير المحلية (اختياري)
سنتعلم هنا كيفية تجهيز بيئة التطوير المحلية هذا القسم اختياري إذا كان لديك معرفة مسبقة بذلك.
تثبيت لارافيل
سنتعلم في هذا القسم كيفية تثبيت لارافيل وربطها مع قاعدة البيانات. يمكنك القفز للقسم التالي إذا كنت تعرف ذلك.
التخطيط المسبق للمشروع
سنبدا من هنا تخطيط المشروع الذي سنقوم ببناءه وهو نظام ﻹدارة المهام
توثيق المستخدمين من خلال Laravel Passport JWT
سنتعرف في هذه السلسلة على كيفية توثيق المستخدمين باستخدام "Tokens" وتسمى المشفرات والتي توفرها لنا حزمة Passport التابعة للارافيل.
الإجراءات على إدارة الأقسام
سنتعلم في السلسلة القادمة من الدروس عدد من المفاهيم الهامة في APIs ومنها كيفية عمل resource لكل موجه "route" وكيفية التعامل مع طرق الطلب PATCH, PUT في الموجهات وأيضا كيف نقوم بحماية مدخل معين
الإجراءات على إدارة المهام
الآن سوف نتعلم كيفية إدارة عملية المهام وإجراء التحقق من صلاحيات المستخدمين من ناحية القدرة على الحفظ في تصنيفات و القدرة على التعديل والحذف كما سنتعلم طرق جديدة للتحقق من البيانات قبل السماح
الموارد API Resources
سنتعلم في هذا الجزء من المادة ماهي الموارد Resources وكيفية التعامل معها واخراج البيانات بناء على قوالب نقوم بتجهيزها
توليد البيانات مع Seeds & Factories
سنتعلم في هذا القسم طريقة توليد البيانات من أجل اختبار قاعدة البيانات و API التي نعمل عليها
الإجراءات على نظام التعليقات
في القسم التالي سنقوم ببرمجة نظام التعليقات الذي سيتم على المهام، هل أنت جاهز؟
الإجراءات على نظام رفع وإدارة الملفات
سنتعلم في القسم كيفية رفع وإرفاق الملفات مع المهام التي قمنا بها وكذلك كيفية التحقق من صحة الملفات المرفوعة بناء على شروط نقوم بوضعها قبل رفعها
التعامل مع البريد الإلكتروني
سنتعلم في الدروس القادمة كيفية التعامل مع البريد الإلكتروني بحيث يصبح لدينا إمكانية إرسال بريد إلكترونية من خلال API
[أمني] حماية API بواسطة Rate Limiting
سنقوم بهذه السلسلة بالتعرف على Rate Limiting وهو الجزء المسؤول عن الحد من الطلبات المتكررة على النظام بحيث لا يتم استهلاكه والتسبب ببطئ أو تعطيل النظام
(إهداء لك) معلومات إضافية ونصائح
أيها المبرمج! بعد أن قمت بهذا العمل الرائع. سأقوم بإهداء بعض المعلومات والنصائح لك في هذا القسم
عينة من الدروس المجانية
-
ماهي هذه المادة ومالمقصود بـ API؟
سنتعرف هنا على هذه المادة وطريقة التدريب ومالمقصود API وماهي فوائدها؟
المدة: 03:28
-
ماهو Vagrant ولماذا سنستخدمه؟
لماذا نستخدم فاقرات في بيئة التطوير المحلية بدلا من غيره؟
المدة: 02:30
-
كيف نحصل على Vagrant؟
كيفية الحصول على فاقرانت وتثبيته
المدة: 02:48
-
إعداد vagrant للعمل
كيفية إعداد فاقرات للعمل وتحميل نظام داخلي
المدة: 06:18
-
تجهيز خادم الويب
تثبيت الحزم المطلوبة لتشغيل خادم ويب
المدة: 04:51
-
مالذي سوف نقوم ببناءه؟
في هذا الدرس سنتعرف على مكونات النظام الذي نريد بناءه والتخطيط المسبق له قبل البدء في التنفيذ
المدة: 05:23
-
ماهي المشفرات Tokens؟
ستتعرف في هذا الدرس على المشفرات ولماذا تستخدم في واجهات برمجة التطبيقات APIs.
المدة: 03:02
-
التخطيط المسبق لبناء أقسام المهام
سنقوم بهذا الدرس بعمل خطة لبناء الإجراءات التي ستتم على الأقسام وفهي العلاقات بينها وبين أجزاء النظام وكذلك تصميم قاعدة البيانات
المدة: 02:14
-
إنشاء جدول الأقسام في قاعدة البيانات
سنقوم بهذا الدرس بإنشاء Migration "ترحيل البيانات" الخاص بجدول الأقسام
المدة: 04:03
-
التخطيط المسبق لبناء المهام
سنقوم بهذا الدرس بالتخطيط المسبق لإدارة المهام من ناحية قاعدة البيانات والموجهات
المدة: 06:15
-
ماهي الموارد API Resources؟
سنتعلم الآن ماهي الموارد ولماذا تستخدم وماهي الفائدة والغاية النهائية التي سنصل لها بعد استخدامها في APIs
المدة: 06:00
-
ماهي Seeds & Factories؟
سنتعرف في هذا الدرس على Seeds & Factories مالفرق بينهما ولماذا تستخدم
المدة: 04:35
-
إنشاء ملف لزراعة البيانات Seed
سنقوم بهذا الدرس بالتعرف على كيفية إنشاء ملف seed لزراعة البيانات في الجداول
المدة: 04:41
-
التخطيط المسبق لبناء التعليقات
أيها المبرمج! سنقوم الآن بالتخطيط لبناء نظام التعليقات وعليك ان تقوم بالتحدي الموجود في الدرس.
المدة: 02:01
-
التخطيط المسبق لبناء نظام تخزين الملفات
سنقوم بهذا الدرس بالتخطيط المسبق لبناء نظام تخزين الملفات
المدة: 04:36
-
إنشاء File Model وجدول البيانات وضبط العلاقات
سنقوم الآن بإنشاء جدول لتخزين الملفات ومساراتها وضبط العلاقة بينه وبين المستخدم والمهام
المدة: 04:26
-
مالذي سوف نقوم به مع البريد الإلكتروني؟
سنتعرف بهذا الدرس على مالذي سنقوم به في السلسلة القادمة من الدروس باستخدام البريد الإلكتروني
المدة: 02:16
-
ماهو Rate Limiting؟
سنتعرف بهذا الدرس على Rate Limiting مع مثال على ذلك
المدة: 02:42