دورة 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 | اختبار الوحدة 4 | PostgreSQL، Jakarta Persistence، Hibernate، Lombok |
| 5 | اختبار الفصل 1 | IoC وحقن التبعيات |
| 5 | اختبار الفصل 2 | أنواع الحقن، @Qualifier |
| 5 | اختبار الفصل 3 | Beans وسياق Spring |
| 5 | اختبار الفصل 4 | النطاقات والتكوين |
| 6 | اختبار الوحدة 6 | JPA المتقدم، الاتفاقيات، العلاقات، @Query |
| 7 | اختبار الوحدة 7 | مصادر البيانات، المعاملات، Flyway |
| 8 | اختبار الوحدة 8 | Spring Security، JWT، OAuth2 |
| 9 | اختبار الوحدة 9 | اختبارات الوحدة، التكامل، MockMvc |
| 10 | اختبار الوحدة 10 | الاستثناءات، التسجيل، Logback |
| 11 | اختبار الوحدة 11 | Actuator، Prometheus، Grafana |
| 12 | اختبار الوحدة 12 | Docker، CI/CD، النشر |
| 13 | اختبار الوحدة 13 | الخدمات المصغرة، Eureka، Gateway |
| 14 | اختبار الوحدة 14 | Cache 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 Boot | 1-2 ساعة |
| العمل 2.2 | قاعدة بيانات H2 (الذاكرة والاستمرارية) | 1-2 ساعة |
الوحدة 3 — بنية الطبقات وCRUD
| العمل | الموضوع | المدة |
|---|---|---|
| العمل 3.1 | بنية CRUD كاملة (موجهة مع الكود) | 4-6 ساعات |
| العمل 3.2 | CRUD مستقل — نفس التمرين، بدون كود (تحدي) | 2-3 ساعات |
الوحدة 4 — قواعد البيانات في الإنتاج
| العمل | الموضوع | المدة |
|---|---|---|
| العمل 4.1 | ترحيل PostgreSQL باستخدام Jakarta Persistence | 2-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 | الترحيل باستخدام Flyway | 1-2 ساعة |
الوحدة 8 — Spring Security
| العمل | الموضوع | المدة |
|---|---|---|
| العمل 8.1 | المصادقة عبر النموذج | 1-2 ساعة |
| العمل 8.2 | مصادقة JWT | 2-3 ساعات |
| العمل 8.3 | الأدوار والأذونات | 2 ساعة |
| العمل 8.4 | OAuth2 مع Google | 2 ساعة |
الوحدة 9 — الاختبارات
| العمل | الموضوع | المدة |
|---|---|---|
| العمل 9.1 | اختبارات الوحدة لطبقة الخدمة | 2 ساعة |
| العمل 9.2 | اختبارات التكامل للمستودعات | 2 ساعة |
| العمل 9.3 | اختبارات REST API باستخدام MockMvc | 2 ساعة |
الوحدة 10 — الاستثناءات والتسجيل
| العمل | الموضوع | المدة |
|---|---|---|
| العمل 10.1 | إدارة الأخطاء المركزية | 2 ساعة |
| العمل 10.2 | نظام تسجيل احترافي | 1-2 ساعة |
الوحدة 11 — المراقبة
| العمل | الموضوع | المدة |
|---|---|---|
| العمل 11.1 | تكوين Actuator | 1-2 ساعة |
| العمل 11.2 | مراقبة Prometheus وGrafana | 2-3 ساعات |
الوحدة 12 — النشر
| العمل | الموضوع | المدة |
|---|---|---|
| العمل 12.1 | Dockerisation كاملة | 2-3 ساعات |
| العمل 12.2 | خط أنابيب CI/CD والنشر | 2-3 ساعات |
الوحدة 13 — الخدمات المصغرة
| العمل | الموضوع | المدة |
|---|---|---|
| العمل 13.1 | خادم Eureka والعملاء | 2 ساعة |
| العمل 13.2 | خادم التكوين | 1-2 ساعة |
| العمل 13.3 | بوابة API | 2 ساعة |
| العمل 13.4 | Feign وResilience4j | 2-3 ساعات |
الوحدة 14 — تقنيات متقدمة
| العمل | الموضوع | المدة |
|---|---|---|
| العمل 14.1 | التخزين المؤقت باستخدام Redis | 2 ساعة |
| العمل 14.2 | المراسلة باستخدام RabbitMQ | 2 ساعة |
| العمل 14.3 | WebSocket في الوقت الحقيقي | 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