developer_modeتطوير الويب

NextJS Framework

تعلّم إنشاء مواقع مختلفة من خلال استخدام إطار عمل NextJS وذلك بإنشاء مشاريع مصغرة ومبسطة.

خطوات مسار التعلم

100 أساسيات NextJS

تعلّم أساسيات استخدام إطار عمل NextJS بخطوات بسيطة.

101 ٍOur Space Project

ابدأ بتعلم NextJS بإنشاء صفحة بسيطة يتم عرض فيها صور من الفضاء مع إضافة لمسة CSS Parallax بسيطة.

102 Random Advice Project

سنتعلم من خلال هذا المشروع حول CSR أو Client Side Rendering، وكيفية قيام Next JS بتحميل الصفحة بالمقارنة مع React JS.

103 Courses Project

ما هو Server Side Rendering؟ وكيفية استخدامه في NextJS؟ ما هي getServerSide Props؟ كيفية تحسين سيو الموقع بتطبيقات NextJS.

104 Courses Project 2

ما هي getStaticProps؟ وما الفرق بين getServerSideProps و getStaticProps؟ ومتى يجب استخدام كل منها؟ وكيف يتم build Next App؟

105 Gallery Project

كيفية استخدام Image Tag وشرح خصائصه المختلفة، وأيضاً القيام بإنشاء معرض صور كمشروع تطبيقي بسيط.

106 Next Font

كيفية تحميل الخطوط المختلفة من خطوط الغوغل إلى الخطوط المحلية في مشروع NextJs.

200 أساسيات استخدام Strapi CMS (اختياري)

الرجاء الذهاب لمسار تعلم Headless CMS، وتتبع الفيديوهات الخاصة بـــِ بأساسيات تعلم Strapi Headless CMS. في الخطوات القادمة، سنقوم ببناء مشروع NextJS متكامل مبني على Strapi Backend.

300 بناء مشروع متكامل(Recipes Project) – الجزء الأول

سنقوم ببناء مشروع NextJS متكامل ووصله مع سيرفر Strapi. سنبدأ مع ربط الموقع مع نقاط Strapi API. وثم بناء نظام تسجيل دخول للموقع مبسط، مع إدارة لصور الموقع.

301 مقدمة المشروع وعرض كل الوصفات

سنقوم بترتيب ملفات المشروع الرئيسية. كما سيتم الربط مع نقطة جلب كل الوصفات من Strapi، وعرضها على صفحة المشروع الرئيسية.

302 إنشاء صفحة الوصفة الأحادية

كيفية إنشاء صفحة أحادية للوصفة وجلب معلومات الوصفة الواحدة من جهة السيرفر.

303 إضافة وصفة جديدة

كيفية إضافة وصفة جديدة وإرسالها لجهة السيرفر وكيفية إضافة authorized access token للمشروع.

304 حذف وصفة

بناء زر حذف وصفة في الواجهة الأمامية وإرسال طلب حذف الوصفة لجهة السيرفر.

305 صفحة وطلب تعديل الوصف

كيفية بناء صفحة تعديل الوصفة مع النموذج الخاص بها وأيضاً تغيير ترتيب عرض الوصفات.

306 بناء Header Component

سنبدأ ببناء Authentication System، يٌمكّن المستخدمين من القيام بالمهام المخولة لهم بعد تسجيل الدخول. البداية ستكون بإنشاء Header Component بسيطة.

307 بناء صفحة تسجيل الدخول

بناء صفحة تسجيل الدخول مع Login Form، حيث سيتم تشغيل هذا النموذج وإرسال طلب تسجيل الدخول لــ Strapi Backend.

308 التعامل مع localStorage

كيفية حفظ JWT في localStorage، وكيفية التعامل مع خطأ Reference Error: localStorage is not defined.

309 HTTP Only Cookie

توضيح بعض المفاهيم المتعلقة بالسيرفر بشكل عام، وسيرفر NextJS بشكل خاص. وكما تم توضيح كيفية حفظ JWT في HTTP Only Cookie وتطبيق ذلك على نقاط تسجيل الدخول والخروج.

310 ُAdd Recipe API Point

سنبدأ بإضافة نقطة API جديدة في تطبيق NextJS لإضافة وصفة جديدة، وثم سنرسل طلب إضافة وصفة لــِ backend من هذه النقطة.

311 Edit & Delete Recipe API Point

إضافة نقاط API الخاصة بتعديل وحذف الوصفة، وإرسال طلبات لــ backend من هذه النقاط.

312 isLoggedIn API Point

سنقوم بإنشاء نقطة جديدة في NextJS API تحدد إذا كان المستخدم مسجل الدخول أم لا. أيضاً قمنا بإنشاء useUser Hook لحماية بعض المسارات من الدخول غير المخول به على جهة client.

313 useUser & Redirect

سيتم استخدام useUser Hook لحماية بعض الصفحات من الدخول غير المخول به على جهة Client. أيضاً سنقوم بإعادة توجيه الزوار بعد تسجيل الدخول والخروج للصفحة المناسبة.

314 My Recipes API Point

تعديل بعض الصلاحيات من جهة Strapi، وإنشاء نقطة API جديدة لعرض الوصفات الخاصة بمؤلف محدد.

315 ٍSave User in Cookies

عرض وصفات المستخدم، وحفظ معلومات المستخدم في Cookies و حذفها عند تسجيل الدخول.

316 Register User

إنشاء صفحة التسجيل في الموقع مع النموذج الخاص بها. أيضاً سيتم بناء نقطة Register وإرسال طلب لــِ backend لتسجيل المستخدم وعرض أخطاء التسجيل و تسجيل الدخول على الواجهة الأمامية.

400 بناء مشروع متكامل(Recipes Project) – الجزء الثاني

في هذا الجزء من مشروع Recipes سنقوم ببناء الواجهة الأمامية (FrontEnd). يشمل ذلك استخدام CSS Styles والقيام بـــِ Form Validation.

401 Layout Component & Theme

سيتم إنشاء Layout Component مع إضافة Title & Description Tags. أيضاً سيتم إنشاء Page Header Component مع إضافة قالب وألوان افتراضية للموقع.

402 Recipe Card Styling

سنقوم بالتعديل على Recipe Container & Recipe Card في الصفحة الرئيسية، وسنضيف بعض من Styling لها.

403 التعامل مع الكلمات والترجمات

نتحدث عن كيفية التعامل مع strings في أي مشروع، وما هي سلبيات وإيجابيات الطرق المختلفة. كما إننا سنقوم بفصل هذه strings في ملف خاص.

404 Fonts & formatDate & Single Recipe Page

سنقوم باستخدام خطوط الغوغل في مشروعنا، وأيضاً سيتم إضافة أدوات مساعدة للمشروع. كما سيتم تعديل صفحة الوصفة الأحادية لتظهر بشكل أفضل.

405 Edit Recipe Form & Header

في هذا الدرس، سنقوم بتعديل نموذج الوصفة والهيدر. سنضيف بعض من CSS Classes له، وأيضاً سنضيف Arabic Strings له.

406 Style Recipe Form

في هذه الخطوة سننهي الشكل العام لمشروع Recipe بإضافة ستايلات لــِ Recipe Form.

407 مقدمة حول Validation and Sanitization

ما هو Validation؟ وما هي أهميته في الموقع الإلكتروني؟ ما هو Sanitization؟ وكيف يتم تطبيقه؟

408 Login Form Validation

التحقق من صحة البيانات المدخلة في Login Form، وأيضاً التحقق من صحة البريد الإلكتروني المدخل من خلال Regex Pattern. كما تم إضافة بعض الستايلات وعرض رسائل الخطأ.

409 Register Form Validation

سنقوم بالتحقق من صحة البيانات المدخلة في نموذج إنشاء حساب. وكذلك سنقوم بتنظيف الفراغات المرسلة مع حقول نموذج إنشاء حساب.

410 Recipe Form Validation

سنقوم بالتحقق من صحة البيانات المدخلة في Recipe Form، كما سنقوم بـــ sanitization باستخدام trim function.

411 Refactor & Thumbnail Field Preview

بداية نقوم بإعادة ترتيب Recipe Form Messages، وثم إضافة حقل الصورة المصغرة مع معاينتها في نموذج الوصفة.

412 رفع الصورة للسيرفر

سنرفع الصورة لسيرفر Strapi من NextJS ونعرض رسائل الخطأ و النجاح الخاصة بعملية الرفع.

413 Display Thumbnails

سنقوم بعرض الصورة المصغرة أو البارزة لكل وصفة في الصفحة الرئيسية وصفحة الوصفة الأحادية.

414 مفهوم Pagination

في هذا الدرس سنستعرض سوية مفهوم Pagination أو تجزئة القيود ضمن صفحات. كما سيتم إنشاء Pagination Component.

415 Pagination Functionality

في هذا الدرس: سيتم إضافة Pagination Functionality، وسيتم طلب الصفحات من Backend وعرضها في واجهة Next JS.

416 الترتيب حسب التاريخ

يتم إضافة خاصية ترتيب الوصفات بشكل تصاعدي أو تنازلي حسب تاريخ التحديث، وذلك باستخدام qs و خاصية strapi لــِ filtering and searching.

417 ٍمربع البحث | Search Box

يتم توضيح طريقة التصفية والبحث والترتيب المتبعة وأيضاً كيفية إضافة مربع البحث للموقع وجعله يعمل بشكل حقيقي.

418 الفلترة حسب المدة الكلية والوجبة

في هذا الدرس، سنضيف خاصية التصفية حسب الوجبة وحسب المدة الكلية لتحضير الوصفة.

419 تحسين Filter Box

قمنا بتحسين صندوق التصفية عن طريق تحسين وظيفة البحث والتصفية بشكل كبير. مع الاهتمام الدقيق باحتياجات المستخدم، قمنا بتنفيذ مجموعة من الترقيات لتبسيط عملية العثور على النتائج المرغوبة وتنقيتها.

500 Dashboard App Project

سنبدأ بمشروع جديد يختص ببناء لوحة تحكم لإضافة مقالات المستخدم، ستبدأ الدروس بتوضيح حول كيفية استخدام app Directory بإصدار NextJS الجديد.

501 NextJS App Directory

مفهوم app directory الجديد، متى يتم استخدامه وما هي فكرته الأساسية بـــ NextJS.

502 ٌRoutes and Pages

في هذا الدرس سنتعلم كيفية إنشاء مسارات مختلفة في مشروع NextJS، وأيضاً سنوضح استخدامات ملفات page و layout.

503 بناء صفحة لوحة التحكم الأساسية

سنقوم ببناء لوحة التحكم الرئيسية بما يتضمن navigation bar و Dashboard Cards.

504 بناء صفحة المقالات و Data Grid Component

في هذه الخطوة سنقوم ببناء صفحة المقالات في لوحة التحكم، كما سنقوم أيضاً ببناء تكوين Data Grid.

505 مكون Filter Box

سنقوم بإنشاء مكون مربع بحث لفلترة المقالات وتحسين تجربة المستخدم في البحث والتصفية، كما سنتعلم المزيد عن التعامل مع server and client components في NextJs.

506 إنشاء مكوّن Pagination

في هذا الدرس، سنقوم بإنشاء مكون pagination في تطبيق NextJs باستخدام app directory.

507 بناء نقاط API

تعلّم كيفية إنشاء نقاط واجهات برمجة تطبيقات متعددة باستخدام NextJS. تتضمّن المواضيع طلبات الحصول، الحذف، التحديث والإرسال للمقالات

508 إدارة المقالات من إضافة، تعديل وحذف

في هذا الدرس سنقوم بوصل عمليات المقالات المختلفة من قراءة وإضافة وحذف وتعديل مع نقاط API المختلفة التي تم إنشائها مسبقاً. كما سنتعلم بعض الوظائف الجديدة في إصدار next الجديد.

509 إضافة خاصية تسجيل الدخول

في هذا الدرس سنقوم ببناء صفحة ونموذج تسجيل الدخول بالموقع وأيضاً سنقوم بحفظ معلومات تسجيل الدخول بـــ httpOnly Cookie.

510 إضافة خاصية تسجيل الخروج

بناء وظيفة تسجيل الخروج من الموقع مع إنشاء redirect وحماية صفحات الموقع من الدخول غير المصرح به.

600 Dashboard Backend

في هذا القسم سنقوم بإنشاء Backend لتطبيق NextJS باستخدام لغة PHP وقاعدة بيانات MySQL. ثم سنقوم بوصل هذه Backend مع تطبيق NextJS.

601 إنشاء قاعدة بيانات و PHP Backend

في هذا الدرس، سنقوم بإنشاء قاعدة البيانات ونقاط PHP API مختلفة لإدارة المقالات والمستخدمين.

602 ربط تطبيق NextJS مع Backend

في هذا الدرس، سنقوم بالتعديل على نقاط Next API حتى تصل مع Backend PHP API وقاعدة بيانات MySQL.

603 ترقية PHP Backend

هذا عبارة عن مسار تعليمي آخر وأيضاً سلسلة فيديوهات تعليمية خاصة بكيفية بناء API Backend باستخدام لغة PHP. هذه الخطوة اختيارية لكن يفضل أن تتعلم الخطوات من 100 لــ 107.

604 تفعيل نقطة Login & Logout

في هذه الخطوة قمنا بتفعيل خاصية تسجيل الدخول لتتصل مع قاعدة البيانات، وكذلك قمنا بتعديل نقاط الحصول على كل المقالات ومقالة أحادية لتستخدم Backend PHP المحدثة.

605 Middlewares & Headers

سنقوم بإضافة middleware لحماية المسارات بتسجيل الدخول، وأيضاً سنمرر token في headers لــ backend, كما سيتم إنشاء مكون جديد لعرض معلومات الشخص المسجل الدخول في صفحة profile.

606 Pagination Search Params

تم فعلياً القيام بتمرير معلومات pagination و الفلترة والبحث من nextjs لـــ php backend من خلال search params

معلومات المسار

تاريخ الإنشاء:
فبراير 5, 2024
تاريخ التحديث:
يونيو 20, 2024
عدد الخطوات:
63
المستوى:
متوسط
لا يوجد خطة لتحديث هذا المسار