מה נלמד בקורס?
מבואות ל Node.js
מילות פתיח והסבר על הקורס:
מילות פתיח.
מה נלמד בקורס ומהו node.js.
דגשים לעבודה על מערכת קודבוקס.
כתיבת שרת בסיסי:
בניית שרת ראשון פשוט.
הסבר מהו שרת ואיך נטפל בhttp requst ו-http response.
מהם status codes.
איך מחזירים json לעומת html.
טיפול בסיסי בבקשות:
מהם endpoints בכתיבת שרת API.
כיצד נגדיר מספר נתיבים לטיפול בבקשות.
טיפול מתקדם בבקשות לשרת:
איך בנויה בקשת http.
מהם status codes.
הסבר על התנהגות ומבנה השרת.
הכנה לכתיבת RestfulApi:
מה זה RestfulApi.
מה זה QueryString ואיך נשתמש בזה.
מהו request params, ואיך נשתמש בקונספט זה בבניית השרת.
שימוש במערכת הקבצים
קריאת קבצים ב Node.js:
עבודה מול מערכת הקבצים fs.
שימוש בפונקציית readFile בצורה אסינכורנית.
שימוש בפונקציית readFileSync בצורה סינכרונית.
הכרת מודולים fs ו path.
כתיבת שרת עם מספר endpoints.
שמירת קבצי טקסט וג׳ייסונים.
שמירת קבצים ב Node.js:
שימוש בפונקציית writeFile בצורה אסינכורנית לכתיבת קבצים.
שימוש בפונקציית writeFileSync בצורה סינכרונית לכתיבת קבצים.
טיפול בשגיאות בשרת.
מחיקת קבצים ב Node.js:
מחיקת קבצים באמצעות unlinkSync.
שימוש בתיקיות במערכת הקבצים.
פונקציונאלית לבדיקה אם קובץ קיים במערכת הקבצים.
טיפול בבקשות POST :
ארכיטקטורת שרת בסיסית.
טיפול בבקשות post.
שימוש בפוסטמן ליצירת בקשות מסוג getו-post.
שימוש בולידציה בשרת:
כתיבת שרת משמעותי ראשון.
שימוש בולידאציות ושגיאות בשרת.
כתיבת שרת עם מספר בקשות הקורא כותב ומוחק קבצים ממערכת ההפעלה.
כתיבת שרת עם Express
מבוא לשימוש ב Express:
רקע לספריית express.
שימוש ספריית express לכתיבת שרת.
שימוש בפונקציות send, sendStatus וjson.
טיפול בבקשות מסוג get.
טיפול ב Querystring ו Params:
שימוש ב~req.query עם express.
שימו ב req.params עם express.
כתיבת שרת המנהל data באמצעות מערכת הקבצים
ניהול בקשות POST בשרת:
טיפול בבקשות מסוג post עם expess.
הסבר על middleware use.
הוספת מספר ולידאציות בשרת
אריטקטורת השרת:
ארכיטקטורת שרת ב expess.
שימוש ב express.Router למידול השרת.
הוספה ובניית controllers בשרת.
הוספה ובניית services בשרת.
שימוש ב Middlewares ב Express:
מהם middlewares ב express.
כיצד מטמיעים נכון middlewares ב controllers.
כתיבת ולידציות באמצעות middlewares.
מונגו DB
מבוא למסד הנתונים מונגו:
מבוא מסדי נתונים
ההבדלים בין database רלציוני וdatabase לא רלציוני.
מבוא למונגו ושימושים נפוצים.
חיבור שרת ה express למונגו.
מבוא לשימוש ב mongo gui.
שמירה ושליפת רשומות:
הגדרת סכמות ומעבר על ה types הנפוצים.
יצירת רשומה במונגו עם פונקציית save.
חיפוש רשומות במונגו על ידי פונקציית find.
שימוש בפילטרים נפוצים כגון gte$, $gt, $lte, $lt ו eq$.
שאילתות מתקדמות במונגו:
מהו מזהה ObjectId.
הסבר על פעולת הtoJSON.
שימוש בשאילתת findById.
עדכון רשומות באמצעות findByIdAndUpdate.
שימוש באופרטור inc$.
שימוש פונקציית ה count במונגו
הגדרת ערכי default לסכמה במונגו
שאילתת מחיקה ואופרטורים בסיסים:
מחיקת רשומות על ידי findByIdAndDelete.
שימוש באופרטור push$.
טיפול בבקשות כישלון בשרת (500)
אגרגציות מתקדמות במונגו:
בניית pipeline מתקדם ושימוש באגרגציות.
מיון נתונים בשאילתת מונגו.
שימוש באופרטורים נפוצים כגון sum, $max, $min$ ו avg$.
קשרים מתקדמים בין קולקשיינים במונגו:
הסבר על חיבור קולקשנים על ידי ref.
שימוש בפעולת ה populate במונגו.
הסבר מעמיק על יצירת id במונגו.
אבטחת השרת עם Authentication
מבוא ל JWT:
רקע לאבטחה בשרת.
הכרת החבילה jsonwebtoken.
יצירת token ראשון.
שימוש בפעולת ה verify לבדיקת תקינות ה token.
כתיבת API מאובטח:
הוספת שכבת אבטחה לשרת.
בניית Middleware לאבטחת השרת.
החלת אבטחה עם שימוש ב JWT על השרת שנכתוב.
שימוש בספריית crypto:
רקע לשימוש בהצפנה השרת.
הסבר על פונקציות hash לערבול סיסמאות.
הוספת salt בסכמה לאבטחה מוגברת.
הסברים על תקיפות אפשריות.
תקשורת בין שרתים:
שימוש בספריית axios ליצירת תקשורת בין שרתים.
שליפת נתונים משרת אחר באמצעות שרת שנכתוב.
שמירת נתונים במונגו של נתונים שנשלפים משרת חיצוני.
מילות סיום:
מילות סיום לסיכום הקורס.