chore(i18n): sync translations with latest source changes (chunk 1/1, 6 changes)

pull/1690/head
localizeflow[bot] 3 weeks ago
parent bfacd83eb0
commit b97ab8d490

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T11:42:09+00:00",
"translation_date": "2026-02-06T13:08:40+00:00",
"source_file": "AGENTS.md",
"language_code": "he"
},

@ -2,46 +2,46 @@
## סקירת הפרויקט
זהו מאגר תוכן חינוכי ללימוד יסודות פיתוח ווב למתחילים. התוכנית היא קורס מקיף בן 12 שבועות שפותח על ידי Microsoft Cloud Advocates, עם 24 שיעורים מעשיים המכסים JavaScript, CSS ו-HTML.
זהו מאגר תוכן חינוכי ללימוד יסודות פיתוח ווב למתחילים. התכנית היא קורס מקיף בן 12 שבועות שפותח על ידי Microsoft Cloud Advocates, וכולל 24 שיעורים מעשיים בנושא JavaScript, CSS ו- HTML.
### רכיבים עיקריים
### רכיבים מרכזיים
- **תוכן חינוכי**: 24 שיעורים מובנים המאורגנים במודולים מבוססי פרויקטים
- **פרויקטים מעשיים**: Terrarium, משחק הקלדה, הרחבת דפדפן, משחק חלל, אפליקציית בנקאות, עורך קוד, ועוזר שיחה מבוסס בינה מלאכותית
- **מבחנים אינטראקטיביים**: 48 מבחנים, כל אחד עם 3 שאלות (הערכות לפני/אחרי השיעור)
- **תמיכה בריבוי שפות**: תרגומים אוטומטיים ל-50+ שפות באמצעות GitHub Actions
- **טכנולוגיות**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (לפרויקטים עם AI)
- **תוכן חינוכי**: 24 שיעורים מובנים המאורגנים למודולים מבוססי פרויקטים
- **פרויקטים מעשיים**: Terrarium, משחק הקלדה, תוסף דפדפן, משחק חלל, אפליקציית בנקאות, עורך קוד ועוזר צ'אט מבוסס AI
- **חידונים אינטראקטיביים**: 48 חידונים עם שלוש שאלות כל אחד (הערכות לפני ואחרי השיעור)
- **תמיכה בריבוי שפות**: תרגומים אוטומטיים ל-50+ שפות דרך GitHub Actions
- **טכנולוגיות**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (לפרויקטי AI)
### ארכיטקטורה
- מאגר חינוכי עם מבנה מבוסס שיעורים
- כל תיקיית שיעור מכילה README, דוגמאות קוד ופתרונות
- פרויקטים עצמאיים בתיקיות נפרדות (quiz-app, פרויקטים שונים של שיעורים)
- מערכת תרגום המשתמשת ב-GitHub Actions (co-op-translator)
- תיעוד מוצג דרך Docsify וזמין גם כ-PDF
- מאגר חינוכי עם מבנה מבוסס שיעורים
- כל תיקיית שיעור כוללת README, דוגמאות קוד ופתרונות
- פרויקטים עצמאיים בתיקיות נפרדות (quiz-app, פרויקטים שונים של שיעורים)
- מערכת תרגום המשתמשת ב-GitHub Actions (co-op-translator)
- תיעוד שמוגש דרך Docsify וזמין גם כ-PDF
## פקודות התקנה
מאגר זה מיועד בעיקר לצריכת תוכן חינוכי. לעבודה עם פרויקטים ספציפיים:
### התקנת המאגר הראשי
### הגדרת המאגר הראשי
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### התקנת אפליקציית מבחנים (Vue 3 + Vite)
### הגדרת אפליקציית חידונים (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # הפעל שרת פיתוח
npm run build # בנייה לפרודקשן
npm run lint # הרץ ESLint
npm run build # בנייה לסביבת ייצור
npm run lint # הפעל את ESLint
```
### פרויקט בנק API (Node.js + Express)
### API לפרויקט בנק (Node.js + Express)
```bash
cd 7-bank-project/api
@ -51,15 +51,15 @@ npm run lint # הרץ ESLint
npm run format # עיצוב עם Prettier
```
### פרויקטים של הרחבות דפדפן
### פרויקטים של תוספי דפדפן
```bash
cd 5-browser-extension/solution
npm install
# עקוב אחר הוראות טעינת התוסף הספציפיות לדפדפן
# עקוב אחר הוראות טעינת תוספים ספציפיות לדפדפן
```
### פרויקטים של משחק חלל
### פרויקטים של משחק החלל
```bash
cd 6-space-game/solution
@ -67,216 +67,216 @@ npm install
# פתח את index.html בדפדפן או השתמש ב-Live Server
```
### פרויקט שיח (Backend בפייתון)
### פרויקט צ'אט (Backend בפייתון)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# הגדר משתנה סביבה GITHUB_TOKEN
# הגדר את משתנה הסביבה GITHUB_TOKEN
python api.py
```
## זרימת עבודה לפיתוח
## תהליך פיתוח
### לתורמים תוכן
### למשתפי פעולה בתוכן
1. **שורש את המאגר** לחשבון הגיטהאב שלך
2. **שכפל את השורש** מקומית
3. **צור ענף חדש** לשינויים שלך
4. בצע שינויים בתוכן השיעור או בדוגמאות הקוד
5. בדוק שינויים בקוד בתיקיות הפרויקט הרלוונטיות
6. הגש בקשות משיכה בהתאם להנחיות התרומה
1. **פצל את המאגר** לחשבון ה-GitHub שלך
2. **שכפל את הפיצול** במחשב המקומי
3. **צור ענף חדש** לשינויים שלך
4. בצע שינויים בתוכן השיעור או בדוגמאות הקוד
5. בדוק שינויים בקוד בתיקיות הפרויקט הרלוונטיות
6. הגש בקשות משיכה בהתאם להנחיות התרומה
### ללומדים
1. שורש או שכפל את המאגר
2. עבור לתיקיות השיעורים לפי סדר
3. קרא את קבצי README בכל שיעור
4. השלם מבחנים לפני השיעור בכתובת https://ff-quizzes.netlify.app/web/
5. עבוד על דוגמאות הקוד בתיקיות השיעורים
6. השלם משימות ואתגרים
7. קח מבחנים לאחר השיעור
1. פצל או שכפל את המאגר
2. עבור לתיקיות השיעור ברצף
3. קרא את קבצי README בכל שיעור
4. סיים את חידוני הקדם-שיעור בכתובת https://ff-quizzes.netlify.app/web/
5. עבה את דוגמאות הקוד בתקיות השיעורים
6. בצע מטלות ואתגרים
7. עשה חידוני סיום שיעור
### פיתוח חי
### פיתוח בזמן אמת
- **תיעוד**: הרץ `docsify serve` בתיקיית השורש (פורט 3000)
- **אפליקציית מבחנים**: הרץ `npm run dev` בתיקיית quiz-app
- **פרויקטים**: השתמש בהרחבת Live Server של VS Code לפרויקטים ב-HTML
- **פרויקטי API**: הרץ `npm start` בתיקיות ה-API המתאימות
- **תיעוד**: הרץ `docsify serve` בתיקיית השורש (פורט 3000)
- **אפליקציית חידונים**: הרץ `npm run dev` בתיקיית quiz-app
- **פרויקטים**: השתמש בתוסף VS Code Live Server לפרויקטי HTML
- **פרויקטים עם API**: הרץ `npm start` בתיקיות ה-API המתאימות
## הוראות בדיקה
### בדיקת אפליקציית מבחנים
### בדיקת אפליקציית חידונים
```bash
cd quiz-app
npm run lint # בדוק תקלות בסגנון הקוד
npm run build # ודא שהבניין מצליח
npm run lint # בדוק בעיות בסגנון הקוד
npm run build # אמת שהבניין מצליח
```
### בדיקת API בנק
### בדיקת API של הבנק
```bash
cd 7-bank-project/api
npm run lint # בדוק בעיות בסגנון הקוד
node server.js # ודא שהשרת מתחיל ללא שגיאות
node server.js # וודא שהשרת מתחיל ללא שגיאות
```
### גישת בדיקה כללית
- זהו מאגר חינוכי ללא בדיקות אוטומטיות מקיפות
- בדיקות ידניות מתמקדות ב:
- הרצת דוגמאות קוד ללא שגיאות
- בדיקת תקינות קישורים בתיעוד
- השלמת תהליכי בנייה של פרויקטים
- דוגמאות בהתאם לפרקטיקות מיטביות
- מאגר חינוכי זה אינו כולל בדיקות אוטומטיות מקיפות
- בדיקות ידניות מתמקדות ב:
- הפעלת דוגמאות קוד ללא שגיאות
- קישורים בתיעוד עובדים כהלכה
- בניית פרויקטים בהצלחה
- דוגמאות עונות על שיטות עבודה מומלצות
### בדיקות לפני הגשה
- הרץ `npm run lint` בתיקיות שבהן יש package.json
- ודא שקישורי Markdown תקינים
- בדוק דוגמאות קוד בדפדפן או ב-Node.js
- ודא שהתרגומים שומרים על המבנה הנכון
- הרץ `npm run lint` בתיקיות עם package.json
- ודא שקישורי Markdown תקינים
- בדוק דוגמאות קוד בדפדפן או ב-Node.js
- ודא שהתרגומים שומרים על מבנה תקין
## קווי הנחיה לסגנון קוד
## הנחיות סגנון קוד
### JavaScript
- השתמש בתחביר מודרני ES6+
- עקוב אחרי הגדרות ESLint סטנדרטיות המסופקות בפרויקטים
- השתמש בשמות משתנים ופונקציות משמעותיים לצורך הבהרת התוכן החינוכי
- הוסף הערות המסבירות מושגים ללומדים
- עיצוב קוד בעזרת Prettier במידה ומוגדר
- השתמש בסינטקס מודרני ES6+
- פעל לפי קונפיגורציות ESLint הסטנדרטיות בפרויקטים
- השתמש בשמות משתנים ופונקציות בעלי משמעות להבהרת התוכן החינוכי
- הוסף הערות המסבירות מושגים ללומדים
- עיצוב באמצעות Prettier במקומות המוגדרים
### HTML/CSS
- אלמנטים סמנטיים של HTML5
- עקרונות עיצוב רספונסיבי
- שיטות מתן שמות ברורות למחלקות
- הערות המסבירות טכניקות CSS ללומדים
- אלמנטים סמאנטיים ב-HTML5
- עקרונות עיצוב רספונסיבי
- שמות מחלקות ברורים ומקובלים
- הערות המסבירות טכניקות CSS ללומדים
### Python
- קווי הנחיה לסגנון לפי PEP 8
- דוגמאות קוד חינוכיות וברורות
- רמיזות טיפוס כאשר מועיל ללמידה
- הנחיות סגנון PEP 8
- דוגמאות קוד ברורות וחינוכיות
- רמזי טיפוס במקומות מסייעים ללמידה
### תיעוד Markdown
- היררכיית כותרות ברורה
- קטעי קוד עם ציון שפת התכנות
- קישורים למשאבים נוספים
- צילומי מסך ותמונות בתיקיות `images/`
- טקסט חלופי לתמונות לצורכי נגישות
- היררכיית כותרות ברורה
- בלוקי קוד עם ציון שפה
- קישורים למשאבים נוספים
- צילומי מסך ותמונות בתיקיות `images/`
- טקסט חלופי (alt) לתמונות לנגישות
### ארגון קבצים
- שיעורים ממוספרים ברצף (1-getting-started-lessons, 2-js-basics וכו')
- לכל פרויקט יש תיקיות `solution/` ולעיתים `start/` או `your-work/`
- תמונות נשמרות בתיקיות `images/` ספציפיות לשיעור
- תרגומים בתיקיות `translations/{language-code}/`
- שיעורים ממוספרים ברצף (1-getting-started-lessons, 2-js-basics וכו')
- בכל פרויקט יש תיקיות `solution/` ולעיתים `start/` או `your-work/`
- תמונות מאוחסנות בתיקיות `images/` המיוחדות לכל שיעור
- תרגומים בתיקיות `translations/{language-code}/`
## בנייה ופריסה
### פריסת אפליקציית מבחנים (Azure Static Web Apps)
### פריסת אפליקציית חידונים (Azure Static Web Apps)
האפליקציה מוגדרת לפריסה ב-Azure Static Web Apps:
```bash
cd quiz-app
npm run build # יוצר תיקיית dist/
# מעלה פריסה באמצעות תהליך עבודה של GitHub Actions בעת דחיפה לענף main
npm run build # יוצר תיקייה dist/
# מפרסם דרך זרימת עבודה של GitHub Actions בעת דחיפה לסניף הראשי
```
קונפיגורציית Azure Static Web Apps:
- **מיקום האפליקציה**: `/quiz-app`
- **מיקום הפלט**: `dist`
- **זרימת עבודה**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
קונפיגורציה ל-Azure Static Web Apps:
- **מיקום האפליקציה**: `/quiz-app`
- **מיקום הפלט**: `dist`
- **תהליך עבודה**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### יצירת PDF לתיעוד
```bash
npm install # התקן את docsify-to-pdf
npm run convert # יצירת PDF מ-docs
npm install # התקן docsify-to-pdf
npm run convert # הפק PDF מ-docs
```
### תיעוד Docsify
```bash
npm install -g docsify-cli # התקן את Docsify באופן גלובלי
docsify serve # הפעל בכתובת localhost:3000
docsify serve # שרת בכתובת localhost:3000
```
### תהליכי בנייה ספציפיים לפרויקט
### תהליכי בנייה לפרויקטים ספציפיים
לתיקיית כל פרויקט עלול להיות תהליך בנייה משלו:
- פרויקטי Vue: `npm run build` יוצר חבילות ייצור
- פרויקטים סטטיים: ללא שלב בנייה, הגשה ישירה של קבצים
לכל תיקיית פרויקט עלול להיות תהליך בנייה משלו:
- פרויקטי Vue: הפקודה `npm run build` יוצרת חבילות ייצור
- פרויקטים סטטיים: אין שלב בנייה, משרתים את הקבצים ישירות
## הנחיות לבקשות משיכה
### פורמט כותרת
### פורמט הכותרת
השתמש בכותרות ברורות ותיאורתיות המציינות את תחום השינוי:
- `[Quiz-app] הוסף מבחן חדש לשיעור X`
- `[Lesson-3] תקן טעות בפרויקט terrarium`
- `[Translation] הוסף תרגום ספרדית לשיעור 5`
- `[Docs] עדכן הוראות התקנה`
השתמש בכותרות ברורות ותיאוריות המצביעות על תחום השינוי:
- `[Quiz-app] הוסף חידון חדש לשיעור X`
- `[Lesson-3] תיקון טעות כתיב בפרויקט terrarium`
- `[Translation] הוסף תרגום בספרדית לשיעור 5`
- `[Docs] עדכן הוראות התקנה`
### בדיקות הנדרשות
### בדיקות נדרשות
לפני הגשת PR:
1. **איכות קוד**:
- הרץ `npm run lint` בתיקיות הפרויקטים הרלוונטיות
- תקן את כל השגיאות והאזהרות
1. **איכות הקוד**:
- הרץ `npm run lint` בתיקיות הפרויקט הרלוונטיות
- תקן את כל שגיאות ואזהרות הלינט
2. **אימות בנייה**:
- הרץ `npm run build` אם רלוונטי
- ודא שאין שגיאות בנייה
2. **אימות בנייה**:
- הרץ `npm run build` אם רלוונטי
- ודא שאין שגיאות בבנייה
3. **אימות קישורים**:
- בדוק את כל קישורי markdown
- ודא שהפניות לתמונות תקינות
3. **בדיקת קישורים**:
- בדוק את כל קישורי Markdown
- ודא שקישורי תמונות תקינים
4. **סקירת תוכן**:
- הגהה של שגיאות כתיב ותחביר
- ודא שדוגמאות הקוד נכונות וחינוכיות
- אימות שהתרגומים שומרים על המשמעות המקורית
4. **סקירת תוכן**:
- הקפד על איות ודקדוק נכונים
- ודא שדוגמאות הקוד נכונות וחינוכיות
- אמת שהתרגומים שומרים על משמעות מקורית
### דרישות לתרומה
- הסכמה ל-CLA של מיקרוסופט (בדיקה אוטומטית בבקשת PR ראשונה)
- עקוב אחרי [קוד ההתנהגות של מיקרוסופט בקוד פתוח](https://opensource.microsoft.com/codeofconduct/)
- עיין ב-[CONTRIBUTING.md](./CONTRIBUTING.md) להנחיות מפורטות
- תייחס מספרי סוגיות בתיאור ה-PR במידת הצורך
- הסכמה ל-CLA של Microsoft (בדיקה אוטומטית בבקשה ראשונה)
- עקוב אחרי [קוד ההתנהגות של Microsoft Open Source](https://opensource.microsoft.com/codeofconduct/)
- ראה את [CONTRIBUTING.md](./CONTRIBUTING.md) להנחיות מפורטות
- הפניה למספרי נושאים בתיאור ה-PR אם רלוונטי
### תהליך סקירה
### תהליך סיקור
- PRs נסקרים על ידי מנהלים וקהילה
- יש עדיפות לבהירות חינוכית
- דוגמאות הקוד צריכות לעקוב אחרי מיטב הפרקטיקות העדכניות
- תרגומים נסקרים לאיכות ודיוק תרבותי
- הפרקים עוברים סיקור על ידי מנהלים וקהילה
- הדגש על בהירות חינוכית
- דוגמאות הקוד צריכות לעקוב אחרי שיטות עבודה מומלצות עדכניות
- תרגומים נבדקים לדיוק ולהתאמה תרבותית
## מערכת תרגום
### תרגום אוטומטי
- משתמש ב-GitHub Actions עם זרימת עבודה co-op-translator
- מתרגם ל-50+ שפות אוטומטית
- קבצים מקוריים בתיקיות הראשיות
- קבצים מתורגמים בתיקיות `translations/{language-code}/`
- משתמש ב-GitHub Actions עם תהליך co-op-translator
- מתרגם ל-50+ שפות אוטומטית
- קבצי מקור בתיקיות הראשיות
- קבצי תרגום נמצאים בתיקיות `translations/{language-code}/`
### הוספת שיפורים ידניים לתרגום
1. אתר את הקובץ ב-`translations/{language-code}/`
2. בצע שיפורים תוך שמירה על המבנה
3. ודא שדוגמאות הקוד נשארות תקינות
4. בדוק תוכן מבחנים מתורגם במידת הצורך
1. אתר קובץ ב- `translations/{language-code}/`
2. בצע שיפורים מבלי לשנות את המבנה
3. וודא שדוגמאות הקוד נשארות תקינות
4. בדוק תכני חידון מקומיים במידת הצורך
### מטה-דאטא לתרגום
### מטא נתונים לתרגום
קבצי תרגום כוללים כותרת מטה-דאטא:
קבצי התרגום כוללים כותרת מטא נתונים:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -288,121 +288,121 @@ CO_OP_TRANSLATOR_METADATA:
}
-->
```
## איתור באגים ופתרון תקלות
## איתור תקלות ופתרון בעיות
### בעיות נפוצות
**אפליקציית המבחנים לא מתחילה**:
- בדוק גרסת Node.js (מומלץ v14+)
- מחק `node_modules` ו-`package-lock.json`, והריץ `npm install` שוב
- בדוק קונפליקטים על הפורט (ברירת מחדל: Vite משתמש בפורט 5173)
**אפליקציית חידונים לא מתחילה**:
- בדוק את גרסת Node.js (v14+ מומלצת)
- מחק את `node_modules` ו-`package-lock.json`, והרץ `npm install` מחדש
- בדוק שעמוד הפורט פנוי (ברירת מחדל: Vite משתמש בפורט 5173)
**שרת ה-API לא עולה**:
- וודא שגרסת Node.js תואמת (node >=10)
- בדוק אם הפורט כבר בשימוש
- ודא שכל התלויות מותקנות עם `npm install`
**שרת ה-API לא מתחיל**:
- ודא שגרסת Node.js עומדת בדרישה מינימלית (node >=10)
- בדוק אם הפורט כבר בשימוש
- ודא שכל התלויות מותקנות עם `npm install`
**הרחבת דפדפן לא נטענת**:
- וודא שקובץ manifest.json מעוצב נכון
- בדוק את קונסולת הדפדפן לשגיאות
- עקוב אחרי הוראות התקנה ספציפיות לדפדפן
**תוסף דפדפן לא נטען**:
- ודא שמניפסט.json מעוצב כהלכה
- בדוק קונסול הדפדפן עבור שגיאות
- עקוב אחרי הוראות התקנת התוסף הספציפיות לדפדפן
**בעיות בפרויקט שיח בפייתון**:
- ודא ש-package openai מותקן: `pip install openai`
- בדוק שהמשתנה הסביבתי GITHUB_TOKEN מוגדר
- בדוק הרשאות גישה ל-GitHub Models
**בעיות בפרויקט צ'אט בפייתון**:
- ודא שחבילת openai מותקנת: `pip install openai`
- ודא שמשתנה הסביבה GITHUB_TOKEN מוגדר
- בדוק הרשאות גישה ל-GitHub Models
**Docsify לא מציג תיעוד**:
- התקן את docsify-cli גלובלית: `npm install -g docsify-cli`
- הרץ מתיקיית השורש של המאגר
- וודא שקובץ `docs/_sidebar.md` קיים
**Docsify לא מגיש את התיעוד**:
- התקן את docsify-cli גלובלי: `npm install -g docsify-cli`
- הרץ מתיקיית השורש של המאגר
- ודא שקיים הקובץ `docs/_sidebar.md`
### טיפים לסביבת פיתוח
- השתמש ב-VS Code עם הרחבת Live Server לפרויקטים ב-HTML
- התקן הרחבות ESLint ו-Prettier לעיצוב עקבי
- השתמש בכלי הפיתוח בדפדפן לאיתור שגיאות ב-JavaScript
- לפרויקטי Vue, התקן את הרחבת Vue DevTools לדפדפן
- השתמש ב-VS Code עם תוסף Live Server לפרויקטי HTML
- התקן תוספי ESLint ו-Prettier לעיצוב עקבי
- השתמש בכלי פיתוח בדפדפן לאיתור שגיאות ב-JavaScript
- לפרויקטי Vue, התקן את תוסף Vue DevTools בדפדפן
### שיקולי ביצועים
- מספר גדול של קבצים מתורגמים (50+ שפות) גורם לשכפולים כבדים
- השתמש ב-clone רדוד אם עובדים רק על תוכן: `git clone --depth 1`
- הוצא תרגומים מחיפושים בזמן עבודה על תוכן באנגלית
- תהליכי בנייה עלולים להיות איטיים בהרצה ראשונה (npm install, בניית Vite)
- כמות גדולה של קבצי תרגום (50+ שפות) גורמת לשכפולים גדולים
- השתמש ב-clone רדוד אם אתה עובד רק על תוכן: `git clone --depth 1`
- אין לחפש בתיקיות התרגום בעת עבודה על תוכן באנגלית
- תהליכי בנייה עשויים להיות איטיים בהרצה הראשונה (npm install, בניית Vite)
## שיקולי אבטחה
### משתני סביבה
- אסור לשמור מפתחות API במאגר
- השתמש בקבצי `.env` (כבר ב-.gitignore)
- תעד משתני סביבה נדרשים ב-README של הפרויקטים
- מפתחות API לא צריכים להיות מועלים למאגר
- השתמש בקבצי `.env` (כבר ב-.gitignore)
- תעד משתני סביבה נדרשים ב-README של הפרויקטים
### פרויקטים בפייתון
### פרויקטי Python
- השתמש בסביבות וירטואליות: `python -m venv venv`
- שמור על עדכון התלויות
- אסימון GitHub צריך להיות עם ההרשאות המינימליות הנדרשות
- השתמש בסביבות וירטואליות: `python -m venv venv`
- שמור על עדכון תלותים
- מפתחות GitHub צריכים להיות בעלי הרשאות מינימליות
### גישה ל-GitHub Models
- נדרשים אסימוני גישה אישיים (PAT) ל-GitHub Models
- שמור את האסימונים כמספרי סביבה
- אין לשמור אסימונים או אישורים בקוד
- יש צורך ב-PAT (Personal Access Tokens) לגישה למודלים של GitHub
- שמור את המפתחות במשתני סביבה
- לעולם אל תעלה מפתחות או אישורים למאגר
## הערות נוספות
### קהל יעד
- מתחילים מוחלטים בפיתוח ווב
- סטודנטים ולומדים עצמאיים
- מורים המשתמשים בתוכנית בכיתות לימוד
- התוכן מעוצב לנגישות ולבניית מיומנויות בהדרגה
- מתחילים מוחלטים בפיתוח ווב
- סטודנטים ולומדים עצמאיים
- מורים המשתמשים בתכנית בכיתות
- התוכן מעוצב לנגישות ולבניית מיומנויות בהדרגה
### פילוסופיה חינוכית
- גישת למידה מבוססת פרויקטים
- בדיקות ידע תכופות (מבחנים)
- תרגילי קידוד מעשיים
- דוגמאות ליישום בעולם האמיתי
- התמקדות ביסודות לפני מסגרות עבודה
- למידה מבוססת פרויקטים
- בדיקות ידע תכופות (חידונים)
- תרגילי קוד מעשיים
- דוגמאות ליישום בעולם האמיתי
- דגש על יסודות לפני מסגרות עבודה
### תחזוקת המאגר
- קהילה פעילה של לומדים ותורמים
- עדכונים שוטפים לתלויות ולתוכן
- מעקב אחר סוגיות ודיונים על ידי מנהלים
- עדכוני תרגומים אוטומטיים באמצעות GitHub Actions
- קהילה פעילה של לומדים ותורמים
- עדכונים שוטפים של תלותים ותוכן
- מעקב אחרי נושאים ודיונים על ידי מנהלים
- עדכוני תרגום אוטומטיים דרך GitHub Actions
### משאבים קשורים
- [מודולים של Microsoft Learn](https://docs.microsoft.com/learn/)
- [משאבי Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) מומלץ ללומדים
- קורסים נוספים: AI גנרטיבי, מדעי הנתונים, ML, מחשוב IoT זמינים
- [מודולים של Microsoft Learn](https://docs.microsoft.com/learn/)
- [משאבי Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) מומלץ ללומדים
- קורסים נוספים: AI גנרטיבי, מדע הנתונים, למידת מכונה, IoT זמינים
### עבודה עם פרויקטים ספציפיים
להוראות מפורטות לפרויקטים בודדים, עיין בקבצי README ב:
- `quiz-app/README.md` - אפליקציית מבחנים ב-Vue 3
- `7-bank-project/README.md` - אפליקציית בנקאות עם אימות משתמש
- `5-browser-extension/README.md` - פיתוח הרחבת דפדפן
- `6-space-game/README.md` - פיתוח משחק מבוסס Canvas
- `9-chat-project/README.md` - פרויקט עוזר שיחה מבוסס AI
להוראות מפורטות על פרויקטים בודדים, עיין בקבצי README ב:
- `quiz-app/README.md` - אפליקציית חידונים ב-Vue 3
- `7-bank-project/README.md` - אפליקציית בנקאות עם אימות
- `5-browser-extension/README.md` - פיתוח תוספי דפדפן
- `6-space-game/README.md` - פיתוח משחק קנבס
- `9-chat-project/README.md` - פרויקט עוזר צ'אט AI
### מבנה מונורפו
למרות שאינו מונורפו קלאסי, המאגר מכיל פרויקטים עצמאיים מרובים:
- כל שיעור עצמאי לחלוטין
- פרויקטים אינם חולקים תלויות
- עבודה על פרויקטים בודדים ללא השפעה על אחרים
- שכפל את כל המאגר עבור חוויית קורס מלאה
למרות שאינו מונורפו קלאסי, מאגר זה מכיל פרויקטים עצמאיים רבים:
- כל שיעור עצמאי
- הפרויקטים אינם חולקים תלותים
- עבוד על פרויקטים בודדים מבלי להשפיע על האחרים
- שכפל את כל המאגר לחוויית הקורס המלאה
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**כתב ויתור**:
מסמך זה תורגם באמצעות שירות תרגום בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). למרות שאנו שואפים לדיוק, יש להכיר בכך שתירגומים אוטומטיים עלולים לכלול שגיאות או אי-דיוקים. יש להסתמך על המסמך המקורי בשפת המקור כמקור המוסמך. עבור מידע קריטי, מומלץ לבצע תרגום מקצועי על ידי אדם. איננו אחראים לכל אי הבנה או פרשנות שגויה הנובעת משימוש בתרגום זה.
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית [Co-op Translator](https://github.com/Azure/co-op-translator). אנו שואפים לדיוק, אך יש להיות מודעים לכך שתרגומים אוטומטיים עשויים להכיל שגיאות או אי-דיוקים. המסמך המקורי בשפת המקור מהווה את המקור הסמכותי. למידע קריטי מומלץ להשתמש בתרגום מקצועי על ידי אדם. אנו לא נושאים באחריות לכל אי הבנה או פרשנות שגויה הנובעת משימוש בתרגום זה.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T11:44:16+00:00",
"translation_date": "2026-02-06T13:10:52+00:00",
"source_file": "AGENTS.md",
"language_code": "id"
},

@ -2,13 +2,13 @@
## Gambaran Proyek
Ini adalah repositori kurikulum pendidikan untuk mengajarkan dasar-dasar pengembangan web kepada pemula. Kurikulum ini adalah kursus 12 minggu yang komprehensif yang dikembangkan oleh Microsoft Cloud Advocates, menampilkan 24 pelajaran praktis yang mencakup JavaScript, CSS, dan HTML.
Ini adalah repositori kurikulum edukasi untuk mengajarkan dasar-dasar pengembangan web kepada pemula. Kurikulum ini adalah kursus komprehensif selama 12 minggu yang dikembangkan oleh Microsoft Cloud Advocates, menampilkan 24 pelajaran praktis yang mencakup JavaScript, CSS, dan HTML.
### Komponen Utama
- **Konten Edukasi**: 24 pelajaran terstruktur yang disusun dalam modul berbasis proyek
- **Proyek Praktis**: Terrarium, Game Mengetik, Ekstensi Browser, Game Antariksa, Aplikasi Perbankan, Editor Kode, dan Asisten Chat AI
- **Kuis Interaktif**: 48 kuis dengan 3 pertanyaan masing-masing (penilaian sebelum/sesudah pelajaran)
- **Konten Edukasi**: 24 pelajaran terstruktur yang diorganisir dalam modul berbasis proyek
- **Proyek Praktis**: Terrarium, Typing Game, Ekstensi Browser, Space Game, Aplikasi Perbankan, Editor Kode, dan Asisten Chat AI
- **Kuis Interaktif**: 48 kuis dengan 3 pertanyaan setiap kuis (penilaian sebelum/sesudah pelajaran)
- **Dukungan Multi-bahasa**: Terjemahan otomatis untuk lebih dari 50 bahasa melalui GitHub Actions
- **Teknologi**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (untuk proyek AI)
@ -16,22 +16,22 @@ Ini adalah repositori kurikulum pendidikan untuk mengajarkan dasar-dasar pengemb
- Repositori edukasi dengan struktur berbasis pelajaran
- Setiap folder pelajaran berisi README, contoh kode, dan solusi
- Proyek mandiri di direktori terpisah (quiz-app, berbagai proyek pelajaran)
- Proyek mandiri dalam direktori terpisah (quiz-app, berbagai proyek pelajaran)
- Sistem terjemahan menggunakan GitHub Actions (co-op-translator)
- Dokumentasi disajikan melalui Docsify dan tersedia dalam format PDF
- Dokumentasi disajikan lewat Docsify dan tersedia sebagai PDF
## Perintah Pengaturan
## Perintah Setup
Repositori ini terutama untuk konsumsi konten edukasi. Untuk bekerja dengan proyek tertentu:
### Pengaturan Repositori Utama
### Setup Repositori Utama
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Pengaturan Quiz App (Vue 3 + Vite)
### Setup Quiz App (Vue 3 + Vite)
```bash
cd quiz-app
@ -59,12 +59,12 @@ npm install
# Ikuti instruksi pemuatan ekstensi khusus browser
```
### Proyek Game Antariksa
### Proyek Space Game
```bash
cd 6-space-game/solution
npm install
# Buka index.html di browser atau gunakan Live Server
# Buka index.html di peramban atau gunakan Live Server
```
### Proyek Chat (Backend Python)
@ -81,21 +81,21 @@ python api.py
### Untuk Kontributor Konten
1. **Fork repositori** ke akun GitHub Anda
2. **Clone fork Anda** secara lokal
3. **Buat cabang baru** untuk perubahan Anda
4. Lakukan perubahan pada konten pelajaran atau contoh kode
5. Uji perubahan kode di direktori proyek terkait
6. Kirim pull request sesuai panduan kontribusi
2. **Clone fork** secara lokal
3. **Buat branch baru** untuk perubahan Anda
4. Ubah konten pelajaran atau contoh kode
5. Uji perubahan kode dalam direktori proyek terkait
6. Ajukan pull request sesuai panduan kontribusi
### Untuk Pembelajar
1. Fork atau clone repositori
2. Buka direktori pelajaran secara berurutan
2. Masuk ke direktori pelajaran secara berurutan
3. Baca file README untuk setiap pelajaran
4. Selesaikan kuis pra-pelajaran di https://ff-quizzes.netlify.app/web/
5. Kerjakan contoh kode dalam folder pelajaran
4. Lengkapi kuis sebelum pelajaran di https://ff-quizzes.netlify.app/web/
5. Kerjakan contoh kode di folder pelajaran
6. Selesaikan tugas dan tantangan
7. Ikuti kuis pasca-pelajaran
7. Ikuti kuis setelah pelajaran
### Pengembangan Langsung
@ -119,68 +119,68 @@ npm run build # Verifikasi build berhasil
```bash
cd 7-bank-project/api
npm run lint # Periksa masalah gaya kode
node server.js # Verifikasi server mulai tanpa kesalahan
node server.js # Verifikasi server berjalan tanpa kesalahan
```
### Pendekatan Pengujian Umum
- Ini adalah repositori edukasi tanpa pengujian otomatis komprehensif
- Pengujian manual difokuskan pada:
- Ini adalah repositori edukasi tanpa pengujian otomatis menyeluruh
- Pengujian manual fokus pada:
- Contoh kode berjalan tanpa error
- Tautan dalam dokumentasi berfungsi dengan benar
- Build proyek selesai dengan sukses
- Tautan di dokumentasi berfungsi dengan benar
- Build proyek berhasil tanpa error
- Contoh mengikuti praktik terbaik
### Pemeriksaan Sebelum Pengiriman
- Jalankan `npm run lint` di direktori yang memiliki package.json
- Verifikasi tautan markdown valid
- Uji contoh kode di browser atau Node.js
- Periksa bahwa terjemahan mempertahankan struktur yang benar
- Uji contoh kode dalam browser atau Node.js
- Periksa struktur terjemahan terjaga dengan baik
## Panduan Gaya Kode
## Pedoman Gaya Kode
### JavaScript
- Gunakan sintaks ES6+ modern
- Ikuti konfigurasi ESLint standar yang disediakan dalam proyek
- Gunakan nama variabel dan fungsi yang bermakna untuk kejelasan edukatif
- Ikuti konfigurasi ESLint standar dalam proyek
- Gunakan nama variabel dan fungsi yang bermakna untuk kejelasan edukasi
- Tambahkan komentar yang menjelaskan konsep untuk pembelajar
- Format menggunakan Prettier jika sudah dikonfigurasi
- Format menggunakan Prettier jika dikonfigurasi
### HTML/CSS
- Elemen HTML5 semantik
- Prinsip desain responsif
- Konvensi penamaan kelas yang jelas
- Konvensi penamaan class yang jelas
- Komentar yang menjelaskan teknik CSS untuk pembelajar
### Python
- Panduan gaya PEP 8
- Pedoman gaya PEP 8
- Contoh kode yang jelas dan edukatif
- Tambahkan tipe hint jika membantu pembelajaran
- Petunjuk tipe (type hints) jika membantu pembelajaran
### Dokumentasi Markdown
- Hirarki judul yang jelas
- Blok kode dengan spesifikasi bahasa
- Tautan ke sumber daya tambahan
- Screenshot dan gambar dalam direktori `images/`
- Tautan ke sumber tambahan
- Screenshot dan gambar di direktori `images/`
- Teks alt untuk gambar demi aksesibilitas
### Organisasi Berkas
- Pelajaran diberi nomor secara berurutan (1-getting-started-lessons, 2-js-basics, dll.)
- Setiap proyek memiliki direktori `solution/` dan seringkali `start/` atau `your-work/`
- Gambar disimpan dalam folder `images/` spesifik tiap pelajaran
- Terjemahan di struktur `translations/{kode-bahasa}/`
- Pelajaran bernomor secara berurutan (1-getting-started-lessons, 2-js-basics, dll.)
- Setiap proyek memiliki direktori `solution/` dan sering `start/` atau `your-work/`
- Gambar disimpan dalam folder `images/` khusus pelajaran
- Terjemahan disimpan dalam struktur `translations/{kode-bahasa}/`
## Build dan Deployment
### Deployment Quiz App (Azure Static Web Apps)
quiz-app dikonfigurasi untuk deployment Azure Static Web Apps:
Quiz-app dikonfigurasi untuk deployment Azure Static Web Apps:
```bash
cd quiz-app
@ -189,39 +189,39 @@ npm run build # Membuat folder dist/
```
Konfigurasi Azure Static Web Apps:
- **Lokasi aplikasi**: `/quiz-app`
- **Lokasi output**: `dist`
- **App location**: `/quiz-app`
- **Output location**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Pembuatan PDF Dokumentasi
### Generasi PDF Dokumentasi
```bash
npm install # Instal docsify-to-pdf
npm run convert # Menghasilkan PDF dari docs
npm run convert # Hasilkan PDF dari docs
```
### Dokumentasi Docsify
```bash
npm install -g docsify-cli # Pasang Docsify secara global
docsify serve # Layani di localhost:3000
docsify serve # Jalankan di localhost:3000
```
### Build Khusus Proyek
Setiap direktori proyek mungkin memiliki proses build sendiri:
- Proyek Vue: `npm run build` membuat bundle produksi
- Proyek statis: Tidak ada langkah build, serve file langsung
- Proyek statis: Tidak ada langkah build, langsung sajikan file
## Panduan Pull Request
## Pedoman Pull Request
### Format Judul
Gunakan judul yang jelas dan deskriptif yang menunjukkan area perubahan:
Gunakan judul yang jelas dan deskriptif menunjukkan area perubahan:
- `[Quiz-app] Tambah kuis baru untuk pelajaran X`
- `[Pelajaran-3] Perbaiki typo di proyek terrarium`
- `[Terjemahan] Tambah terjemahan Spanyol untuk pelajaran 5`
- `[Dok] Perbarui instruksi pengaturan`
- `[Lesson-3] Perbaiki typo pada proyek terrarium`
- `[Translation] Tambah terjemahan Spanyol untuk pelajaran 5`
- `[Docs] Perbarui instruksi setup`
### Pemeriksaan Wajib
@ -229,54 +229,54 @@ Sebelum mengirim PR:
1. **Kualitas Kode**:
- Jalankan `npm run lint` di direktori proyek terkait
- Perbaiki semua error dan peringatan linting
- Perbaiki semua error dan peringatan lint
2. **Verifikasi Build**:
- Jalankan `npm run build` jika berlaku
- Jalankan `npm run build` jika perlu
- Pastikan tidak ada error build
3. **Validasi Tautan**:
- Uji semua tautan markdown
- Verifikasi referensi gambar berfungsi
- Periksa referensi gambar berfungsi
4. **Review Konten**:
- Proofreading pengejaan dan tata bahasa
- Proofreading ejaan dan tata bahasa
- Pastikan contoh kode benar dan edukatif
- Verifikasi terjemahan mempertahankan makna asli
- Verifikasi terjemahan sesuai makna asli
### Persyaratan Kontribusi
- Setuju dengan Microsoft CLA (cek otomatis pada PR pertama)
- Setujui Microsoft CLA (cek otomatis pada PR pertama)
- Ikuti [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Lihat [CONTRIBUTING.md](./CONTRIBUTING.md) untuk panduan detail
- Cantumkan nomor isu pada deskripsi PR jika berlaku
- Lihat [CONTRIBUTING.md](./CONTRIBUTING.md) untuk panduan lengkap
- Referensikan nomor isu dalam deskripsi PR jika ada
### Proses Review
- PR direview oleh pemelihara dan komunitas
- PR direview oleh maintainer dan komunitas
- Kejelasan edukasi menjadi prioritas
- Contoh kode harus mengikuti praktik terbaik saat ini
- Terjemahan direview untuk akurasi dan kesesuaian budaya
- Contoh kode harus mengikuti praktik terbaik terkini
- Terjemahan diperiksa akurasi dan kesesuaian budaya
## Sistem Terjemahan
### Terjemahan Otomatis
- Menggunakan GitHub Actions dengan alur kerja co-op-translator
- Menerjemahkan ke lebih dari 50 bahasa otomatis
- Berkas sumber di direktori utama
- Berkas terjemahan di direktori `translations/{kode-bahasa}/`
- Menggunakan GitHub Actions dengan workflow co-op-translator
- Menerjemahkan secara otomatis ke lebih dari 50 bahasa
- File sumber ada di direktori utama
- File terjemahan ada di direktori `translations/{kode-bahasa}/`
### Menambahkan Perbaikan Terjemahan Manual
### Menambah Perbaikan Terjemahan Manual
1. Cari berkas di `translations/{kode-bahasa}/`
2. Lakukan perbaikan sambil mempertahankan struktur
2. Buat perbaikan sambil menjaga struktur
3. Pastikan contoh kode tetap berfungsi
4. Uji konten kuis lokal jika ada
4. Uji konten kuis yang telah dilokalkan
### Metadata Terjemahan
Berkas terjemahan menyertakan header metadata:
File terjemahan menyertakan header metadata:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -294,26 +294,26 @@ CO_OP_TRANSLATOR_METADATA:
### Masalah Umum
**Quiz app gagal mulai**:
- Periksa versi Node.js (disarankan v14+)
- Periksa versi Node.js (v14+ disarankan)
- Hapus `node_modules` dan `package-lock.json`, jalankan `npm install` lagi
- Periksa konflik port (default: Vite menggunakan port 5173)
- Cek konflik port (default: Vite pakai port 5173)
**Server API tidak mau mulai**:
- Pastikan versi Node.js memadai (node >=10)
- Periksa apakah port sudah digunakan
- Pastikan versi Node.js minimal (node >=10)
- Periksa apakah port sudah dipakai
- Pastikan semua dependensi terinstal dengan `npm install`
**Ekstensi browser tidak bisa dimuat**:
- Pastikan manifest.json diformat dengan benar
- Periksa konsol browser untuk error
- Ikuti instruksi pemasangan ekstensi khusus browser
**Ekstensi browser tidak memuat**:
- Pastikan manifest.json terformat dengan benar
- Cek konsol browser untuk error
- Ikuti instruksi pemasangan ekstensi sesuai browser
**Masalah proyek chat Python**:
- Pastikan paket OpenAI terinstal: `pip install openai`
- Pastikan variabel lingkungan GITHUB_TOKEN diset
- Verifikasi variabel lingkungan GITHUB_TOKEN diset
- Periksa izin akses GitHub Models
**Docsify tidak menyajikan dokumentasi**:
**Docsify tidak menyajikan dokumen**:
- Instal docsify-cli secara global: `npm install -g docsify-cli`
- Jalankan dari direktori root repositori
- Pastikan `docs/_sidebar.md` ada
@ -321,15 +321,15 @@ CO_OP_TRANSLATOR_METADATA:
### Tips Lingkungan Pengembangan
- Gunakan VS Code dengan ekstensi Live Server untuk proyek HTML
- Instal ekstensi ESLint dan Prettier untuk konsistensi format
- Gunakan DevTools browser untuk debugging JavaScript
- Instal ekstensi ESLint dan Prettier untuk format konsisten
- Pakai DevTools browser untuk debugging JavaScript
- Untuk proyek Vue, instal ekstensi Vue DevTools browser
### Pertimbangan Performa
- Banyaknya berkas terjemahan (50+ bahasa) membuat clone penuh besar
- Gunakan shallow clone jika hanya mengerjakan konten: `git clone --depth 1`
- Kecualikan terjemahan dari pencarian saat mengerjakan konten bahasa Inggris
- Jumlah file terjemahan besar (50+ bahasa) menyebabkan clone penuh besar
- Gunakan shallow clone jika hanya bekerja pada konten: `git clone --depth 1`
- Kecualikan terjemahan dari pencarian saat bekerja pada konten bahasa Inggris
- Proses build mungkin lambat saat pertama kali dijalankan (npm install, build Vite)
## Pertimbangan Keamanan
@ -337,13 +337,13 @@ CO_OP_TRANSLATOR_METADATA:
### Variabel Lingkungan
- Kunci API tidak boleh di-commit ke repositori
- Gunakan file `.env` (sudah ada di `.gitignore`)
- Gunakan file `.env` (sudah ditambahkan di `.gitignore`)
- Dokumentasikan variabel lingkungan yang diperlukan di README proyek
### Proyek Python
- Gunakan virtual environment: `python -m venv venv`
- Jaga dependensi tetap terbaru
- Jaga dependensi selalu diperbarui
- Token GitHub harus memiliki izin minimal yang diperlukan
### Akses GitHub Models
@ -354,55 +354,55 @@ CO_OP_TRANSLATOR_METADATA:
## Catatan Tambahan
### Target Audiens
### Audiens Sasaran
- Pemula lengkap dalam pengembangan web
- Pelajar dan pembelajar mandiri
- Guru yang menggunakan kurikulum di kelas
- Konten dirancang untuk aksesibilitas dan pembangunan keterampilan bertahap
- Konten didesain untuk aksesibilitas dan pembangunan keterampilan bertahap
### Filosofi Edukasi
### Filosofi Pendidikan
- Pendekatan pembelajaran berbasis proyek
- Pemeriksaan pengetahuan berkala (kuis)
- Pemeriksaan pengetahuan yang sering (kuis)
- Latihan pengkodean langsung
- Contoh aplikasi dunia nyata
- Fokus pada dasar sebelum framework
### Pemeliharaan Repositori
- Komunitas pembelajar dan kontributor yang aktif
- Pembaruan rutin pada dependensi dan konten
- Isu dan diskusi dipantau oleh pemelihara
- Komunitas aktif pembelajar dan kontributor
- Pemutakhiran rutin pada dependensi dan konten
- Isu dan diskusi dipantau oleh maintainer
- Pembaruan terjemahan otomatis lewat GitHub Actions
### Sumber Daya Terkait
### Sumber Terkait
- [Modul Microsoft Learn](https://docs.microsoft.com/learn/)
- [Sumber Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) direkomendasikan untuk pembelajar
- Kursus tambahan: Generative AI, Data Science, ML, kurikulum IoT tersedia
- Kursus tambahan: Kurikulum Generative AI, Data Science, ML, IoT tersedia
### Bekerja dengan Proyek Tertentu
### Bekerja dengan Proyek Spesifik
Untuk instruksi rinci proyek individu, lihat README di:
Untuk instruksi detail pada proyek individu, lihat file README di:
- `quiz-app/README.md` - aplikasi kuis Vue 3
- `7-bank-project/README.md` - aplikasi perbankan dengan autentikasi
- `5-browser-extension/README.md` - pengembangan ekstensi browser
- `6-space-game/README.md` - pengembangan game berbasis canvas
- `6-space-game/README.md` - pengembangan game berbasis Canvas
- `9-chat-project/README.md` - proyek asisten chat AI
### Struktur Monorepo
Meski bukan monorepo tradisional, repositori ini mengandung banyak proyek independen:
- Setiap pelajaran mandiri
Meskipun bukan monorepo tradisional, repositori ini berisi banyak proyek independen:
- Setiap pelajaran berdiri sendiri
- Proyek tidak berbagi dependensi
- Kerjakan proyek individual tanpa memengaruhi yang lain
- Clone seluruh repositori untuk pengalaman kurikulum lengkap
- Clone seluruh repo untuk pengalaman kurikulum lengkap
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Penafian**:
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya untuk memberikan terjemahan yang akurat, harap diketahui bahwa terjemahan otomatis dapat mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang berwenang. Untuk informasi penting, disarankan menggunakan jasa penerjemah profesional manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau kesalahan interpretasi yang timbul dari penggunaan terjemahan ini.
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya untuk mencapai akurasi, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sah. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas segala kesalahpahaman atau salah tafsir yang timbul dari penggunaan terjemahan ini.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T11:43:19+00:00",
"translation_date": "2026-02-06T13:09:51+00:00",
"source_file": "AGENTS.md",
"language_code": "vi"
},

@ -1,65 +1,65 @@
# AGENTS.md
## Tổng Quan Dự Án
## Tổng quan dự án
Đây là khoá học giáo dục dành cho việc dạy các kiến thức cơ bản về phát triển web cho người mới bắt đầu. Chương trình học là một khóa học toàn diện kéo dài 12 tuần được phát triển bởi Microsoft Cloud Advocates, gồm 24 bài học thực hành về JavaScript, CSS và HTML.
Đây là khoá học giáo dục dùng để dạy các kiến thức cơ bản về phát triển web cho người mới bắt đầu. Chương trình học là một khoá học toàn diện kéo dài 12 tuần do Microsoft Cloud Advocates phát triển, gồm 24 bài học thực hành về JavaScript, CSS và HTML.
### Các Thành Phần Chính
### Thành phần chính
- **Nội dung giáo dục**: 24 bài học có cấu trúc, tổ chức theo các module dự án
- **Dự án thực tế**: Terrarium, Trò chơi gõ chữ, Tiện ích mở rộng trình duyệt, Trò chơi không gian, Ứng dụng ngân hàng, Trình soạn thảo mã, và Trợ lý trò chuyện AI
- **Bài kiểm tra tương tác**: 48 bài kiểm tra với 3 câu hỏi mỗi bài (đánh giá trước và sau bài học)
- **Hỗ trợ đa ngôn ngữ**: Dịch tự động sang hơn 50 ngôn ngữ qua GitHub Actions
- **Công nghệ**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (cho các dự án AI)
- **Nội dung giáo dục**: 24 bài học có cấu trúc được tổ chức thành các mô-đun dựa trên dự án
- **Dự án thực hành**: Terrarium, Trò chơi gõ phím, Tiện ích trình duyệt, Trò chơi vũ trụ, Ứng dụng ngân hàng, Trình soạn thảo mã, và Trợ lý Chat AI
- **Bài kiểm tra tương tác**: 48 bài kiểm tra với mỗi bài có 3 câu hỏi (đánh giá trước/sau bài học)
- **Hỗ trợ đa ngôn ngữ**: Dịch tự động cho hơn 50 ngôn ngữ qua GitHub Actions
- **Công nghệ**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (cho dự án AI)
### Kiến Trúc
### Kiến trúc
- Khoá học giáo dục với cấu trúc theo từng bài học
- Mỗi thư mục bài học chứa tệp README, ví dụ mã và giải pháp
- Các dự án độc lập trong các thư mục riêng biệt (quiz-app, các dự án bài học khác nhau)
- Hệ thống dịch sử dụng GitHub Actions (co-op-translator)
- Tài liệu được phục vụ qua Docsify và có định dạng PDF
- Khoá học có cấu trúc dựa trên các bài học
- Mỗi thư mục bài học chứa README, ví dụ mã và giải pháp
- Các dự án độc lập được đặt trong các thư mục riêng (quiz-app, các dự án bài học khác nhau)
- Hệ thống dịch thuật dùng GitHub Actions (co-op-translator)
- Tài liệu được phục vụ qua Docsify và có sẵn dưới dạng PDF
## Lệnh Cài Đặt
## Lệnh thiết lập
Kho lưu trữ này chủ yếu dùng để học tập nội dung. Để làm việc với các dự án cụ thể:
Kho chứa này chủ yếu để tiêu thụ nội dung giáo dục. Để làm việc với các dự án cụ thể:
### Cài Đặt Kho Chính
### Thiết lập kho chính
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Cài Đặt Ứng Dụng Quiz (Vue 3 + Vite)
### Thiết lập ứng dụng Quiz (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # Khởi động máy chủ phát triển
npm run dev # Bắt đầu máy chủ phát triển
npm run build # Xây dựng cho sản xuất
npm run lint # Chạy ESLint
```
### API Dự Án Ngân Hàng (Node.js + Express)
### API dự án Ngân hàng (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
npm start # Khởi động máy chủ API
npm run lint # Chạy ESLint
npm run format # Định dạng với Prettier
npm run format # Định dạng bằng Prettier
```
### Dự Án Tiện Ích Mở Rộng Trình Duyệt
### Dự án tiện ích trình duyệt
```bash
cd 5-browser-extension/solution
npm install
# Làm theo hướng dẫn nạp tiện ích mở rộng dành cho trình duyệt cụ thể
# Làm theo hướng dẫn tải tiện ích mở rộng cụ thể cho trình duyệt
```
### Dự Án Trò Chơi Không Gian
### Dự án trò chơi vũ trụ
```bash
cd 6-space-game/solution
@ -67,7 +67,7 @@ npm install
# Mở index.html trong trình duyệt hoặc sử dụng Live Server
```
### Dự Án Trò Chuyện (Backend Python)
### Dự án Chat (Backend Python)
```bash
cd 9-chat-project/solution/backend/python
@ -76,207 +76,207 @@ pip install openai
python api.py
```
## Quy Trình Phát Triển
## Quy trình phát triển
### Dành Cho Người Đóng Góp Nội Dung
### Dành cho người đóng góp nội dung
1. **Fork kho lưu trữ** vào tài khoản GitHub của bạn
2. **Clone fork của bạn** về máy tính
3. **Tạo nhánh mới** cho các thay đổi của bạn
2. **Clone kho fork** về máy cục bộ của bạn
3. **Tạo nhánh mới** để thực hiện thay đổi
4. Thay đổi nội dung bài học hoặc ví dụ mã
5. Kiểm tra các thay đổi mã trong các thư mục dự án liên quan
5. Kiểm tra thay đổi mã trong các thư mục dự án tương ứng
6. Gửi pull request theo hướng dẫn đóng góp
### Dành Cho Người Học
### Dành cho người học
1. Fork hoặc clone kho lưu trữ
2. Truy cập tuần tự vào các thư mục bài học
3. Đọc tệp README cho từng bài học
2. Điều hướng tuần tự vào các thư mục bài học
3. Đọc các file README cho mỗi bài học
4. Hoàn thành các bài kiểm tra trước bài học tại https://ff-quizzes.netlify.app/web/
5. Làm theo các ví dụ mã trong các thư mục bài học
6. Hoàn thành các bài tập và thử thách
5. Thực hành các ví dụ mã trong thư mục bài học
6. Hoàn thành bài tập và thách thức
7. Tham gia các bài kiểm tra sau bài học
### Phát Triển Trực Tiếp
### Phát triển trực tiếp
- **Tài liệu**: Chạy `docsify serve` tại thư mục gốc (cổng 3000)
- **Tài liệu**: Chạy `docsify serve` thư mục gốc (cổng 3000)
- **Ứng dụng Quiz**: Chạy `npm run dev` trong thư mục quiz-app
- **Dự án**: Sử dụng tiện ích mở rộng Live Server của VS Code cho các dự án HTML
- **Dự án**: ng tiện ích mở rộng Live Server của VS Code cho các dự án HTML
- **Dự án API**: Chạy `npm start` trong các thư mục API tương ứng
## Hướng Dẫn Kiểm Tra
## Hướng dẫn kiểm thử
### Kiểm Tra Ứng Dụng Quiz
### Kiểm thử ứng dụng Quiz
```bash
cd quiz-app
npm run lint # Kiểm tra các vấn đề về phong cách mã
npm run build # Xác minh việc xây dựng thành công
npm run build # Xác minh xây dựng thành công
```
### Kiểm Tra API Ngân Hàng
### Kiểm thử API Ngân hàng
```bash
cd 7-bank-project/api
npm run lint # Kiểm tra các vấn đề về phong cách
node server.js # Xác minh máy chủ khởi động không có lỗi
npm run lint # Kiểm tra các vấn đề về kiểu
node server.js # Xác minh máy chủ khởi động không có lỗi
```
### Cách Thức Kiểm Tra Chung
### Phương pháp kiểm thử chung
- Đây là khoá học không có các bài kiểm tra tự động toàn diện
- Kiểm tra thủ công tập trung vào:
- Đây là kho giáo dục không có bài kiểm thử tự động đầy đủ
- Kiểm thử thủ công tập trung vào:
- Ví dụ mã chạy không lỗi
- Các liên kết trong tài liệu hoạt động đúng
- Dự án được build thành công
- Ví dụ tuân theo các thực hành tốt nhất
- Các liên kết trong tài liệu hoạt động chính xác
- Xây dựng dự án hoàn thành thành công
- Ví dụ phù hợp với các thực hành tốt nhất
### Kiểm Tra Trước Khi Gửi
### Kiểm tra trước khi gửi
- Chạy `npm run lint` trong các thư mục có file package.json
- Kiểm tra các liên kết markdown hợp lệ
- Kiểm tra các ví dụ mã trên trình duyệt hoặc Node.js
- Kiểm tra bảo toàn cấu trúc khi dịch thuật
- Chạy `npm run lint` trong các thư mục có package.json
- Xác minh các liên kết markdown hợp lệ
- Kiểm thử các ví dụ mã trong trình duyệt hoặc Node.js
- Kiểm tra rằng bản dịch giữ đúng cấu trúc
## Hướng Dẫn Phong Cách Mã
## Hướng dẫn phong cách mã
### JavaScript
- Sử dụng cú pháp ES6+ hiện đại
- Tuân theo cấu hình ESLint tiêu chuẩn trong dự án
- Đặt tên biến và hàm có ý nghĩa rõ ràng để dễ hiểu cho người học
- Thêm chú thích giải thích khái niệm cho học viên
- Sử dụng cú pháp hiện đại ES6+
- Tuân theo cấu hình ESLint chuẩn trong các dự án
- Sử dụng tên biến, hàm rõ ràng, dễ hiểu cho mục đích giáo dục
- Thêm chú thích giải thích khái niệm cho người học
- Định dạng bằng Prettier nếu được cấu hình
### HTML/CSS
- Các phần tử HTML5 ngữ nghĩa
- Các phần tử HTML5 ngữ nghĩa
- Nguyên tắc thiết kế đáp ứng
- Quy tắc đặt tên class rõ ràng
- Quy ước đặt tên lớp rõ ràng
- Chú thích giải thích kỹ thuật CSS cho người học
### Python
- Tuân thủ hướng dẫn PEP 8
- Tuân thủ quy chuẩn style PEP 8
- Ví dụ mã rõ ràng, mang tính giáo dục
- Gợi ý kiểu dữ liệu nếu có lợi cho việc học
- Gợi ý type annotation khi hữu ích cho học tập
### Tài Liệu Markdown
### Tài liệu Markdown
- Cấu trúc tiêu đề rõ ràng
- Các khối mã kèm định dạng ngôn ngữ
- Liên kết tới tài nguyên bổ sung
- Khối mã có chỉ định ngôn ngữ
- Liên kết đến tài nguyên bổ sung
- Ảnh chụp màn hình và hình ảnh trong thư mục `images/`
- Văn bản thay thế cho hình ảnh nhằm hỗ trợ truy cập
- Văn bản alt cho hình ảnh để hỗ trợ truy cập
### Tổ Chức Tệp Tin
### Tổ chức file
- Các bài học đánh số theo thứ tự (1-getting-started-lessons, 2-js-basics, v.v.)
- Bài học đánh số tuần tự (1-getting-started-lessons, 2-js-basics, v.v.)
- Mỗi dự án có thư mục `solution/` và thường có `start/` hoặc `your-work/`
- Ảnh được lưu trong các thư mục `images/` riêng cho từng bài học
- Dịch thuật nằm trong cấu trúc `translations/{language-code}/`
- Hình ảnh nằm trong thư mục `images/` theo bài học
- Bản dịch trong cấu trúc `translations/{language-code}/`
## Xây Dựng và Triển Khai
## Xây dựng và Triển khai
### Triển Khai Ứng Dụng Quiz (Azure Static Web Apps)
### Triển khai ứng dụng Quiz (Azure Static Web Apps)
Ứng dụng quiz được cấu hình để triển khai trên Azure Static Web Apps:
Ứng dụng quiz-app được cấu hình cho triển khai Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Tạo thư mục dist/
# Triển khai qua quy trình làm việc GitHub Actions khi đẩy lên nhánh chính
# Triển khai qua workflow GitHub Actions khi đẩy lên nhánh main
```
Cấu hình Azure Static Web Apps:
- **Vị trí ứng dụng**: `/quiz-app`
- **Vị trí đầu ra**: `dist`
- **Quy trình làm việc**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Tạo Tài Liệu PDF
### Tạo PDF tài liệu
```bash
npm install # Cài đặt docsify-to-pdf
npm run convert # Tạo file PDF từ docs
npm run convert # Tạo PDF từ docs
```
### Tài Liệu Docsify
### Tài liệu Docsify
```bash
npm install -g docsify-cli # Cài đặt Docsify toàn cục
docsify serve # Phục vụ trên localhost:3000
```
### Xây Dựng Dự Án Riêng Lẻ
### Xây dựng dự án riêng
Mỗi thư mục dự án có thể có quy trình xây dựng riêng:
- Dự án Vue: `npm run build` tạo các gói sản xuất
- Dự án tĩnh: không có bước xây dựng, phục vụ tệp trực tiếp
- Dự án Vue: `npm run build` tạo gói sản xuất
- Dự án tĩnh: không cần bước xây dựng, phục vụ tệp trực tiếp
## Hướng Dẫn Pull Request
## Hướng dẫn Pull Request
### Định Dạng Tiêu Đ
### Định dạng tiêu đ
Sử dụng tiêu đề rõ ràng, mô tả vùng thay đổi:
- `[Quiz-app] Thêm bài quiz mới cho bài học X`
Sử dụng tiêu đề rõ ràng, mô tả khu vực thay đổi:
- `[Quiz-app] Thêm bài trắc nghiệm mới cho bài học X`
- `[Lesson-3] Sửa lỗi chính tả trong dự án terrarium`
- `[Translation] Thêm bản dịch tiếng Tây Ban Nha cho bài học 5`
- `[Docs] Cập nhật hướng dẫn cài đặt`
- `[Docs] Cập nhật hướng dẫn thiết lập`
### Kiểm Tra Bắt Buộc
### Các kiểm tra bắt buộc
Trước khi gửi PR:
1. **Chất Lượng Mã**:
- Chạy `npm run lint` trong các thư mục dự án liên quan
- Sửa mọi lỗi và cảnh báo lint
1. **Chất lượng mã**:
- Chạy `npm run lint` trong các thư mục dự án bị ảnh hưởng
- Sửa tất cả lỗi và cảnh báo lint
2. **Xác Minh Build**:
- Chạy `npm run build` nếu có thể
- Đảm bảo không có lỗi build
2. **Xác minh xây dựng**:
- Chạy `npm run build` nếu áp dụng
- Đảm bảo không có lỗi khi xây dựng
3. **Kiểm Tra Liên Kết**:
3. **Xác thực liên kết**:
- Kiểm tra tất cả liên kết markdown
- Xác nhận các tham chiếu ảnh hoạt động
- Xác minh tham chiếu hình ảnh hoạt động
4. **Rà Soát Nội Dung**:
- Đọc lại chính tả và ngữ pháp
- Đảm bảo ví dụ mã đúng và mang tính giáo dục
- Đảm bảo bản dịch giữ nguyên ý nghĩa gốc
4. **Đánh giá nội dung**:
- Đọc kỹ chính tả và ngữ pháp
- Đảm bảo ví dụ mã chính xác và mang tính giáo dục
- Xác minh bản dịch giữ nguyên ý nghĩa gốc
### Yêu Cầu Đóng Góp
### Yêu cầu đóng góp
- Đồng ý với CLA của Microsoft (kiểm tra tự động khi PR đầu tiên)
- Tuân theo [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Đồng ý với Microsoft CLA (kiểm tra tự động khi PR đầu tiên)
- Tuân th [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Xem [CONTRIBUTING.md](./CONTRIBUTING.md) để biết hướng dẫn chi tiết
- Tham chiếu số issue trong mô tả PR nếu cần
- Tham chiếu số issue trong mô tả PR nếu có
### Quy Trình Đánh Giá
### Quy trình xem xét
- PR được duyệt bởi người quản lý và cộng đồng
- Ưu tiên tính rõ ràng trong giáo dục
- Ví dụ mã phải tuân theo thực hành tốt nhất hiện nay
- Dịch thuật được xem xét về độ chính xác và phù hợp văn hóa
- PR được xem xét bởi duy trì viên và cộng đồng
- Ưu tiên sự rõ ràng giáo dục
- Ví dụ mã nên tuân theo các thực hành tốt nhất hiện hành
- Bản dịch được kiểm tra về độ chính xác và phù hợp văn hóa
## Hệ Thống Dịch Thuật
## Hệ thống dịch thuật
### Dịch Thuật Tự Động
### Dịch tự động
- Sử dụng GitHub Actions với quy trình co-op-translator
- Tự động dịch sang hơn 50 ngôn ngữ
- Tệp nguồn nằm trong các thư mục chính
- Tệp dịch nằm trong thư mục `translations/{language-code}/`
- Sử dụng GitHub Actions với workflow co-op-translator
- Dịch tự động sang hơn 50 ngôn ngữ
- Tệp nguồn trong các thư mục chính
- Tệp dịch trong thư mục `translations/{language-code}/`
### Thêm Cải Tiến Dịch Thuật Thủ Công
### Thêm cải tiến dịch thủ công
1. Tìm tệp trong `translations/{language-code}/`
2. Thực hiện cải tiến mà vẫn giữ nguyên cấu trúc
1. Xác định tệp trong `translations/{language-code}/`
2. Cải tiến giữ nguyên cấu trúc
3. Đảm bảo ví dụ mã vẫn hoạt động
4. Kiểm tra nội dung quiz đã bản địa hóa
4. Kiểm thử nội dung bài kiểm tra được địa phương hóa
### Metadata Dịch Thuật
### Metadata bản dịch
Các tệp dịch bao gồm phần đầu metadata:
Các tệp dịch có đầu mục metadata:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Gỡ Lỗi và Khắc Phục Sự C
## Gỡ lỗi và Khắc phục sự c
### Các Vấn Đề Thường Gặp
### Vấn đề phổ biến
**Ứng dụng quiz không khởi động được**:
- Kiểm tra phiên bản Node.js (khuyến nghị v14+)
- Xóa `node_modules``package-lock.json`, chạy lại `npm install`
- Kiểm tra xung đột cổng (mặc định: Vite dùng cổng 5173)
- X `node_modules``package-lock.json`, chạy lại `npm install`
- Kiểm tra xung đột cổng (mặc định Vite dùng cổng 5173)
**API server không khởi động**:
- Đảm bảo Node.js đáp ứng yêu cầu tối thiểu (node >=10)
- Kiểm tra xem cổng có đang bị sử dụng không
- Đảm bảo đã cài đặt đầy đủ dependencies bằng `npm install`
**Máy chủ API không khởi động được**:
- Xác minh phiên bản Node.js đủ điều kiện (node >=10)
- Kiểm tra xem cổng đã được sử dụng chưa
- Đảm bảo đã cài đặt tất cả phụ thuộc qua `npm install`
**Tiện ích mở rộng trình duyệt không tải được**:
- Kiểm tra manifest.json hợp lệ
- Kiểm tra console trình duyệt xem có lỗi
- Làm theo hướng dẫn cài đặt riêng cho trình duyệt
**Tiện ích mở rộng trình duyệt không tải**:
- Kiểm tra manifest.json đúng định dạng
- Xem console trình duyệt báo lỗi
- Thực hiện theo hướng dẫn cài tiện ích mở rộng cho từng trình duyệt
**Vấn đề dự án chat Python**:
- Đảm bảo đã cài đặt gói OpenAI: `pip install openai`
- Kiểm tra biến môi trường GITHUB_TOKEN đã thiết lập
- Đảm bảo đã cài OpenAI package: `pip install openai`
- Xác minh biến môi trường GITHUB_TOKEN đã được đặt
- Kiểm tra quyền truy cập GitHub Models
**Docsify không phục vụ tài liệu**:
- Cài đặt docsify-cli toàn cục: `npm install -g docsify-cli`
- Chạy từ thư mục gốc kho lưu trữ
- Kiểm tra tồn tại tệp `docs/_sidebar.md`
- Cài docsify-cli toàn cục: `npm install -g docsify-cli`
- Chạy ở thư mục gốc kho
- Kiểm tra file `docs/_sidebar.md` tồn tại
### Mẹo Môi Trường Phát Triển
### Mẹo môi trường phát triển
- Dùng VS Code với tiện ích Live Server cho dự án HTML
- Cài đặt tiện ích ESLint và Prettier để định dạng nhất quán
- Sử dụng DevTools trình duyệt để gỡ lỗi JavaScript
- Với Vue, cài đặt tiện ích mở rộng Vue DevTools trên trình duyệt
- Cài ESLint và Prettier để định dạng nhất quán
- ng DevTools trình duyệt để gỡ lỗi JavaScript
- Với dự án Vue, cài tiện ích Vue DevTools trên trình duyệt
### Cân Nhắc Hiệu Năng
### Cân nhắc hiệu năng
- Số lượng tệp dịch lớn (50+ ngôn ngữ) khiến việc clone toàn bộ nặng
- Dùng clone nông nếu chỉ làm việc với nội dung: `git clone --depth 1`
- Loại trừ thư mục dịch khỏi tìm kiếm khi xử lý nội dung tiếng Anh
- Số lượng tệp dịch lớn (50+ ngôn ngữ) làm clone đầy đủ nặng
- Dùng clone nông nếu chỉ làm việc trên nội dung: `git clone --depth 1`
- Loại trừ bản dịch khỏi tìm kiếm khi làm việc với tiếng Anh
- Quy trình build có thể chậm lần đầu (npm install, build Vite)
## Cân Nhắc Về Bảo Mật
## Cân nhắc bảo mật
### Biến Môi Trường
### Biến môi trường
- Không bao giờ commit khoá API vào kho lưu trữ
- Sử dụng file `.env` (đã có trong `.gitignore`)
- Ghi chú biến môi trường cần thiết trong README dự án
- Khoá API không bao giờ được đưa vào kho
- Dùng file `.env` (đã nằm trong `.gitignore`)
- Tài liệu các biến môi trường cần thiết trong README dự án
### Dự Án Python
### Dự án Python
- Sử dụng môi trường ảo: `python -m venv venv`
- Cập nhật dependencies thường xuyên
- Token GitHub nên có quyền tối thiểu cần thiết
- ng môi trường ảo: `python -m venv venv`
- Cập nhật phụ thuộc thường xuyên
- Token GitHub chỉ có quyền tối thiểu cần thiết
### Quyền Truy Cập GitHub Models
### Truy cập GitHub Models
- Cần Personal Access Tokens (PAT) để truy cập GitHub Models
- Token nên lưu trữ dưới dạng biến môi trường
- Cần dùng Personal Access Tokens (PAT) cho GitHub Models
- Token được lưu làm biến môi trường
- Không bao giờ commit token hoặc thông tin đăng nhập
## Ghi Chú Bổ Sung
## Ghi chú bổ sung
### Đối Tượng Hướng Đến
### Đối tượng mục tiêu
- Người mới hoàn toàn với phát triển web
- Sinh viên và người tự học
- Giáo viên sử dụng chương trình trong lớp học
- Nội dung thiết kế để dễ tiếp cận và phát triển kỹ năng tuần tự
- Học sinh và người tự học
- Giáo viên ng chương trình trong lớp học
- Nội dung thiết kế dễ tiếp cận và xây dựng kỹ năng dần dần
### Triết Lý Giáo Dục
### Triết lý giáo dục
- Phương pháp học theo dự án
- Kiểm tra kiến thức thường xuyên (quiz)
- Bài tập mã hóa thực hành
- Ví dụ ứng dụng thực tế
- Tập trung vào nền tảng trước khi học framework
- Phương pháp học dựa trên dự án
- Kiểm tra kiến thức thường xuyên (bài kiểm tra)
- Bài tập mã thực hành
- Ví dụ áp dụng thực tế
- Tập trung kiến thức cơ bản trước các framework
### Bảo Trì Kho Lưu Trữ
### Bảo trì kho
- Cộng đồng học tập và đóng góp tích cực
- Cập nhật thường xuyên các dependencies và nội dung
- Theo dõi issues và thảo luận bởi người quản lý
- Cộng đồng học và đóng góp năng động
- Cập nhật phụ thuộc và nội dung định kỳ
- Giám sát issue và thảo luận bởi duy trì viên
- Cập nhật dịch tự động qua GitHub Actions
### Tài Nguyên Liên Quan
### Tài nguyên liên quan
- [Modules học Microsoft Learn](https://docs.microsoft.com/learn/)
- [Tài nguyên Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) khuyến nghị cho người học
- Các khoá học bổ sung: AI Sinh tạo, Khoa học dữ liệu, ML, IoT
- [Các module Microsoft Learn](https://docs.microsoft.com/learn/)
- [Tài nguyên Trung tâm Sinh viên](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) khuyên dùng cho người học
- Các khoá học bổ sung: AI tổng hợp, Khoa học dữ liệu, ML, IoT có sẵn
### Làm Việc Với Các Dự Án Cụ Thể
### Làm việc với dự án cụ thể
Hướng dẫn chi tiết về các dự án riêng lẻ xem trong tệp README:
Hướng dẫn chi tiết cho từng dự án xem trong README tại:
- `quiz-app/README.md` - Ứng dụng quiz Vue 3
- `7-bank-project/README.md` - Ứng dụng ngân hàng xác thực
- `5-browser-extension/README.md` - Phát triển tiện ích mở rộng trình duyệt
- `6-space-game/README.md` - Phát triển trò chơi Canvas
- `7-bank-project/README.md` - Ứng dụng ngân hàng với xác thực
- `5-browser-extension/README.md` - Phát triển tiện ích trình duyệt
- `6-space-game/README.md` - Phát triển trò chơi canvas
- `9-chat-project/README.md` - Dự án trợ lý chat AI
### Cấu Trúc Monorepo
### Cấu trúc Monorepo
Mặc dù không phải monorepo truyền thống, kho này chứa nhiều dự án độc lập:
- Mỗi bài học là riêng biệt
- Các dự án không chia sẻ dependencies
- Làm việc trên từng dự án riêng không ảnh hưởng lẫn nhau
- Clone toàn bộ kho để trải nghiệm toàn bộ khóa học
Mặc dù không phải monorepo truyền thống, kho này chứa nhiều dự án độc lập:
- Mỗi bài học là tự chứa
- Dự án không chia sẻ phụ thuộc
- Làm việc trên dự án riêng mà không ảnh hưởng đến dự án khác
- Clone toàn bộ kho để trải nghiệm đầy đủ chương trình học
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Tuyên bố từ chối trách nhiệm**:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng việc dịch tự động có thể chứa lỗi hoặc sai sót. Tài liệu gốc bằng ngôn ngữ gốc nên được xem là nguồn chính xác và uy tín nhất. Đối với những thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm đối với bất kỳ sự hiểu nhầm hay giải thích sai lệch nào phát sinh từ việc sử dụng bản dịch này.
**Tuyên bố miễn trách nhiệm**:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo tính chính xác, xin lưu ý rằng bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ nguyên bản nên được coi là nguồn tin chính thức. Đối với những thông tin quan trọng, khuyến nghị sử dụng dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu nhầm hoặc giải thích sai nào phát sinh từ việc sử dụng bản dịch này.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save