مسار التطبيق (App Router)
مرحبًا بكم في دورة Next.js Foundations! في هذه الدورة التفاعلية المجانية، ستتعلم الميزات الرئيسية لإطار عمل Next.js من خلال بناء تطبيق ويب كامل المكدس.
ما سنقوم ببنائه

في هذه الدورة، سنقوم ببناء لوحة تحكم مالية تحتوي على:
- صفحة رئيسية عامة.
- صفحة تسجيل دخول.
- صفحات لوحة تحكم محمية بواسطة مصادقة.
- إمكانية للمستخدمين لإضافة وتعديل وحذف الفواتير.
ستحتوي لوحة التحكم أيضًا على قاعدة بيانات مصاحبة، والتي ستقوم بإعدادها في فصل لاحق.
بحلول نهاية الدورة، ستكون قد اكتسبت المهارات الأساسية اللازمة لبدء بناء تطبيقات Next.js كاملة المكدس.
نظرة عامة
إليك نظرة عامة على الميزات التي ستتعلمها في هذه الدورة:
- التنسيق: الطرق المختلفة لتنسيق تطبيقك في Next.js.
- تحسينات: كيفية تحسين الصور والروابط والخطوط.
- التوجيه: كيفية إنشاء تخطيطات وصفحات متداخلة باستخدام توجيه نظام الملفات.
- جلب البيانات: كيفية إعداد قاعدة بيانات Postgres على Vercel، وأفضل الممارسات لجلب البيانات ودفقها.
- البحث والترقيم: كيفية تنفيذ البحث والترقيم باستخدام معلمات بحث URL.
- تغيير البيانات: كيفية تغيير البيانات باستخدام إجراءات الخادم في React، وإعادة التحقق من ذاكرة التخزين المؤقت في Next.js.
- معالجة الأخطاء: كيفية التعامل مع الأخطاء العامة وأخطاء
404
غير الموجودة. - تحقق من النماذج وإمكانية الوصول: كيفية إجراء تحقق من النماذج على جانب الخادم ونصائح لتحسين إمكانية الوصول.
- المصادقة: كيفية إضافة مصادقة إلى تطبيقك باستخدام
NextAuth.js
والوسيط (Middleware). - البيانات الوصفية: كيفية إضافة بيانات وصفية وإعداد تطبيقك للمشاركة الاجتماعية.
المعرفة المسبقة المطلوبة
تفترض هذه الدورة أن لديك فهمًا أساسيًا لـ React وJavaScript. إذا كنت جديدًا على React، نوصي بمراجعة دورة React Foundations أولاً لتعلم أساسيات React، مثل المكونات والدوال المخصصة (props) والحالة (state) وخطافات (hooks)، والميزات الأحدث مثل مكونات الخادم (Server Components) وSuspense.
متطلبات النظام
قبل أن تبدأ هذه الدورة، تأكد من أن نظامك يستوفي المتطلبات التالية:
- Node.js 18.18.0 أو أحدث مثبتًا. تحميل من هنا.
- أنظمة التشغيل: macOS أو Windows (بما في ذلك WSL) أو Linux.
بالإضافة إلى ذلك، ستحتاج أيضًا إلى حساب GitHub وحساب Vercel.
انضم إلى المحادثة
إذا كان لديك أي أسئلة حول هذه الدورة أو ترغب في تقديم ملاحظات، يمكنك طرحها على مجتمعنا على Reddit أو GitHub.