kodkod DATA

Docker 4 שיעורים

מה זה?

Docker הוא כלי לאריזת אפליקציות בקונטיינרים — יחידות ריצה מבודדות שכוללות את כל מה שהאפליקציה צריכה כדי לרוץ בכל סביבה, בדיוק באותה צורה. במקום “זה עובד אצלי במחשב”, Docker מבטיח שאפליקציה שרצה על המחשב שלכם תרוץ באותה צורה גם על שרת בענן. זהו כלי סטנדרטי כמעט בכל תעשיית ה-Backend כיום.

מה הולכים ללמוד

  • יסודות Docker — מהם קונטיינרים ואיך הם שונים ממכונות וירטואליות
  • Dockerfile — איך מגדירים ובונים image משלכם לאפליקציה
  • מחזור חיים של קונטיינר — איך מריצים, עוצרים ומנהלים קונטיינרים לאורך זמן

למה זה חשוב

בסיום הקטגוריה תדעו לארוז אפליקציית Backend משלכם לקונטיינר ולהריץ אותה בכל סביבה בלי תלות בהתקנות ידניות. זו יכולת בסיסית ונדרשת בכל צוות פיתוח מודרני, והיא גם ההכנה הישירה לפרויקט המסכם של הקורס — צנרת הנתונים שמורכבת ממספר מיקרוסרביסים הרצים יחד באמצעות Docker.

Python ו-Pandas — ETL 8 שיעורים

מה זה?

Pandas היא ספריית Python המרכזית לעיבוד וניתוח נתונים טבלאיים, והיא הכלי הסטנדרטי בתעשייה לבניית תהליכי ETL (Extract, Transform, Load) — תהליכים שמושכים נתונים ממקור כלשהו, מנקים ומעבדים אותם, ואז טוענים אותם ליעד כמו מסד נתונים או דוח. בעולם האמיתי נתונים כמעט אף פעם לא מגיעים נקיים ומוכנים לשימוש, ו-Pandas נותנת כלים ממוקדים לסינון, מיון, שינוי מבנה וניקוי נתונים בצורה יעילה ובקנה מידה גדול הרבה יותר מעבודה ידנית.

מה הולכים ללמוד

  • יסודות Pandas — מבנה הנתונים המרכזי (DataFrame) ופעולות בסיסיות עליו
  • סינון ומיון (Filtering & Sorting) — איתור וסידור נתונים לפי תנאים
  • טרנספורמציות (Transform) — שינוי, חישוב והתאמת נתונים לצורך הניתוח
  • ניקוי נתונים (Cleaning) — טיפול בערכים חסרים, כפולים ולא תקינים
  • שלב ה-Extract וה-Load ב-ETL — משיכת נתונים ממקור וטעינתם ליעד
  • תזמון ותיעוד (Scheduling & Logging) — הרצת תהליכי ETL באופן אוטומטי ומעקב אחריהם
  • פרויקט מסכם — בניית צנרת ETL מלאה מקצה לקצה

למה זה חשוב

כמעט כל מערכת backend או data שמתמודדת עם נתונים אמיתיים צריכה תהליך שמייבא, מנקה ומעבד מידע ממקורות שונים — קבצים, APIs או מסדי נתונים אחרים — לפני שאפשר להשתמש בו. מי שיודע לבנות צנרת ETL עם Pandas יכול להפוך נתונים גולמיים ומבולגנים למידע שימושי ואמין, ולעשות זאת בצורה אוטומטית וחוזרת ולא כפעולה חד-פעמית ידנית. זו מיומנות ליבה בכל תפקיד שקשור לניתוח נתונים או לתשתיות data בארגון.

C# — יסודות 11 שיעורים

מה זה?

זוהי נקודת הפתיחה של הקורס — היסודות של שפת C# ופלטפורמת ה-.NET. כל שפת תכנות מבוססת על אבני יסוד דומות: משתנים, טיפוסים, זרימת בקרה ופונקציות, וכאן לומדים אותן דרך C# באופן מוצק ומדויק. בלי הבסיס הזה אי אפשר להתקדם לנושאים מתקדמים יותר כמו OOP, SOLID או פיתוח שרתים.

מה הולכים ללמוד

  • מבוא ל-C# ו-.NET — איך קוד C# מתקמפל ורץ על ה-CLR
  • משתנים וטיפוסים — איך מאחסנים ומייצגים נתונים בזיכרון
  • קלט/פלט — איך מקבלים קלט מהמשתמש ומדפיסים פלט
  • זרימת בקרה — תנאים ולולאות לשליטה בסדר הריצה של התוכנית
  • מערכים ורשימות — איך מאחסנים ומנהלים אוספי נתונים
  • פונקציות — איך מפרקים קוד ליחידות לוגיות וניתנות לשימוש חוזר
  • Enums — איך מייצגים קבוצה סגורה של ערכים בעלי שם
  • טיפוסי ערך מול הפניה (Value vs Reference) — איך C# מנהלת זיכרון והעתקת נתונים
  • טיפוסים Nullable — איך מייצגים ערך שיכול להיות ריק בבטחה
  • טיפול בסיסי בחריגות (Exceptions) — איך מזהים ומטפלים בשגיאות זמן ריצה

למה זה חשוב

השליטה ביסודות האלה היא התנאי ההכרחי לכל מה שבא אחר כך בקורס — בין אם זה תכנות מונחה עצמים, בניית שרתי Web או עבודה עם נתונים. מפתח Backend חייב לכתוב קוד C# נכון, קריא ובטוח מבחינת טיפוסים לפני שהוא בכלל ניגש לבניית מערכות מורכבות, ולכן הקטגוריה הזו היא הבסיס שעליו נשען כל שאר הקורס.

C# — תכנות מונחה עצמים 7 שיעורים

מה זה?

תכנות מונחה עצמים (OOP) הוא הדרך שבה C# מארגנת קוד סביב מחלקות ואובייקטים במקום פונקציות בודדות. במקום קוד שטוח וקשה לתחזוקה, OOP מאפשר לבנות מבנים שמדמים ישויות מהעולם האמיתי, לשמור על סדר ולעשות שימוש חוזר בקוד. זהו הבסיס המחשבתי שעליו בנויה כמעט כל מערכת Backend מודרנית.

מה הולכים ללמוד

  • יסודות מחלקות — איך מגדירים מחלקה ויוצרים ממנה אובייקטים
  • Properties ומאפייני גישה (Access Modifiers) — איך שולטים על מי יכול לגשת לנתונים של אובייקט
  • ירושה (Inheritance) — איך מחלקה יורשת התנהגות ממחלקה אחרת ומרחיבה אותה
  • מחלקות Abstract ו-Sealed — איך מגדירים מחלקות שמחייבות או חוסמות הרחבה
  • ממשקים (Interfaces) — איך מגדירים חוזה שכל מחלקה מיישמת בדרכה
  • הכמסה והפשטה (Encapsulation & Abstraction) — איך מסתירים פרטי מימוש וחושפים רק את מה שצריך

למה זה חשוב

OOP הוא שפת היסוד שבה כתובים כמעט כל פרויקטי ה-C# האמיתיים — מ-ASP.NET Core ועד ספריות NuGet. בסיום הקטגוריה תדעו לעצב מחלקות נכונות, למנוע כפילות קוד באמצעות ירושה וממשקים, ולבנות מערכות שקל להרחיב ולתחזק — יכולת קריטית לכל מפתח Backend שעובד בצוות ועל קוד שגדל עם הזמן.

C# — SOLID ותבניות עיצוב 5 שיעורים

מה זה?

הקטגוריה הזו עוברת מ"קוד שעובד" ל"קוד שנכון לתחזק". לאחר שלמדתם OOP, כאן לומדים כלים ועקרונות שמנוסחים כדי לבנות קוד גמיש, ניתן להרחבה ועמיד לשינויים — Generics לכתיבת קוד גנרי ובטוח מבחינת טיפוסים, עקרונות SOLID לעיצוב מחלקות נכון, ותבניות עיצוב (Design Patterns) שהן פתרונות מוכחים לבעיות עיצוב חוזרות.

מה הולכים ללמוד

  • Generics — איך כותבים מחלקות ופונקציות שעובדות עם כל טיפוס בבטחה
  • SOLID: SRP ו-OCP — עקרון האחריות היחידה ועקרון הפתיחות/סגירות להרחבה
  • SOLID: LSP, ISP ו-DIP — עקרון ההחלפה, הפרדת ממשקים והיפוך תלויות
  • תבניות עיצוב (Design Patterns) — פתרונות מוכחים ונפוצים לבעיות עיצוב חוזרות בקוד

למה זה חשוב

הכלים בקטגוריה הזו הם מה שמבדיל בין מפתח שכותב קוד שעובד למפתח שכותב קוד מקצועי. עקרונות SOLID ותבניות עיצוב הם שפה משותפת בתעשייה — הם עולים כמעט בכל ראיון עבודה וכל code review — ובסיום הקטגוריה תדעו לזהות קוד “מסריח”, לעצב מחלקות שקל להרחיב בלי לשבור קוד קיים, ולהשתמש בפתרונות מוכרים במקום להמציא את הגלגל מחדש.

C# — Exceptions, IO, JSON ו-LINQ 7 שיעורים

מה זה?

הקטגוריה הזו מרחיבה את יסודות C# לכיוון עבודה אמיתית עם נתונים: טיפול מעמיק בשגיאות, קריאה וכתיבה של קבצים, המרה בין אובייקטים ל-JSON, ושאילתות נתונים עם LINQ. אלו הכלים שמפתח Backend משתמש בהם כל יום כדי לקרוא קלט, לעבד אותו ולהחזיר תוצאה מסודרת — והם מתכנסים יחד בפרויקט מסכם שממחיש איך כל הכלים האלה עובדים ביחד.

מה הולכים ללמוד

  • Exceptions לעומק — טיפול מתקדם בשגיאות זמן ריצה וניהול זרימת חריגות
  • File I/O — קריאה וכתיבה של קבצים מהדיסק
  • JSON Serialization — המרה בין אובייקטים ב-C# לפורמט JSON ובחזרה
  • LINQ Basics — שאילתות בסיסיות לסינון, מיון והמרה של אוספי נתונים
  • LINQ Advanced — שאילתות מורכבות יותר לצבירה, קיבוץ וחיבור נתונים
  • פרויקט מסכם — בניית מסווג טקסט מבוסס Naive Bayes שמשלב את כל הכלים מהקטגוריה

למה זה חשוב

בסיום הקטגוריה תדעו לקחת נתונים גולמיים — מקובץ, ממשתמש או מרשת — לעבד אותם, לשאול עליהם שאלות עם LINQ ולהמיר אותם ל-JSON להעברה בין מערכות. אלו בדיוק המיומנויות שמפתח Backend או Data נדרש להן יום־יום, והפרויקט המסכם מוכיח שאתם יכולים לחבר את כולן יחד לפתרון עובד ואמיתי.

ASP.NET Core ו-REST 8 שיעורים

מה זה?

ASP.NET Core הוא ה-framework של מיקרוסופט לבניית שרתי Web ו-REST APIs ב-C#. כאן החומר שנלמד עד עכשיו — שפה, OOP, SOLID — מתחבר לעולם האמיתי: בקשות HTTP שמגיעות מלקוח, עוברות עיבוד בשרת, ומחזירות תשובה. זהו הבסיס שעליו בנויים כמעט כל שירותי ה-Backend המודרניים, כולל אלה שנפגוש בהמשך הקורס בצנרת הנתונים.

מה הולכים ללמוד

  • HTTP Basics — איך בקשה ותשובה בנויות, ומהם methods, status codes וheaders
  • CRUD בסיסי (Minimal APIs) — הופכים את ה-methods וה-status codes לקוד אמיתי שמגיב לבקשות
  • Middleware — איך שרשרת רכיבים מעבדת כל בקשה נכנסת בשרת
  • Controllers — איך מארגנים endpoints וקושרים אותם לנתיבי URL
  • Validation — איך מוודאים שהנתונים שמגיעים מהלקוח תקינים לפני שמעבדים אותם
  • Dependency Injection — איך ASP.NET Core מנהל ומזריק תלויות בין רכיבי השרת
  • DAL Pattern (Data Access Layer) — איך מפרידים בין לוגיקת ה-API לגישה למקור הנתונים

למה זה חשוב

בסוף הקטגוריה הזו תדעו לבנות REST API אמיתי — עם ניתוב, ולידציה, הזרקת תלויות ושכבת גישה לנתונים מסודרת — בדיוק כמו שרתי Backend בתעשייה. זו התשתית שעליה מתבססים כמעט כל הפרויקטים בהמשך הקורס, כולל שירותי המיקרוסרביסים בצנרת הנתונים, ולכן ההבנה כאן קריטית לכל עבודת Backend עתידית.

SQL ו-EF Core 8 שיעורים

מה זה?

SQL הוא שפת השאילתות הסטנדרטית לעבודה עם מסדי נתונים רלציוניים, ו-EF Core (Entity Framework Core) הוא ה-ORM (Object-Relational Mapper) הרשמי של .NET שמאפשר לעבוד עם מסד הנתונים דרך אובייקטים ב-C# במקום לכתוב SQL גולמי בכל פעם. הקטגוריה הזו עוסקת גם בעיצוב נכון של מסד הנתונים עצמו — איך מחלקים מידע לטבלאות בלי כפילויות וסתירות — וגם בדרך הנכונה לגשת אליו מתוך קוד אפליקציה, כולל תבניות עיצוב שמפרידות בין לוגיקת הגישה לנתונים לשאר האפליקציה.

מה הולכים ללמוד

  • עיצוב בסיסי נתונים (DB Design) — חלוקת מידע לטבלאות, מפתחות וקשרים נכונים
  • יסודות EF Core — הגדרת מודלים, Migrations וחיבור לאפליקציית C#
  • תבנית Repository עם EF Core — הפרדת לוגיקת הגישה לנתונים משאר הקוד
  • שאילתות ב-EF Core — כתיבת שאילתות LINQ שמתורגמות ל-SQL בצורה יעילה
  • פונקציות חלון ב-SQL (Window Functions) — חישובים מתקדמים כמו דירוג וסיכומים מצטברים
  • פרויקט מסכם — בניית שכבת גישה לנתונים מלאה עם EF Core

למה זה חשוב

כמעט כל מערכת backend מבוססת על מסד נתונים, ו-SQL עדיין השפה הנפוצה ביותר לעבודה איתו בעולם התעשייה. שליטה בעיצוב מסד נתונים נכון מונעת בעיות עתידיות של ביצועים ותקינות מידע, ושליטה ב-EF Core מאפשרת לכתוב קוד גישה לנתונים שקריא, בטוח ונוח לתחזוקה. פונקציות חלון בפרט הן כלי שמופיע כמעט בכל ראיון עבודה לתפקיד backend, ותבנית Repository היא דפוס עיצוב סטנדרטי שמופיע כמעט בכל פרויקט אמיתי.

NoSQL — Mongo, Kafka, Redis 6 שיעורים

מה זה?

NoSQL הוא שם כולל למסדי נתונים ומערכות תשתית שלא מבוססים על טבלאות ויחסים כמו SQL, אלא נבנו כדי לפתור צרכים ספציפיים — גמישות במבנה הנתונים, ביצועים גבוהים, או תקשורת בין שירותים. בקטגוריה הזו נכיר שלוש מערכות מרכזיות: MongoDB כמסד נתונים מסמכים (document database) לנתונים גמישים שלא תמיד מתאימים למבנה טבלאי קשיח, Redis כמטמון (cache) מהיר בזיכרון, ו-Kafka כמערכת הודעות (message broker) להעברת נתונים בין שירותים בזמן אמת. כל אחת מהן פותרת בעיה שמסד נתונים רלציוני רגיל פחות מתאים לה.

מה הולכים ללמוד

  • יסודות MongoDB — עבודה עם מסמכים (documents), אוספים (collections) ופעולות CRUD בסיסיות
  • אגרגציה ב-MongoDB — בניית שאילתות מורכבות לעיבוד וסיכום נתונים
  • יסודות Redis — שימוש במטמון בזיכרון להאצת גישה לנתונים נפוצים
  • יסודות Kafka — הבנת עקרונות ה-messaging: topics, producers ו-consumers
  • עבודה עם Kafka מתוך C# ו-Python — כתיבת קוד שמפיק וצורך הודעות בפועל

למה זה חשוב

מערכות backend בקנה מידה תעשייתי כמעט תמיד משלבות כמה סוגי מסדי נתונים, כל אחד למשימה שהוא הכי טוב בה — SQL לנתונים מובנים, MongoDB לנתונים גמישים, Redis לביצועים, ו-Kafka לתקשורת אסינכרונית בין שירותים. מי שמכיר את הכלים האלה יודע לבחור את הפתרון הנכון לפי הבעיה במקום להשתמש בפתרון אחד לכל דבר, ומסוגל לבנות מערכות שמתמודדות עם עומסים גבוהים ותקשורת מבוזרת — בדיוק כמו שנעשה בהמשך בפרויקט הצוותי.

Elasticsearch ו-Kibana 7 שיעורים

מה זה?

Elasticsearch הוא מנוע חיפוש וניתוח שמאפשר לאתר, לסנן ולנתח כמויות ענק של מידע במהירות גבוהה — בניגוד לחיפוש עם LIKE במסד נתונים רגיל, שלא מתפקד טוב בהיקפים גדולים. הוא בנוי על מנגנון אינדוקס שמאפשר חיפוש טקסט חופשי, סינון מדויק ואגרגציות סטטיסטיות באותה מערכת. Kibana היא כלי הניהול והוויזואליזציה שמלווה את Elasticsearch, ומאפשרת לבדוק נתונים ולבנות דשבורדים בלי לכתוב קוד. יחד הם חלק סטנדרטי בכל מערכת שצריכה חיפוש חכם או ניטור לוגים בקנה מידה גדול.

מה הולכים ללמוד

  • מבוא ל-Elasticsearch — מה זה מנוע חיפוש, איך בונים אינדקס ומהי המבנה הבסיסי שלו
  • ההבדל בין שדות Text ל-Keyword — מתי רוצים חיפוש מטושטש ומתי התאמה מדויקת
  • כתיבת שאילתות (Queries) — חיפוש, סינון ודירוג תוצאות לפי רלוונטיות
  • אגרגציות (Aggregations) — הפקת סטטיסטיקות וסיכומים מתוך נתונים גדולים
  • שימוש בספריית ה-.NET Client — התחברות ל-Elasticsearch מתוך אפליקציית C#
  • יסודות Kibana — חקירת נתונים וויזואליזציה בממשק גרפי

למה זה חשוב

Elasticsearch נמצא מאחורי הרבה מהחיפושים שאנחנו פוגשים כל יום — מחיפוש מוצרים באתר מסחר ועד ניתוח לוגים בזמן אמת במערכות production. מי שיודע לעבוד עם Elasticsearch יכול להוסיף למערכת יכולת חיפוש מתקדמת שמסד נתונים רגיל לא מספק, ולבנות דשבורדים שנותנים תמונת מצב מיידית על מה שקורה במערכת. זה כלי מרכזי בכל תפקיד Backend או Data שדורש עבודה עם נפחי מידע גדולים ודרישות ביצועים גבוהות.

ממונוליט למיקרוסרביסים 5 שיעורים

מה זה?

מיקרוסרביסים היא גישת ארכיטקטורה שבה מפרקים מערכת אחת גדולה (מונוליט) לכמה שירותים קטנים ועצמאיים, שכל אחד מהם אחראי על תחום עסקי מוגדר ומתקשר עם השאר דרך ממשקים ברורים. הגישה הזו פותרת בעיות שמערכות גדולות נתקלות בהן עם הזמן — קוד שקשה לשנות בלי לשבור חלקים אחרים, פריסה (deployment) של הכול ביחד גם כשרק פיצ’ר קטן השתנה, וקושי להרחיב צוותים לעבוד במקביל על אותה מערכת. הבנת מתי כדאי לפרק מערכת לשירותים, ומתי זה רק מוסיף מורכבות מיותרת, היא מיומנות ארכיטקטונית מרכזית.

מה הולכים ללמוד

  • ההבדל בין מונוליט למיקרוסרביסים — היתרונות והחסרונות של כל גישה ומתי לבחור בכל אחת
  • הגדרת Bounded Context — איך מחלקים מערכת לתחומים עסקיים ברורים עם גבולות אחריות
  • תקשורת בין שירותים (Service Communication) — הבדלים בין תקשורת סינכרונית (למשל HTTP) לאסינכרונית (למשל תורים והודעות)
  • RabbitMQ — חלוקת משימות בין קבוצת workers עם תור עבודות (Work Queue) ואישור (Acknowledgment), בניגוד לשידור של Kafka

למה זה חשוב

ברוב מערכות ה-Backend המודרניות בתעשייה, במיוחד במערכות גדולות, העבודה מתבצעת על ארכיטקטורת מיקרוסרביסים ולא על אפליקציה מונוליטית אחת. מי שמבין את העקרונות האלה יודע לתכנן מערכת שאפשר להרחיב ולתחזק לאורך זמן, לבחור נכון בין תקשורת סינכרונית לאסינכרונית בין שירותים, ולהימנע מטעויות עיצוב נפוצות שהופכות מערכת מבוזרת לבלתי ניתנת לניהול. הידע הזה הוא הבסיס הישיר לפרויקט הצוותי שבנוי כולו כמערכת מיקרוסרביסים.

פרויקט צוותי — מערכת מודיעין 7 שיעורים

מה זה?

זהו הפרויקט המסכם של הקורס — פרויקט צוותי שבו בונים מערכת “מודיעין איומים” (threat intelligence) אמיתית, המורכבת מארבעה מיקרוסרביסים עצמאיים שעובדים יחד. הפרויקט מאחד את כל מה שנלמד בקורס — עיצוב ארכיטקטורה, מסדי נתונים, עבודה עם שירותים מבוזרים ותקשורת ביניהם — לכדי מערכת אחת שלמה, ומדמה תהליך עבודה אמיתי בצוות פיתוח: תכנון משותף, חלוקת עבודה בין שירותים, ואינטגרציה של כל החלקים לכדי מוצר אחד עובד.

מה הולכים ללמוד

  • תכנון (Planning) — הגדרת ארכיטקטורת המערכת וחלוקת האחריות בין השירותים
  • שירות ה-Collector — איסוף נתוני איומים גולמיים ממקורות שונים
  • שירות ה-Analyzer — עיבוד וניתוח הנתונים שנאספו לאיתור דפוסים ואיומים
  • שירות ה-Alert — הפקת התראות על סמך תוצאות הניתוח
  • שירות ה-Dashboard — הצגת המידע והתראות בממשק נגיש
  • אינטגרציה מלאה — חיבור כל השירותים יחד עם docker-compose, ועבודה בתהליך צוותי מלא הכולל Pull Requests וסקירת קוד (code review)

למה זה חשוב

זה הפרויקט שבו כל מה שנלמד בקורס עד כה מתחבר לכדי מוצר עבודה אחד — לא תרגיל מבודד, אלא מערכת מרובת שירותים שרצה יחד ומדברת בין חלקיה, בדיוק כמו במערכות תעשייתיות אמיתיות. העבודה בצוות עם Pull Requests וסקירת קוד מקנה ניסיון בתהליך הפיתוח האמיתי שמצפים לו בכל מקום עבודה — לא רק כתיבת קוד, אלא גם תיאום, תקשורת ועבודה משותפת על קוד ריצה אחד. סיום הפרויקט הזה הוא ההוכחה הטובה ביותר ליכולת לבנות ולתחזק מערכת backend מבוזרת מקצה לקצה.

צנרת נתונים — מיקרוסרביסים 6 שיעורים

מה זה?

זהו הפרויקט המסכם של הקורס: בניית צנרת נתונים (Data Pipeline) אמיתית כשלושה מיקרוסרביסים עצמאיים שמדברים ביניהם, במקום אפליקציה מונוליטית אחת. הקטגוריה מחברת יחד כמעט את כל מה שנלמד עד כה — C#, ASP.NET Core, ומודלים לעיבוד נתונים — לכדי מערכת מבוזרת שמדמה איך נראית ארכיטקטורת Backend אמיתית בתעשייה.

מה הולכים ללמוד

  • שירות Ingestion — קליטת נתונים גולמיים מהמקור והכנסתם לצנרת
  • שירות Processing — עיבוד וטרנספורמציה של הנתונים שנקלטו
  • שירות Query — חשיפת הנתונים המעובדים לשאילתות מבחוץ
  • Stream Processing — עיבוד נתונים בזרימה רציפה ובזמן אמת, לא רק באצווה
  • פרויקט מסכם — חיבור כל השירותים יחד באמצעות docker-compose למערכת שלמה ורצה

למה זה חשוב

בסיום הקטגוריה תדעו לתכנן ולהריץ מערכת מיקרוסרביסים אמיתית — לא רק שירות בודד — עם הפרדת אחריות ברורה בין קליטת נתונים, עיבודם והגשתם, ותקשורת בין שירותים דרך אורקסטרציה עם Docker. זו בדיוק הארכיטקטורה שרוב מערכות ה-Backend וה-Data המודרניות בתעשייה בנויות עליה, ולכן הפרויקט הזה הוא שיא הקורס וסיכום מעשי של כל מה שנלמד.