الأهداف العامة للدورة

  1. تمكين المشاركين من فهم أساسيات لغة Python وتطبيقها في تطوير التطبيقات.
  2. تعريف المشاركين بأطر العمل الحديثة مثل Django وFastAPI لبناء تطبيقات ويب قوية وسريعة.
  3. تدريب المشاركين على تصميم قواعد البيانات والنماذج وربطها بواجهات المستخدم.
  4. بناء واجهات برمجية (APIs) باستخدام Django REST Framework أو
  5. تمكين المشاركين من تطوير تطبيق متكامل من الصفر حتى النشر.
  6. تعريف المشاركين بمفاهيم الأمان، الأداء، واختبار التطبيقات.

محاور البرنامج التدريبي

اليوم الأول: مقدمة في Python وتطوير الويب

  • أساسيات لغة Python: المتغيرات، الحلقات، الدوال، القوائم، القواميس.
  • مقدمة في تطوير الويب: مفهوم الطلب (Request) والاستجابة (Response).
  • الفرق بين Django وFastAPI: متى تختار كل إطار؟
  • إعداد بيئة التطوير (Python + Pip + Virtual Environments).
  • إنشاء مشروع بسيط باستخدام Django أو

اليوم الثاني: بناء النماذج وقواعد البيانات

  • مقدمة في قواعد البيانات العلائقية (Relational Databases).
  • إنشاء نماذج البيانات (Models) باستخدام ORM:
    • Django ORM
    • SQLModel أو SQLAlchemy (مع FastAPI)
  • إجراء عمليات الترحيل (Migrations) وربط التطبيق بقاعدة البيانات.
  • تنفيذ العمليات الأساسية: إنشاء، قراءة، تحديث، حذف (CRUD).
  • العمل مع SQLite أو

اليوم الثالث: إنشاء الواجهات وتطوير APIs

  • تطوير صفحات HTML ديناميكية باستخدام Django Templates.
  • إنشاء REST APIs باستخدام:
    • Django REST Framework
    • FastAPI (مع وثائق تفاعلية تلقائية باستخدام Swagger).
  • ربط الواجهة الأمامية بالبيانات عبر API باستخدام JavaScript (fetch/AJAX).
  • معالجة البيانات والإدخال من المستخدم.
  • التحقق من صحة البيانات (Validation) واستجابات الأخطاء.

اليوم الرابع: الأمان وتحسين الأداء

  • حماية البيانات الحساسة ومصادقة المستخدمين (Authentication).
  • إنشاء أنظمة تسجيل دخول وتفويض (Login/Auth):
    • Django Auth
    • OAuth2 وJWT في FastAPI
  • حماية النماذج من هجمات XSS و
  • تحسين الأداء باستخدام التخزين المؤقت (Caching) وضغط البيانات.
  • مراجعة الشيفرة وتنظيمها باستخدام MVC (أو MVT في Django).

اليوم الخامس: المشروع العملي والنشر

  • بناء مشروع متكامل (مثال: تطبيق مدونة أو إدارة مهام).
  • إضافة لوحة تحكم إدارية (Admin Panel) في
  • تجهيز المشروع للنشر:
    • باستخدام Heroku، Render، أو
    • إعداد ملفات الإعدادات، البيئة، والمتطلبات (requirements.txt).
  • مراجعة نهائية وتقييم شامل للمخرجات.
  • مناقشة خطوات التوسع المستقبلي والتكامل مع الواجهات الحديثة.
كيف يمكنني مساعدتك؟