انتقل إلى المحتوى الرئيسي

دورة Spring Boot

تطوير تطبيقات Java الحديثة​

رمز الدورة: 420-XXX-XX
الجلسة: شتاء 2025
المعلم: سيتم تحديده
المؤسسة: أكاديمية inskillflow


نظرة عامة على الدورة​

ستتيح لك هذه الدورة التدريبية الشاملة إتقان Spring Boot، وهو الإطار الأكثر شهرة في Java لتطوير التطبيقات الحديثة. من المقدمة إلى المفاهيم المتقدمة، ستتعلم كيفية إنشاء تطبيقات احترافية قوية وقابلة للتوسع.

أهداف التعلم​

في نهاية هذه الدورة، ستكون قادرًا على:

  • فهم أساسيات Spring Boot ونظامه البيئي
  • تطوير تطبيقات الويب باستخدام Spring MVC وREST APIs
  • إدارة استمرارية البيانات باستخدام Spring Data JPA
  • تأمين تطبيقاتك باستخدام Spring Security
  • نشر ومراقبة التطبيقات في الإنتاج
  • إنشاء خدمات مصغرة باستخدام Spring Cloud
  • تطبيق أفضل الممارسات في تطوير Java الحديث

النهج التعليمي​

70% عملي - 30% نظري

كل وحدة تجمع بين:

  • محاضرات حول المفاهيم الأساسية
  • مختبرات عملية
  • مشاريع تطوير حقيقية
  • تمارين واختبارات

الفصل 1 — قائمة الاختبارات​

اختبر معرفتك بعد كل وحدة:

الوحدةالاختبارالموضوع
2اختبار الوحدة 2الخطوات الأولى، Spring Initializr، التعليقات التوضيحية الأساسية
3اختبار الوحدة 3بنية الطبقات، CRUD، التحقق
4اختبار الوحدة 4PostgreSQL، Jakarta Persistence، Hibernate، Lombok
5اختبار الفصل 1IoC وحقن التبعيات
5اختبار الفصل 2أنواع الحقن، @Qualifier
5اختبار الفصل 3Beans وسياق Spring
5اختبار الفصل 4النطاقات والتكوين
6اختبار الوحدة 6JPA المتقدم، الاتفاقيات، العلاقات، @Query
7اختبار الوحدة 7مصادر البيانات، المعاملات، Flyway
8اختبار الوحدة 8Spring Security، JWT، OAuth2
9اختبار الوحدة 9اختبارات الوحدة، التكامل، MockMvc
10اختبار الوحدة 10الاستثناءات، التسجيل، Logback
11اختبار الوحدة 11Actuator، Prometheus، Grafana
12اختبار الوحدة 12Docker، CI/CD، النشر
13اختبار الوحدة 13الخدمات المصغرة، Eureka، Gateway
14اختبار الوحدة 14Cache Redis، RabbitMQ، WebSocket

الفصل 2 — قائمة الأعمال العملية​

جميع الأعمال العملية للدورة، منظمة حسب الوحدة:

الوحدة 1 — مقدمة​

العملالموضوعالمدة
العمل 1.1تثبيت Java JDK 17 (Windows، macOS، Linux)20-30 دقيقة
العمل 1.2تثبيت Maven 3.9.x (Windows، macOS، Linux)30-45 دقيقة

الوحدة 2 — الخطوات الأولى​

العملالموضوعالمدة
العمل 2.1تطبيق "Greeting" باستخدام Spring Boot1-2 ساعة
العمل 2.2قاعدة بيانات H2 (الذاكرة والاستمرارية)1-2 ساعة

الوحدة 3 — بنية الطبقات وCRUD​

العملالموضوعالمدة
العمل 3.1بنية CRUD كاملة (موجهة مع الكود)4-6 ساعات
العمل 3.2CRUD مستقل — نفس التمرين، بدون كود (تحدي)2-3 ساعات

الوحدة 4 — قواعد البيانات في الإنتاج​

العملالموضوعالمدة
العمل 4.1ترحيل PostgreSQL باستخدام Jakarta Persistence2-3 ساعات

الوحدة 5 — Spring Core (IoC / DI)​

العملالموضوعالمدة
العمل 5.1حقن التبعيات المتقدم1-2 ساعة
العمل 5.2إدارة beans والنطاقات1-2 ساعة
العمل 5.3التكوين وملفات التعريف1-2 ساعة

الوحدة 6 — JPA المتقدم​

العملالموضوعالمدة
العمل 6.1اتفاقيات التسمية المتقدمة2 ساعة
العمل 6.2علاقات الموظف-القسم2-3 ساعات
العمل 6.3تمرين المطار-الرحلة-الراكب3-4 ساعات

الوحدة 7 — المعاملات والترحيلات​

العملالموضوعالمدة
العمل 7.1تكوين مصدر البيانات1-2 ساعة
العمل 7.2المعاملات والتراجع2 ساعة
العمل 7.3الترحيل باستخدام Flyway1-2 ساعة

الوحدة 8 — Spring Security​

العملالموضوعالمدة
العمل 8.1المصادقة عبر النموذج1-2 ساعة
العمل 8.2مصادقة JWT2-3 ساعات
العمل 8.3الأدوار والأذونات2 ساعة
العمل 8.4OAuth2 مع Google2 ساعة

الوحدة 9 — الاختبارات​

العملالموضوعالمدة
العمل 9.1اختبارات الوحدة لطبقة الخدمة2 ساعة
العمل 9.2اختبارات التكامل للمستودعات2 ساعة
العمل 9.3اختبارات REST API باستخدام MockMvc2 ساعة

الوحدة 10 — الاستثناءات والتسجيل​

العملالموضوعالمدة
العمل 10.1إدارة الأخطاء المركزية2 ساعة
العمل 10.2نظام تسجيل احترافي1-2 ساعة

الوحدة 11 — المراقبة​

العملالموضوعالمدة
العمل 11.1تكوين Actuator1-2 ساعة
العمل 11.2مراقبة Prometheus وGrafana2-3 ساعات

الوحدة 12 — النشر​

العملالموضوعالمدة
العمل 12.1Dockerisation كاملة2-3 ساعات
العمل 12.2خط أنابيب CI/CD والنشر2-3 ساعات

الوحدة 13 — الخدمات المصغرة​

العملالموضوعالمدة
العمل 13.1خادم Eureka والعملاء2 ساعة
العمل 13.2خادم التكوين1-2 ساعة
العمل 13.3بوابة API2 ساعة
العمل 13.4Feign وResilience4j2-3 ساعات

الوحدة 14 — تقنيات متقدمة​

العملالموضوعالمدة
العمل 14.1التخزين المؤقت باستخدام Redis2 ساعة
العمل 14.2المراسلة باستخدام RabbitMQ2 ساعة
العمل 14.3WebSocket في الوقت الحقيقي2 ساعة
العمل 14.4المهام المجدولة1-2 ساعة

خطة الدورة - 19 وحدة​

الوحدة 1 - مقدمة إلى Spring Boot​

المدة: جلسة واحدة

المحتوى:

  • تاريخ وتطور Spring Boot
  • نموذج MVC (Model-View-Controller)
  • Apache Tomcat والخوادم المدمجة
  • Jackson وإدارة JSON
  • التكوين التلقائي والاتفاقيات

الأهداف:

  • فهم النظام البيئي لـ Spring
  • تحديد فوائد Spring Boot
  • اكتشاف المفاهيم الأساسية

الوحدة 2 - الخطوات الأولى مع Spring Boot [مكتمل]​

المدة: 2-3 جلسات

المحتوى:

  • Spring Initializr
  • هيكل مشروع Spring Boot
  • ملفات التكوين (application.properties/yml)
  • التعليقات التوضيحية الأساسية (@RestController, @Service, @Repository)
  • مقدمة إلى Repositories JPA (4 طرق أساسية: save، findById، findAll، deleteById)
  • اتفاقيات التسمية البسيطة (findBy، And، Or)

الأعمال العملية:

  • العمل 1: تطبيق Greeting باستخدام Visual Studio Code
  • العمل 2: قاعدة بيانات H2 (الذاكرة والاستمرارية)

ملاحظة تعليمية: تم تبسيط الوحدة للتركيز على الأساسيات. تم نقل الأعمال العملية المتقدمة إلى الوحدات 3 و4 مع النظرية المناسبة.


الوحدة 3 - بنية الطبقات وCRUD الكامل [مكتمل]​

المدة: 2-3 جلسات

المحتوى النظري:

  • طبقة الخدمة بالتفصيل (الدور، المسؤوليات، فصل الاهتمامات)
  • التحقق من البيانات باستخدام Bean Validation (JSR 380)
  • التعليقات التوضيحية: @NotNull, @NotEmpty, @Size, @Min, @Max, @Email, @Pattern, @Valid
  • إدارة الأخطاء HTTP الاحترافية
  • ResponseEntity وأكواد حالة HTTP (200، 201، 204، 400، 404، 500)
  • @ExceptionHandler و@ControllerAdvice
  • بنية 3 طبقات احترافية

الأعمال العملية:

  • العمل 1: بنية CRUD كاملة (API المنتج مع التحقق وإدارة الأخطاء)

المتطلبات المسبقة: إكمال الوحدة 2

ملاحظة: تحتوي هذه الوحدة على العمل العملي السابق 3 من الوحدة 2، الآن مع كل النظرية اللازمة.


الوحدة 4 - قواعد البيانات في الإنتاج [مكتمل]​

المدة: 2-3 جلسات

المحتوى النظري:

  • PostgreSQL: التثبيت، التكوين، أدوات الإدارة
  • Jakarta مقابل Javax Persistence (التاريخ، الترحيل، التوافق)
  • Hibernate واستراتيجيات DDL (none، validate، update، create، create-drop)
  • لهجات Hibernate والتكوين
  • Lombok: @Data, @Getter, @Setter, @NoArgsConstructor, @AllArgsConstructor, @Builder
  • الترحيل بين قواعد البيانات

الأعمال العملية:

  • العمل 1: ترحيل PostgreSQL والإنتاج (مع Lombok، Jakarta، متعدد قواعد البيانات)

المتطلبات المسبقة: إكمال الوحدة 2 و3

ملاحظة: تحتوي هذه الوحدة على العمل العملي السابق 4 من الوحدة 2، الآن مع كل النظرية اللازمة.


الوحدة 5 - Spring Core - IoC وDI المتقدم [قريبًا]​

المدة: جلستان

المحتوى:

  • عكس التحكم (IoC) المتقدم
  • حقن التبعيات (DI) المتقدم
  • Beans وسياق Spring
  • دورة حياة beans
  • النطاقات (@Singleton, @Prototype, @Request, @Session)
  • التكوين Java مقابل XML

المختبرات:

  • مختبر 5.1: حقن التبعيات المتقدم
  • مختبر 5.2: إدارة beans والنطاقات
  • مختبر 5.3: التكوين المخصص

الوحدة 6 - Spring Data JPA المتقدم [مكتمل]​

المدة: 3 جلسات

المحتوى:

  • اتفاقيات التسمية الكاملة (15+ كلمة مفتاحية: Between، LessThan، GreaterThan، Like، In، IsNull، إلخ.)
  • الانضمامات والعلاقات المعقدة (@OneToMany, @ManyToOne, @ManyToMany)
  • JPQL والاستعلامات المخصصة باستخدام @Query
  • الاستعلامات الأصلية SQL
  • الترقيم والفرز المتقدم
  • تحسين الأداء (التحميل الكسول، استراتيجيات الجلب)

المختبرات:

  • مختبر 6.1: اتفاقيات التسمية المتقدمة
  • مختبر 6.2: الانضمامات الموظف-القسم
  • مختبر 6.3: تمرين المطار-الرحلة-الراكب (20 سؤال)
  • مختبر 6.4: تقييم كامل مع الحلول

ملاحظة: تحتوي هذه الوحدة على محتوى JPA المتقدم الذي كان في الأصل في الوحدة 2 (الفصل 5 الأصلي).


الوحدة 7 - قواعد البيانات والمعاملات [قريبًا]​

المدة: جلستان

المحتوى:

  • تكوين مصادر البيانات
  • إدارة المعاملات (@Transactional)
  • ترحيل المخطط (Flyway، Liquibase)
  • الاتصال بقواعد بيانات مختلفة (MySQL، PostgreSQL، H2)

المختبرات:

  • مختبر 7.1: تكوين متعدد لمصادر البيانات
  • مختبر 7.2: المعاملات والتراجع
  • مختبر 7.3: الترحيل باستخدام Flyway

الوحدة 8 - Spring Security​

المدة: جلستان

المحتوى:

  • المصادقة والتفويض
  • تكوين الأمان
  • JWT (JSON Web Tokens)
  • OAuth2 وSSO
  • حماية CSRF

المختبرات:

  • مختبر 8.1: المصادقة الأساسية
  • مختبر 8.2: JWT Authentication
  • مختبر 8.3: الأدوار والأذونات

الوحدة 9 - الاختبارات مع Spring Boot​

المدة: جلستان

المحتوى:

  • اختبارات الوحدة باستخدام JUnit 5
  • اختبارات التكامل
  • MockMvc وWebTestClient
  • المحاكاة باستخدام Mockito
  • تغطية الكود

المختبرات:

  • مختبر 9.1: اختبارات الوحدة
  • مختبر 9.2: اختبارات التكامل
  • مختبر 9.3: اختبارات REST API

الوحدة 10 - إدارة الاستثناءات والتسجيل​

المدة: جلسة واحدة

المحتوى:

  • @ControllerAdvice والإدارة العامة
  • ردود خطأ مخصصة
  • التسجيل باستخدام SLF4J وLogback
  • مستويات السجلات والتكوين

المختبرات:

  • مختبر 10.1: مدير الاستثناءات العام
  • مختبر 10.2: تكوين التسجيل
  • مختبر 10.3: سجلات منظمة

الوحدة 11 - Spring Boot Actuator والمراقبة​

المدة: جلسة واحدة

المحتوى:

  • نقاط النهاية Actuator
  • المقاييس وفحوصات الصحة
  • المراقبة باستخدام Prometheus وGrafana
  • التتبع الموزع

المختبرات:

  • مختبر 11.1: تكوين Actuator
  • مختبر 11.2: مقاييس مخصصة
  • مختبر 11.3: لوحة مراقبة

الوحدة 12 - النشر والإنتاج​

المدة: جلستان

المحتوى:

  • التغليف (JAR مقابل WAR)
  • ملفات تعريف البيئة
  • النشر على الخوادم
  • الحاويات باستخدام Docker
  • CI/CD باستخدام GitHub Actions

المختبرات:

  • مختبر 12.1: البناء والتغليف
  • مختبر 12.2: Dockerfile وDocker Compose
  • مختبر 12.3: خط أنابيب CI/CD

الوحدة 13 - Spring Cloud والخدمات المصغرة​

المدة: جلستان

المحتوى:

  • بنية الخدمات المصغرة
  • اكتشاف الخدمة (Eureka)
  • التكوين المركزي (Config Server)
  • بوابة API
  • الاتصال بين الخدمات

المختبرات:

  • مختبر 13.1: خادم Eureka والعملاء
  • مختبر 13.2: خادم التكوين
  • مختبر 13.3: بوابة API باستخدام Spring Cloud Gateway

الوحدة 14 - تقنيات متقدمة​

المدة: جلستان

المحتوى:

  • البرمجة التفاعلية (WebFlux)
  • التخزين المؤقت باستخدام Spring Cache (Redis)
  • الرسائل غير المتزامنة (RabbitMQ، Kafka)
  • المهام المجدولة
  • WebSockets

المختبرات:

  • مختبر 14.1: Cache Redis
  • مختبر 14.2: المراسلة باستخدام RabbitMQ
  • مختبر 14.3: WebSocket في الوقت الحقيقي

الوحدة 15 - المشروع النهائي​

المدة: 3 جلسات

المحتوى:

  • مشروع كامل من البداية إلى النهاية
  • تطبيق التجارة الإلكترونية أو نظام الإدارة
  • دمج جميع المفاهيم
  • العرض والمراجعة الكودية

المخرجات:

  • تطبيق كامل وظيفي
  • وثائق تقنية
  • اختبارات كاملة
  • نشر Docker

الوحدة 16 - مشروع E-Contact Backend​

المدة: 3 جلسات

المحتوى:

  • مشروع كامل موجه — API REST لنموذج الاتصال
  • المصادقة والأمان JWT
  • قاعدة بيانات PostgreSQL
  • التكامل مع الواجهة الأمامية
  • النشر باستخدام GitHub Codespaces

الفصول:

  • الفصل 1: البدء مع Codespaces
  • الفصل 2: استكشاف الأخطاء وإصلاحها
  • الفصل 3: التكامل مع الواجهة الأمامية
  • الفصل 4: دورة تكميلية
  • الفصل 5: الأمان المتقدم

الوحدة 17 - التعليقات التوضيحية لـ Spring Boot (مرجع)​

المحتوى:

  • مرجع شامل لجميع التعليقات التوضيحية لـ Spring Boot
  • التعليقات التوضيحية الأساسية (IoC، DI، التكوين)
  • التعليقات التوضيحية للويب وREST
  • التعليقات التوضيحية للبيانات/JPA
  • التعليقات التوضيحية للأمان، الاختبار والمتقدمة
  • قاموس A-Z (120+ تعليق توضيحي)

الفصول:

  • الفصل 1: التعليقات التوضيحية الأساسية
  • الفصل 2: التعليقات التوضيحية للويب/REST
  • الفصل 3: التعليقات التوضيحية للبيانات/JPA
  • الفصل 4: الأمان، الاختبار والمتقدمة
  • الفصل 5: قاموس A-Z

الوحدة 18 - أسئلة المقابلة​

المحتوى:

  • إعداد كامل للمقابلات التقنية Java/Spring Boot
  • أسئلة مصنفة حسب الموضوع ومستوى الصعوبة
  • تمارين الكود، الخوارزميات، إعادة الهيكلة
  • الفخاخ الشائعة والمفاهيم الأساسية

الفصول:

  • الفصل 1: JPA وقاعدة البيانات (N+1، Lazy/Eager، @Transactional)
  • الفصل 2: تمارين إعادة الهيكلة (Guard clauses، Strategy، SRP)
  • الفصل 3: الخوارزميات والهياكل (HashMap، Stack، Binary Search)
  • الفصل 4: تصميم REST وأنماط التصميم (Builder، Singleton، Observer)
  • الفصل 5: تصحيح الأخطاء ومراجعة الكود
  • الفصل 6: الفخاخ الأساسية في Java (== مقابل .equals()، hashCode، final، static)
  • الفصل 7: مجموعات Java (List، Map، Set، Stream API)
  • الفصل 8: ما هو...؟ (DTO، MVC، CRUD، IoC، ORM، Docker، CI/CD، JWT)

الوحدة 19 - مستودعات GitHub (مراجع)​

المحتوى:

  • روابط لجميع مستودعات الدورة
  • مستودع موقع الوثائق (Docusaurus)
  • مستودع مشروع e-contact-backend
  • ملاحق الأمان
  • موارد إضافية

الأدوات والتقنيات​

بيئة التطوير​

  • IDE: IntelliJ IDEA / Eclipse / VS Code
  • JDK: Java 17 أو 21 (LTS)
  • أداة البناء: Maven أو Gradle
  • Git: التحكم في الإصدار

تقنيات Spring​

  • Spring Boot 3.x
  • Spring MVC
  • Spring Data JPA
  • Spring Security
  • Spring Cloud
  • Spring Boot Actuator

قواعد البيانات​

  • H2 (التطوير)
  • MySQL / PostgreSQL (الإنتاج)
  • Redis (التخزين المؤقت)

أدوات إضافية​

  • Docker وDocker Compose
  • Postman / Insomnia
  • Swagger / OpenAPI
  • Lombok

المهارات المكتسبة​

المهارات التقنية​

تطوير الواجهة الخلفية:

  • تصميم وتطوير REST APIs
  • إدارة الاستمرارية باستخدام JPA/Hibernate
  • تأمين تطبيقات الويب
  • الاختبارات الآلية
  • النشر وDevOps

العمارة:

  • أنماط التصميم (MVC، Repository، Service Layer)
  • بنية الخدمات المصغرة
  • فصل المسؤوليات
  • تصميم RESTful APIs

أفضل الممارسات:

  • Clean Code
  • مبادئ SOLID
  • Convention over Configuration
  • تطوير مدفوع بالاختبار (TDD)

المهارات المهنية​

  • منهجية Agile
  • الوثائق التقنية
  • العمل الجماعي
  • حل المشكلات
  • متابعة التكنولوجيا

التقييمات​

الأعمال العملية (50%)​

  • العمل 1: تطبيق ويب CRUD بسيط (10%)
  • العمل 2: API REST مع JPA والأمان (15%)
  • العمل 3: تطبيق كامل مع اختبارات (25%)

المختبرات (20%)​

  • مختبرات أسبوعية (15%)
  • المشاركة والالتزام (5%)

المشروع النهائي (30%)​

  • تطبيق كامل (20%)
  • العرض والوثائق (10%)

المجموع: 100%


المتطلبات المسبقة​

المعرفة السابقة​

  • البرمجة الكائنية (OOP)
  • أساسيات Java
  • مفاهيم الويب (HTTP، HTML، CSS)
  • قواعد البيانات العلائقية (SQL)

المعدات المطلوبة​

  • جهاز كمبيوتر بذاكرة RAM لا تقل عن 8 جيجابايت (يوصى بـ 16 جيجابايت)
  • 50 جيجابايت من المساحة الحرة على القرص
  • اتصال إنترنت مستقر

البرامج المطلوبة​

  • JDK 17 أو 21
  • IntelliJ IDEA Community (أو IDE آخر)
  • MySQL أو PostgreSQL
  • Docker Desktop
  • Postman

موارد الدورة​

الوثائق الرسمية​

الكتب الموصى بها​

  • "Spring Boot in Action" - Craig Walls
  • "Pro Spring Boot 2" - Felipe Gutierrez
  • "Spring Microservices in Action" - John Carnell

المجتمع​


تقدم الدورة​

[مكتمل] الوحدة 1  - مقدمة إلى Spring Boot
[مكتمل] الوحدة 2 - الخطوات الأولى مع Spring Boot
[مكتمل] الوحدة 3 - بنية الطبقات وCRUD
[مكتمل] الوحدة 4 - قواعد البيانات في الإنتاج
[مكتمل] الوحدة 5 - Spring Core - IoC وDI المتقدم
[مكتمل] الوحدة 6 - Spring Data JPA المتقدم
[مكتمل] الوحدة 7 - قواعد البيانات والمعاملات
[مكتمل] الوحدة 8 - Spring Security
[مكتمل] الوحدة 9 - الاختبارات مع Spring Boot
[مكتمل] الوحدة 10 - إدارة الاستثناءات والتسجيل
[مكتمل] الوحدة 11 - Spring Boot Actuator والمراقبة
[مكتمل] الوحدة 12 - النشر والإنتاج
[مكتمل] الوحدة 13 - Spring Cloud والخدمات المصغرة
[مكتمل] الوحدة 14 - تقنيات متقدمة
[مكتمل] الوحدة 15 - المشروع النهائي
[مكتمل] الوحدة 16 - مشروع E-Contact Backend
[مكتمل] الوحدة 17 - التعليقات التوضيحية لـ Spring Boot (مرجع)
[مكتمل] الوحدة 18 - أسئلة المقابلة
[مكتمل] الوحدة 19 - مستودعات GitHub (مراجع)

ابدأ الآن!​

استكشف الوحدات في القائمة الجانبية وابدأ تعلمك لـ Spring Boot!

دورة موفقة وتطوير موفق!


آخر تحديث: مارس 2025