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

pull/1774/head
localizeflow[bot] 4 months ago
parent 9809c0af45
commit 165e807554

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T13:43:45+00:00",
"original_hash": "d5eeb6e975b5864d8da52d4a41941f8d",
"translation_date": "2026-03-27T21:20:58+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "he"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-06T13:51:56+00:00",
"translation_date": "2026-03-27T21:27:49+00:00",
"source_file": "AGENTS.md",
"language_code": "he"
},

@ -2,23 +2,23 @@
## סקירת הפרויקט
זהו מאגר תוכן חינוכי ללימוד יסודות פיתוח ווב למתחילים. תוכן הלימוד הוא קורס מקיף של 12 שבועות שפותח על ידי Microsoft Cloud Advocates, הכולל 24 שיעורים מעשיים המכסים JavaScript, CSS ו-HTML.
זהו מאגר תוכן חינוכי ללימוד יסודות פיתוח ווב למתחילים. הקורס הינו קורס מקיף בן 12 שבועות שפותח על ידי Microsoft Cloud Advocates, וכולל 24 שיעורים מעשיים המכסים JavaScript, CSS ו-HTML.
### רכיבים מרכזיים
- **תוכן חינוכי**: 24 שיעורים מובנים המחולקים למודולים מבוססי פרויקטים
- **פרויקטים מעשיים**: Terrarium, משחק הקלדה, הרחבת דפדפן, משחק חלל, אפליקציית בנקאות, עורך קוד ועוזר שיחה מבוסס AI
- **חידונים אינטראקטיביים**: 48 חידונים עם 3 שאלות כל אחד (הערכות לפני/אחרי שיעור)
- **תמיכה רב-שפתית**: תרגומים אוטומטיים ל-50+ שפות דרך GitHub Actions
- **תוכן חינוכי**: 24 שיעורים מובנים המאורגנים במודולים מבוססי פרויקטים
- **פרויקטים מעשיים**: Terrarium, משחק הקלדה, תוסף לדפדפן, משחק חלל, אפליקציית בנקאות, עורך קוד ועוזר צ'אט מבוסס AI
- **חידונים אינטראקטיביים**: 48 חידונים עם 3 שאלות בכל אחד (הערכות לפני/אחרי השיעור)
- **תמיכה בריבוי שפות**: תרגומים אוטומטיים ל-50+ שפות באמצעות GitHub Actions
- **טכנולוגיות**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (לפרויקטים מבוססי AI)
### ארכיטקטורה
- מאגר חינוכי עם מבנה מבוסס שיעורים
- בכל תיקיית שיעור יש README, דוגמאות קוד ופתרונות
- כל תיקיית שיעור מכילה README, דוגמאות קוד ופתרונות
- פרויקטים עצמאיים בתיקיות נפרדות (quiz-app, פרויקטים שונים של שיעורים)
- מערכת תרגום באמצעות GitHub Actions (co-op-translator)
- תיעוד שמוגש דרך Docsify וזמין גם כ-PDF
- תיעוד המוגש דרך Docsify וזמין גם כ-PDF
## פקודות התקנה
@ -31,17 +31,17 @@ 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 build # בנייה לייצור
npm run lint # הרץ ESLint
```
### API פרויקט הבנק (Node.js + Express)
### API לפרויקט בנק (Node.js + Express)
```bash
cd 7-bank-project/api
@ -51,12 +51,12 @@ npm run lint # הרץ ESLint
npm run format # עיצוב עם Prettier
```
### פרויקטים של הרחבת דפדפן
### פרויקטים של תוספי דפדפן
```bash
cd 5-browser-extension/solution
npm install
# עקוב אחר ההוראות לטעינת תוספים ספציפיים לדפדפן
# עקוב אחר הוראות טעינת התוסף הספציפיות לדפדפן
```
### פרויקטים של משחק חלל
@ -67,7 +67,7 @@ npm install
# פתח את index.html בדפדפן או השתמש ב-Live Server
```
### פרויקט השיחה (Python Backend)
### פרויקט צ'אט (Backend בפייתון)
```bash
cd 9-chat-project/solution/backend/python
@ -76,207 +76,208 @@ pip install openai
python api.py
```
## תהליך הפיתוח
### לתורמים תוכן
## זרימת עבודה לפיתוח
1. **בצע Fork למאגר** לחשבון ה-GitHub שלך
2. **Clone את ה-Fork** למחשב המקומי
### לתורמי תוכן
1. **פעל למזלג את המאגר** לחשבון ה-GitHub שלך
2. **שכפל את המזלג** באופן מקומי
3. **צור ענף חדש** לשינויים שלך
4. בצע שינויים בתוכן השיעור או בדוגמאות הקוד
5. בדוק שינויים בקוד בתיקיות הפרויקטים הרלוונטיות
6. שלח Pull requests לפי הנחיות התרומה
6. שלח בקשות משיכה לפי הנחיות התרומה
### ללומדים
1. בצע Fork או Clone למאגר
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 הרלוונטיות
- **אפליקציית חידונים**: הרץ `npm run dev` בתיקיית quiz-app
- **פרויקטים**: השתמש בתוסף Live Server של VS Code לפרויקטי HTML
- **פרויקטים מבוססי API**: הרץ `npm start` בתיקיות ה-API המתאימות
## הוראות בדיקה
### בדיקת אפליקציית החידון
### בדיקת אפליקציית החידונים
```bash
cd quiz-app
npm run lint # בדוק בעיות בסגנון הקוד
npm run build # וודא שההידור מצליח
npm run build # אמת שהבנייה מצליחה
```
### בדיקת API הבנק
### בדיקת API של הבנק
```bash
cd 7-bank-project/api
npm run lint # בדוק בעיות סגנון קוד
node server.js # אשר שהשרת מתחיל ללא שגיאות
npm run lint # בדוק בעיות בסגנון הקוד
node server.js # אמת את התחלת השרת ללא שגיאות
```
### גישת בדיקה כללית
### גישה כללית לבדיקות
- מאגר חינוכי ללא בדיקות אוטומטיות יסודיות
- בדיקה ידנית ממוקדת ב:
- דוגמאות קוד רצות ללא שגיאות
- זהו מאגר חינוכי ללא בדיקות אוטומטיות רחבות היקף
- בדיקות ידניות מתמקדות ב:
- הרצת דוגמאות קוד ללא שגיאות
- קישורים בתיעוד תקינים
- בניית פרויקטים מצליחה
- דוגמאות בהתאם לפרקטיקות מומלצות
- בניית הפרויקט מצליחה
- דוגמאות מממשות נהלים מיטביים
### בדיקות לפני שליחה
- הרץ `npm run lint` בתיקיות עם package.json
- אמת קישורים ב-Markdown
- בדוק דוגמאות קוד בדפדפן או Node.js
- ודא שכל הקישורים במרקדאון תקינים
- בדוק דוגמאות קוד בדפדפן או ב-Node.js
- ודא שהתרגומים שומרים על מבנה תקין
## קווים מנחים לסגנון קוד
## הנחיות סגנון קוד
### JavaScript
- השתמש בתחביר מודרני ES6+
- פעל לפי הגדרות ESLint סטנדרטיות במיזמים
- השתמש בשמות משתנים ופונקציות ברורים לחינוך
- הוסף הערות המסבירות מושגים ללומדים
- עיצוב עם Prettier במקומות המוגדרים
- השתמש בסינטקס מודרני ES6+
- פעל לפי קונפיגורציות ESLint סטנדרטיות בפרויקטים
- השתמש בשמות משתנים ופונקציות משמעותיים להבהרת התוכן החינוכי
- הוסף הערות שמסבירות מושגים ללומדים
- עיצוב קוד באמצעות Prettier כאשר מוגדר
### HTML/CSS
- אלמנטים סמנטיים ב-HTML5
- עקרונות עיצוב רספונסיבי
- קונבציוסיות שמות מחלקות ברורה
- הערות המסבירות טכניקות CSS ללומדים
- שמות מחלקות ברורים לפי קונבנציות
- הערות שמסבירות טכניקות CSS ללומדים
### Python
- קווים מנחים לפי PEP 8
- הנחיות סגנון PEP 8
- דוגמאות קוד ברורות וחינוכיות
- רמזים לסוגים היכן שמועילים ללמידה
- רמיזות טיפוס (type hints) היכן שמועיל ללמידה
### תיעוד Markdown
- היררכיית כותרות ברורה
- קטעי קוד עם ציון שפה
- בלוקים עם ציון שפת הקוד
- קישורים למשאבים נוספים
- צילומי מסך ותמונות בתיקיות `images/`
- טקסט אלטרנטיבי לתמונות לנגישות
- טקסט חלופי לתמונות לנגישות
### ארגון קבצים
- שיעורים ממוספרים ברצף (1-getting-started-lessons, 2-js-basics וכו)
- לכל פרויקט תיקיית `solution/` ולרוב `start/` או `your-work/`
- תמונות בתיקיות `images/` עבור כל שיעור
- שיעורים ממוספרים ברצף (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:
האפליקציה quiz-app מוגדרת לפריסה ב-Azure Static Web Apps:
```bash
cd quiz-app
npm run build # יוצר תיקייה dist/
# מפרסם דרך תהליך GitHub Actions בעת דחיפה ל-main
# מפרסם דרך תהליך עבודה של GitHub Actions כאשר דוחפים ל-main
```
הגדרות Azure Static Web Apps:
- **מיקום אפליקציה**: `/quiz-app`
- **מיקום פלט**: `dist`
- **תהליכי עבודה**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
- **מיקום האפליקציה**: `/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
npm install -g docsify-cli # התקן את Docsify באופן גלובלי
docsify serve # שירות בכתובת localhost:3000
```
### בניות ספציפיות לפרויקט
### תהליכי בנייה ספציפיים לפרויקט
לכל תיקיית פרויקט עשוי להיות תהליך בנייה משלה:
- פרויקטי Vue: `npm run build` ליצירת חבילות ייצור
- פרויקטים סטטיים: אין שלב בנייה, שמירת קבצים ישירות
לכל תיקיית פרויקט עשוי להיות תהליך בנייה משלו:
- פרויקטים ב-Vue: `npm run build` ליצירת חבילות הפקה
- פרויקטים סטטיים: ללא בנייה, מגישים קבצים ישירות
## קווים מנחים לבקשת משיכה
## הנחיות לבקשות משיכה
### פורמט כותרת
### פורמט הכותרת
השתמש בכותרות ברורות ומתארות המצביעות על תחום השינוי:
השתמש בכותרות ברורות ותיאוריות המצביעות על תחום השינוי:
- `[Quiz-app] הוסף חידון חדש לשיעור X`
- `[Lesson-3] תקן טעות כתיב בפרויקט terrarium`
- `[Lesson-3] תקן שגיאת כתיב בפרויקט terrarium`
- `[Translation] הוסף תרגום ספרדי לשיעור 5`
- `[Docs] עדכן הוראות התקנה`
### בדיקות חובה
### בדיקות נדרשות
לפני שליחת PR:
לפני שליחת בקשה:
1. **איכות קוד**:
- הרץ `npm run lint` בתיקיות הפרויקט הרלוונטיות
- תקן את כל שגיאות והזהרות
- תקן את כל שגיאות האיתור
2. **אימות בנייה**:
- הרץ `npm run build` אם רלוונטי
- ודא שאין שגיאות בבנייה
2. **אימות בניה**:
- הרץ `npm run build` אם נדרש
- ודא שאין שגיאות בניה
3. **אימות קישורים**:
- בדוק את כל קישורי Markdown
- אמת הפניות התמונה
3. **בדיקת קישורים**:
- בדוק את כל הקישורים במרקדאון
- וודא הפניות לתמונות תקינות
4. **בדיקת תוכן**:
- בדוק איות ודקדוק
- ודא שדוגמאות הקוד נכונות וחינוכיות
- אמת שהתרגומים שומרים על משמעות
4. **סקירת תוכן**:
- הגהה לאיות ודקדוק
- ודא שהדוגמאות נכונות וחינוכיות
- בדוק שתרגומים שומרים על המשמעות המקורית
### דרישות תרומה
### דרישות לתרומה
- הסכמה ל-CLA של Microsoft (בדיקה אוטומטית בבקשה הראשונה)
- פעל לפי [קוד ההתנהגות של מיקרוסופט בקוד פתוח](https://opensource.microsoft.com/codeofconduct/)
- הסכמה ל-Microsoft CLA (בדיקה אוטומטית בבקשה הראשונה)
- פעול לפי [קוד ההתנהגות של מיקרוסופט בקוד פתוח](https://opensource.microsoft.com/codeofconduct/)
- ראה [CONTRIBUTING.md](./CONTRIBUTING.md) להנחיות מפורטות
- כלול במידת הצורך מספרי נושאים בתיאור הבקשה
- הפנייה למספרי נושאים בתיאור הבקשה אם רלוונטי
### תהליך סקירה
- בקשות משיכה ייבחנו על ידי מנהלים והקהילה
- עדיפות להקפדה על בהירות חינוכית
- דוגמאות קוד יעמדו בפרקטיקות עדכניות ומומלצות
- התרגומים יבדקו לדיוק ותאימות תרבותית
- בקשות משיכה נבדקות על ידי מנהלי המאגר והקהילה
- מועדפת בהירות חינוכית
- דוגמאות קוד יש לעקוב אחרי שיטות עבודה מומלצות עדכניות
- תרגומים נבדקים לדיוק ולקליטת תרבותית
## מערכת תרגום
### תרגום אוטומטי
- משתמש ב-GitHub Actions עם תהליך co-op-translator
- מתרגם ל-50+ שפות אוטומטית
- קבצי מקור בתיקיות הראשיות
- קבצים מתורגמים בתיקיות `translations/{language-code}/`
- משתמש ב-GitHub Actions עם זרימת עבודה co-op-translator
- מתרגם ל-50+ שפות באופן אוטומטי
- קבצי המקור בתיקיות הראשיות
- קבצים מתורגמים ב-`translations/{language-code}/`
### הוספת שיפורים ידניים לתרגום
1. אתר קובץ בתיקיית `translations/{language-code}/`
1. אתר קובץ ב-`translations/{language-code}/`
2. בצע שיפורים תוך שמירה על המבנה
3. ודא שדוגמאות הקוד עדיין מתפקדות
4. בדוק כל תוכן חידון מומלץ
3. ודא שדוגמאות קוד ממשיכות לפעול
4. בדוק כל תוכן חידון ממוקם
### מטא-נתוני תרגום
### מטאנתוני תרגום
לקבצים מתורגמים יש כותרת מטא-נתונים:
לקבצים מתורגמים יש כותרת מטאנתונים:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +290,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)
- בדוק אם הפורט תפוס
- וודא שגרסת Node.js עומדת בדרישה (node >=10)
- בדוק אם הפורט בשימוש כבר
- ודא שכל התלויות מותקנות עם `npm install`
**הרחבת הדפדפן לא נטענת**:
- וודא שמניפסט.json מעוצב כראוי
- בדוק את קונסול הדפדפן לשגיאות
- פעל לפי הוראות התקנת ההרחבה הספציפיות לדפדפן
**תוסף הדפדפן לא נטען**:
- בדוק ש-manifest.json מעוצב כראוי
- בדוק קונסול הדפדפן לשגיאות
- עקוב אחר הוראות ההתקנה הספציפיות לדפדפן
**בעיות בפרויקט השיחה בפייתון**:
- ודא שהחבילה OpenAI מותקנת: `pip install openai`
- ודא שמשתנה הסביבה GITHUB_TOKEN מוגדר
- בדוק הרשאות גישה ל-GitHub Models
**בעיות בפרויקט הצ'אט בפייתון**:
- וודא שהתקנת את חבילת OpenAI: `pip install openai`
- ודא משתנה הסביבה GITHUB_TOKEN מוגדר
- בדוק הרשאות גישה למודלים ב-GitHub
**Docsify לא מפעיל תיעוד**:
**Docsify לא מציג תיעוד**:
- התקן docsify-cli גלובלית: `npm install -g docsify-cli`
- הרץ מהספרייה השורשית של המאגר
- בדוק שקובץ `docs/_sidebar.md` קיים
- הרץ מתיקיית השורש של המאגר
- וודא שקובץ `docs/_sidebar.md` קיים
### טיפים לסביבת פיתוח
- השתמש ב-VS Code עם תוסף Live Server לפרויקטי HTML
- התקן תוספי ESLint ו-Prettier לעיצוב עקבי
- השתמש ב-DevTools בדפדפן לניפוי שגיאות ב-JavaScript
- לפרויקטי Vue, התקן תוסף Vue DevTools בדפדפן
- השתמש ב-VS Code עם תוסף Live Server לפרויקטים ב-HTML
- התקן את ההרחבות ESLint ו-Prettier לעיצוב אחיד
- השתמש בכלי הפיתוח בדפדפן לפירוק שגיאות JavaScript
- לפרויקטים ב-Vue, התקן את תוסף Vue DevTools בדפדפן
### שיקולי ביצועים
- מספר גדול של קבצים מתורגמים (50+ שפות) מוביל לשיבוטים כבדים
- השתמש ב-clone שטחי אם עובדים רק על תוכן: `git clone --depth 1`
- אם עובדים רק על תוכן באנגלית, לא לכלול תרגומים בחיפושים
- מספר גדול של קבצים מתורגמים (50+ שפות) גורם לשכפולים מלאים גדולים
- השתמש בשכפול רדוד אם עובדים רק על תוכן: `git clone --depth 1`
- אל תכלול תרגומים בחיפושים כשעובדים על תוכן באנגלית
- תהליכי בנייה עשויים להיות איטיים בהרצה ראשונה (npm install, בניית Vite)
## שיקולי אבטחה
### משתני סביבה
- אסור להתחייב למאגר עם מפתחות API
- אסור להכניס מפתחות API למאגר
- השתמש בקבצי `.env` (כבר ב-.gitignore)
- תעד משתני סביבה דרושים ב-README של הפרויקטים
- תעד את משתני הסביבה הנדרשים ב-READMEs של הפרויקטים
### פרויקטי Python
- השתמש בסביבות וירטואליות: `python -m venv venv`
- שמור על עדכון התלויות
- אסימוני GitHub צריכים הרשאות מזעריות נדרשות
- שמור על עדכון תלויות
- טוקנים של GitHub צריכים הרשאות מינימליות נדרשות
### גישת GitHub Models
### גישת מודלים ב-GitHub
- דרוש Personal Access Tokens (PAT) לגישה ל-GitHub Models
- שמור אסימונים במשתני סביבה
- אסור להתחייב אסימונים או סיסמאות לקוד
- נדרשים Personal Access Tokens (PAT) עבור מודלים של GitHub
- יש לאחסן טוקנים במשתני סביבה
- לעולם אל תכלול טוקנים או אישורים במאגר
## הערות נוספות
### קהל יעד
- מתחילים מוחלטים בפיתוח ווב
- סטודנטים ולומדים עצמאיים
- מורים המשתמשים בתוכנית בכיתה
- תוכן נגיש ובנוי לבניית מיומנויות בהדרגה
- סטודנטים ולומדי עצמאות
- מורים המשתמשים בתכנית בכיתות
- התוכן מעוצב לנגישות ולבניית מיומנויות הדרגתית
### פילוסופיה חינוכית
### הפילוסופיה החינוכית
- גישת למידה מבוססת פרויקטים
- בדיקות ידע תכופות (חידונים)
- תרגילים מעשיים בקוד
- דוגמאות יישום בעולם האמיתי
- התמקדות ביסודות לפני מסגרות עבודה
- תרגילי קידוד מעשיים
- דוגמאות יישום מהמציאות
- דגש על יסודות לפני מסגרות
### תחזוקת המאגר
- קהילה פעילה של לומדים ותורמים
- קהילת לומדים ותורמים פעילה
- עדכונים שוטפים לתלויות ולתוכן
- ניהול דיונים ותקלות על ידי מנהלים
- ניהול סוגיות ושיחות על ידי מנהלים
- עדכוני תרגום אוטומטיים באמצעות GitHub Actions
### משאבים קשורים
- [מודולי Microsoft Learn](https://docs.microsoft.com/learn/)
- [מודולים ב-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) מומלץ ללומדים
- קורסים נוספים: Generative AI, Data Science, ML, IoT זמינים
- קורסים נוספים: AI גנרטיבי, Data Science, ML, IoT זמינים
### עבודה עם פרויקטים ספציפיים
להוראות מפורטות לפרויקטים פרטניים, עיין בקבצי README ב:
- `quiz-app/README.md` - אפליקציית חידון ב-Vue 3
להוראות מפורטות על פרויקטים בודדים, עיין בקבצי 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
- `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 -->

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T13:39:14+00:00",
"original_hash": "d5eeb6e975b5864d8da52d4a41941f8d",
"translation_date": "2026-03-27T21:17:11+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "nl"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-06T13:50:56+00:00",
"translation_date": "2026-03-27T21:26:48+00:00",
"source_file": "AGENTS.md",
"language_code": "nl"
},

@ -2,29 +2,29 @@
## Projectoverzicht
Dit is een educatieve curriculumrepository voor het onderwijzen van basisprincipes van webontwikkeling aan beginners. Het curriculum is een uitgebreide cursus van 12 weken ontwikkeld door Microsoft Cloud Advocates, met 24 praktische lessen die JavaScript, CSS en HTML behandelen.
Dit is een educatieve curriculum-repository voor het onderwijzen van webontwikkeling basisprincipes aan beginners. Het curriculum is een uitgebreide cursus van 12 weken ontwikkeld door Microsoft Cloud Advocates, met 24 praktijkgerichte lessen over JavaScript, CSS en HTML.
### Belangrijke Componenten
### Belangrijkste Onderdelen
- **Educatieve Inhoud**: 24 gestructureerde lessen georganiseerd in projectgebaseerde modules
- **Praktische Projecten**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor en AI Chat Assistant
- **Interactieve Quizzen**: 48 quizzen met elk 3 vragen (voor/na lesbeoordelingen)
- **Praktische Projecten**: Terrarium, Typing Game, Browser Extensie, Space Game, Banking App, Code Editor en AI Chat Assistent
- **Interactieve Quizzen**: 48 quizzen met elk 3 vragen (pre/post-les assessments)
- **Meertalige Ondersteuning**: Automatische vertalingen voor 50+ talen via GitHub Actions
- **Technologieën**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (voor AI-projecten)
- **Technologieën**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (voor AI projecten)
### Architectuur
- Educatieve repository met lesgebaseerde structuur
- Educatieve repository met les-gebaseerde structuur
- Elke lesmap bevat README, codevoorbeelden en oplossingen
- Onafhankelijke projecten in aparte mappen (quiz-app, diverse lesprojecten)
- Vertalingssysteem met GitHub Actions (co-op-translator)
- Documentatie geleverd via Docsify en beschikbaar als PDF
- Standalone projecten in aparte directories (quiz-app, diverse lesprojecten)
- Vertalingssysteem gebruikmakend van GitHub Actions (co-op-translator)
- Documentatie aangeboden via Docsify en beschikbaar als PDF
## Installatiecommando's
## Setup Commandos
Deze repository is primair bedoeld voor het consumeren van educatieve inhoud. Voor het werken met specifieke projecten:
Deze repository is primair voor consumptie van educatieve inhoud. Voor werken met specifieke projecten:
### Hoofdrepository Setup
### Hoofd Repository Setup
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
@ -37,7 +37,7 @@ cd Web-Dev-For-Beginners
cd quiz-app
npm install
npm run dev # Start ontwikkelserver
npm run build # Bouw voor productie
npm run build # Bouwen voor productie
npm run lint # Voer ESLint uit
```
@ -51,7 +51,7 @@ npm run lint # Voer ESLint uit
npm run format # Format met Prettier
```
### Browser Extension Projecten
### Browser Extensie Projecten
```bash
cd 5-browser-extension/solution
@ -72,37 +72,37 @@ npm install
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Stel de GITHUB_TOKEN omgevingsvariabele in
# Stel de omgevingsvariabele GITHUB_TOKEN in
python api.py
```
## Ontwikkelworkflow
### Voor Inhoudbijdragers
### Voor Inhoud Bijdragers
1. **Fork de repository** naar je GitHub-account
2. **Clone je fork** lokaal
3. **Maak een nieuwe branch** voor je wijzigingen
4. Pas lesinhoud of codevoorbeelden aan
4. Breng wijzigingen aan in lesinhoud of codevoorbeelden
5. Test codewijzigingen in relevante projectmappen
6. Dien pull requests in volgens de bijdrage-richtlijnen
6. Dien pull requests in volgens de bijdrage richtlijnen
### Voor Leerlingen
1. Fork of clone de repository
2. Navigeer sequentieel door de lesmappen
3. Lees de README-bestanden van elke les
2. Navigeer sequentieel door lesmappen
3. Lees README bestanden voor elke les
4. Maak pre-les quizzen op https://ff-quizzes.netlify.app/web/
5. Werk door codevoorbeelden in de lesmappen
6. Maak opdrachten en uitdagingen af
5. Werk door codevoorbeelden in lesmappen
6. Voltooi opdrachten en uitdagingen
7. Maak post-les quizzen
### Live Ontwikkeling
- **Documentatie**: Voer `docsify serve` uit in de root (poort 3000)
- **Quiz App**: Voer `npm run dev` uit in quiz-app map
- **Projecten**: Gebruik VS Code Live Server extensie voor HTML-projecten
- **API Projecten**: Voer `npm start` uit in respectievelijke API-mappen
- **Documentatie**: Voer `docsify serve` uit in root (poort 3000)
- **Quiz App**: Voer `npm run dev` uit in quiz-app directory
- **Projecten**: Gebruik VS Code Live Server extensie voor HTML projecten
- **API Projecten**: Voer `npm start` uit in respectievelijke API directories
## Testinstructies
@ -110,15 +110,15 @@ python api.py
```bash
cd quiz-app
npm run lint # Controleer op code stijlproblemen
npm run build # Controleer of de build slaagt
npm run lint # Controleer op problemen met de code stijl
npm run build # Verifieer dat de build slaagt
```
### Bank API Testen
```bash
cd 7-bank-project/api
npm run lint # Controleer op problemen met code stijl
npm run lint # Controleer op code-stijl problemen
node server.js # Controleer of de server zonder fouten start
```
@ -126,53 +126,53 @@ node server.js # Controleer of de server zonder fouten start
- Dit is een educatieve repository zonder uitgebreide geautomatiseerde tests
- Handmatig testen richt zich op:
- Codevoorbeelden die foutloos draaien
- Links in documentatie die werken
- Project builds die succesvol afronden
- Voorbeelden die best practices volgen
- Codevoorbeelden draaien zonder fouten
- Links in documentatie functioneren correct
- Project builds slagen succesvol
- Voorbeelden volgen best practices
### Pre-submissie Checks
- Voer `npm run lint` uit in mappen met package.json
- Voer `npm run lint` uit in directories met package.json
- Controleer of markdown links geldig zijn
- Test codevoorbeelden in browser of Node.js
- Controleer dat vertalingen structuur behouden
- Controleer dat vertalingen juiste structuur behouden
## Code Stijlrichtlijnen
## Code Stilering Richtlijnen
### JavaScript
- Gebruik moderne ES6+ syntax
- Volg standaard ESLint-configuraties in projecten
- Volg standaard ESLint configuraties zoals geleverd in projecten
- Gebruik betekenisvolle variabele- en functienamen voor educatieve duidelijkheid
- Voeg commentaar toe dat concepten uitlegt voor leerlingen
- Format met Prettier waar geconfigureerd
- Voeg commentaar toe ter uitleg van concepten voor leerlingen
- Format gebruik makend van Prettier waar geconfigureerd
### HTML/CSS
- Semantische HTML5 elementen
- Responsieve designprincipes
- Duidelijke klassennamenconventies
- Commentaar dat CSS-technieken uitlegt voor leerlingen
- Responsive design principes
- Duidelijke class naamgevingsconventies
- Comments die CSS-technieken uitleggen voor leerlingen
### Python
- PEP 8 stijlrichtlijnen
- Duidelijke, educatieve codevoorbeelden
- Type hints waar nuttig voor leren
- PEP 8 stijl richtlijnen
- Duidelijke educatieve codevoorbeelden
- Type hints waar nuttig voor leerdoelen
### Markdown Documentatie
- Duidelijke koppenhiërarchie
- Codeblokken met taalspecificatie
- Links naar aanvullende bronnen
- Screenshots en afbeeldingen in `images/` mappen
- Links naar extra resources
- Screenshots en afbeeldingen in `images/` directories
- Alt-tekst voor afbeeldingen voor toegankelijkheid
### Bestandsorganisatie
- Lessen genummerd in volgorde (1-getting-started-lessons, 2-js-basics, enz.)
- Elk project heeft `solution/` en vaak `start/` of `your-work/` mappen
- Lessen genummerd in oplopende volgorde (1-getting-started-lessons, 2-js-basics, etc.)
- Elk project heeft `solution/` en vaak `start/` of `your-work/` directories
- Afbeeldingen opgeslagen in les-specifieke `images/` mappen
- Vertalingen in `translations/{language-code}/` structuur
@ -193,7 +193,7 @@ Azure Static Web Apps configuratie:
- **Output locatie**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### PDF Generatie Documentatie
### Documentatie PDF Generatie
```bash
npm install # Installeer docsify-to-pdf
@ -204,79 +204,79 @@ npm run convert # Genereer PDF van docs
```bash
npm install -g docsify-cli # Installeer Docsify wereldwijd
docsify serve # Serveer op localhost:3000
docsify serve # Server op localhost:3000
```
### Projectspecifieke Builds
### Project-specifieke Builds
Elke projectmap kan een eigen buildproces hebben:
- Vue projecten: `npm run build` maakt productie bundles
- Statische projecten: Geen build stap, serveer bestanden direct
Elke projectdirectory kan een eigen buildproces hebben:
- Vue projecten: `npm run build` creëert productie bundles
- Statische projecten: Geen build stap, bestanden direct serveren
## Pull Request Richtlijnen
### Titel Formaat
Gebruik duidelijke, beschrijvende titels die het wijzigingsgebied aangeven:
- `[Quiz-app] Voeg nieuwe quiz toe voor les X`
- `[Les-3] Corrigeer typefout in terrarium project`
- `[Vertaling] Voeg Spaanse vertaling toe voor les 5`
- `[Docs] Update installatie-instructies`
Gebruik duidelijke, beschrijvende titels die gebied van wijziging aangeven:
- `[Quiz-app] Nieuwe quiz toegevoegd voor les X`
- `[Lesson-3] Typfout opgelost in terrarium project`
- `[Vertaling] Spaanse vertaling toegevoegd voor les 5`
- `[Docs] Setup instructies bijgewerkt`
### Vereiste Checks
Voor het indienen van een PR:
Voordat je een PR indient:
1. **Codekwaliteit**:
- Voer `npm run lint` uit in getroffen projectmappen
- Los alle lintfouten en waarschuwingen op
1. **Code Kwaliteit**:
- Voer `npm run lint` uit in betrokken projectdirectories
- Los alle lint fouten en waarschuwingen op
2. **Build Verificatie**:
- Voer `npm run build` uit indien van toepassing
- Zorg dat er geen buildfouten zijn
- Zorg dat er geen build fouten zijn
3. **Link Validatie**:
- Test alle markdown links
- Verifieer dat afbeeldingen correct verwijzen
- Controleer dat afbeelding-referenties werken
4. **Inhoud Review**:
- Controleer spelling en grammatica
- Zorg dat codevoorbeelden correct en educatief zijn
- Controleer dat vertalingen oorspronkelijke betekenis behouden
- Zorg dat codevoorbeelden juist zijn en educatief
- Verifieer dat vertalingen oorspronkelijke betekenis behouden
### Bijdragereisen
### Bijdragevereisten
- Ga akkoord met Microsoft CLA (geautomatiseerde check bij eerste PR)
- Volg de [Microsoft Open Source Gedragscode](https://opensource.microsoft.com/codeofconduct/)
- Akkoord gaan met Microsoft CLA (automatische check bij eerste PR)
- Volg de [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Zie [CONTRIBUTING.md](./CONTRIBUTING.md) voor gedetailleerde richtlijnen
- Verwijs naar issue nummers in PR omschrijving indien van toepassing
- Verwijs naar issue nummers in PR beschrijving indien van toepassing
### Review Proces
- PR's worden beoordeeld door maintainers en de gemeenschap
- Educatieve helderheid heeft prioriteit
- Codevoorbeelden dienen best practices te volgen
- Vertalingen worden gecontroleerd op nauwkeurigheid en culturele relevantie
- PRs worden beoordeeld door maintainers en community
- Educatieve duidelijkheid staat voorop
- Codevoorbeelden moeten huidige best practices volgen
- Vertalingen worden gecontroleerd op nauwkeurigheid en culturele geschiktheid
## Vertalingssysteem
### Geautomatiseerde Vertaling
- Maakt gebruik van GitHub Actions met co-op-translator workflow
- Verzamelt vertalingen in 50+ talen automatisch
- Bronbestanden in hoofdmappen
- Vertaalde bestanden in `translations/{language-code}/` mappen
- Vertaal naar 50+ talen automatisch
- Bronbestanden in hoofd directories
- Vertaalde bestanden in `translations/{language-code}/` directories
### Handmatige Vertaalverbeteringen Toevoegen
### Handmatige Vertalingsverbeteringen Toevoegen
1. Zoek bestand in `translations/{language-code}/`
2. Breng verbeteringen aan terwijl de structuur behouden blijft
2. Breng verbeteringen aan met behoud van structuur
3. Zorg dat codevoorbeelden functioneel blijven
4. Test gelokaliseerde quizcontent
4. Test eventueel gelokaliseerde quizinhoud
### Vertaal Metadata
### Vertalingsmetadata
Vertaalde bestanden bevatten metadata-header:
Vertaalde bestanden bevatten metadata header:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Debuggen en Probleemoplossing
## Debugging en Probleemoplossing
### Veelvoorkomende Problemen
**Quiz app start niet**:
**Quiz app start niet op**:
- Controleer Node.js versie (v14+ aanbevolen)
- Verwijder `node_modules` en `package-lock.json`, voer `npm install` opnieuw uit
- Controleer op poortconflicten (standaard: Vite gebruikt poort 5173)
**API server start niet**:
- Controleer Node.js versie (node >=10)
- Verifieer dat Node.js versie voldoet aan minimum (node >=10)
- Controleer of poort al in gebruik is
- Zorg dat alle dependencies zijn geïnstalleerd met `npm install`
- Zorg dat alle dependencies geïnstalleerd zijn met `npm install`
**Browser extensie laadt niet**:
- Controleer of manifest.json correct is geformatteerd
- Check browser console op fouten
- Volg browser-specifieke installatie-instructies
- Verifieer dat manifest.json correct is geformatteerd
- Controleer browserconsole op fouten
- Volg browser-specifieke extensie-installatie instructies
**Python chat project problemen**:
- Zorg dat OpenAI package geïnstalleerd is: `pip install openai`
- Controleer of GITHUB_TOKEN omgevingvariabele is ingesteld
- Controleer GitHub Models toegangsrechten
- Zorg dat OpenAI pakket geïnstalleerd is: `pip install openai`
- Verifieer dat GITHUB_TOKEN omgeving variabele is ingesteld
- Controleer GitHub Models toegangsmachtigingen
**Docsify serveert geen docs**:
- Installeer docsify-cli globaal: `npm install -g docsify-cli`
- Voer uit vanuit root van repository
- Start vanuit root directory van repository
- Controleer dat `docs/_sidebar.md` bestaat
### Ontwikkelomgeving Tips
- Gebruik VS Code met Live Server extensie voor HTML-projecten
- Gebruik VS Code met Live Server extensie voor HTML projecten
- Installeer ESLint en Prettier extensies voor consistente formatting
- Gebruik browser DevTools voor JavaScript debugging
- Installeer Vue DevTools browser extensie voor Vue projecten
- Voor Vue projecten, installeer Vue DevTools browser extensie
### Prestatie Overwegingen
- Groot aantal vertaalde bestanden (50+ talen) maakt volledige clones groot
- Gebruik shallow clone als je alleen aan inhoud werkt: `git clone --depth 1`
- Sluit vertalingen uit in zoekopdrachten wanneer je aan Engelse inhoud werkt
- Gebruik shallow clone indien je alleen aan inhoud werkt: `git clone --depth 1`
- Sluit vertalingen uit van zoekopdrachten indien je aan Engelse inhoud werkt
- Build processen kunnen traag zijn bij eerste run (npm install, Vite build)
## Beveiligingsoverwegingen
### Omgevingsvariabelen
- API-sleutels mogen nooit gecommit worden in repository
- Gebruik `.env` bestanden (al opgenomen in `.gitignore`)
- Documenteer vereiste omgevingsvariabelen in project README's
- API-sleutels mogen nooit worden gecommit naar repository
- Gebruik `.env` bestanden (al in `.gitignore`)
- Documenteer vereiste omgevingsvariabelen in project READMEs
### Python Projecten
- Gebruik virtuele omgevingen: `python -m venv venv`
- Gebruik virtual environments: `python -m venv venv`
- Houd dependencies up-to-date
- GitHub tokens moeten minimale vereiste permissies hebben
### GitHub Models Toegang
- Personal Access Tokens (PAT) zijn vereist voor GitHub Models
- Tokens moeten als omgevingsvariabelen worden opgeslagen
- Tokens of credentials nooit commiten
- Persoonlijke toegangstokens (PAT) vereist voor GitHub Models
- Tokens dienen als omgevingsvariabelen te worden opgeslagen
- Token of inloggegevens nooit commiten
## Aanvullende Notities
### Doelgroep
- Volledige beginners in webontwikkeling
- Studenten en zelfstudie
- Studenten en zelflerenden
- Docenten die curriculum in klaslokalen gebruiken
- Inhoud is ontworpen voor toegankelijkheid en geleidelijke vaardigheidsopbouw
### Educatieve Filosofie
- Project-gebaseerde leerbenadering
- Frequent kenniscontroles (quizzen)
- Praktische codeer oefeningen
- Voorbeelden uit de echte wereld
- Focus op basisprincipes voor frameworks
- Project-gebaseerd leerproces
- Frequente kenniscontroles (quizzen)
- Praktische codeeroefeningen
- Voorbeelden van toepassingen in de praktijk
- Focus op basisprincipes vóór frameworks
### Repository Onderhoud
- Actieve community van leerlingen en bijdragers
- Regelmatige updates van dependencies en inhoud
- Issues en discussies worden door maintainers gemonitord
- Vertalingsupdates geautomatiseerd via GitHub Actions
- Issues en discussies worden gemonitord door maintainers
- Vertaalupdates geautomatiseerd via GitHub Actions
### Gerelateerde Bronnen
### Gerelateerde Resources
- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [Student Hub bronnen](https://docs.microsoft.com/learn/student-hub/)
- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) aanbevolen voor leerlingen
- Extra cursussen: generatieve AI, data science, ML, IoT curricula beschikbaar
- Extra cursussen: Generative AI, Data Science, ML, IoT curricula beschikbaar
### Werken met Specifieke Projecten
Voor gedetailleerde instructies over individuele projecten, zie de README-bestanden in:
- `quiz-app/README.md` - Vue 3 quizapplicatie
- `7-bank-project/README.md` - Bankapplicatie met authenticatie
Voor gedetailleerde instructies over individuele projecten, raadpleeg de README-bestanden in:
- `quiz-app/README.md` - Vue 3 quiz applicatie
- `7-bank-project/README.md` - Banking applicatie met authenticatie
- `5-browser-extension/README.md` - Browser extensie ontwikkeling
- `6-space-game/README.md` - Canvas-gebaseerde game ontwikkeling
- `9-chat-project/README.md` - AI chatassistent project
- `9-chat-project/README.md` - AI chat assistent project
### Monorepo Structuur
Hoewel dit geen traditionele monorepo is, bevat deze repository meerdere onafhankelijke projecten:
- Elke les staat op zichzelf
- Elke les is zelfvoorzienend
- Projecten delen geen dependencies
- Werk aan afzonderlijke projecten zonder impact op anderen
- Clone de gehele repo voor de volledige curriculumervaring
- Werk aan individuele projecten zonder anderen te beïnvloeden
- Clone de volledige repo voor de volledige curriculum ervaring
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
Dit document is vertaald met behulp van de AI-vertalingsservice [Co-op Translator](https://github.com/Azure/co-op-translator). Hoewel we streven naar nauwkeurigheid, verzoeken wij u er rekening mee te houden dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in de oorspronkelijke taal dient als de gezaghebbende bron te worden beschouwd. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.
**Disclaimer**:
Dit document is vertaald met behulp van de AI-vertalingsdienst [Co-op Translator](https://github.com/Azure/co-op-translator). Hoewel we streven naar nauwkeurigheid, dient u er rekening mee te houden dat automatische vertalingen fouten of onjuistheden kunnen bevatten. Het originele document in de oorspronkelijke taal wordt beschouwd als de gezaghebbende bron. Voor belangrijke informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T13:49:59+00:00",
"original_hash": "d5eeb6e975b5864d8da52d4a41941f8d",
"translation_date": "2026-03-27T21:25:41+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "vi"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-06T13:53:01+00:00",
"translation_date": "2026-03-27T21:29:10+00:00",
"source_file": "AGENTS.md",
"language_code": "vi"
},

@ -2,42 +2,42 @@
## Tổng quan dự án
Đây là khoá học giáo dụ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. Khung chương trình là một khoá học toàn diện kéo dài 12 tuần được phát triển bởi Microsoft Cloud Advocates, bao 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 nhằm 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. Khoá học là một khóa toàn diện kéo dài 12 tuần do Microsoft Cloud Advocates phát triển, với 24 bài học thực hành bao gồm JavaScript, CSS, và HTML.
### Các thành phần chính
- **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ự án
- **Dự án thực tế**: Terrarium, Trò chơi đánh máy, Tiện ích mở rộng 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ý trò chuyện AI
- **Nội dung giáo dục**: 24 bài học có cấu trúc, tổ chức trong các mô-đun 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 chỉnh sửa mã, và Trợ lý chat 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/sau bài học)
- **Hỗ trợ đa ngôn ngữ**: Dịch tự động hơn 50 ngôn ngữ thông qua GitHub Actions
- **Hỗ trợ đa ngôn ngữ**: Dịch tự động 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)
### Kiến trúc
- Khoá học giáo dục với cấu trúc dựa trên 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 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 cung cấp qua Docsify và có sẵn dưới dạng PDF
- 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 trong 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 sử dụng GitHub Actions (co-op-translator)
- Tài liệu được phục vụ qua Docsify và có sẵn định dạng PDF
## Lệnh cài đặt
## Lệnh thiết lập
Kho chứa chủ yếu dành cho việc sử dụng nội dung giáo dục. Để làm việc với các dự án cụ thể:
Kho lưu trữ này chủ yếu dành cho việc 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 Quiz App (Vue 3 + Vite)
### Thiết lập Quiz App (Vue 3 + Vite)
```bash
cd quiz-app
npm install
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 dev # Khởi động máy chủ phát triển
npm run build # Xây dựng cho môi trường sản xuất
npm run lint # Chạy ESLint
```
@ -51,15 +51,15 @@ npm run lint # Chạy ESLint
npm run format # Định dạng với Prettier
```
### Dự án tiện ích mở rộng trình duyệt
### Các dự án Tiện ích mở rộng trình duyệt
```bash
cd 5-browser-extension/solution
npm install
# Thực hiện theo hướng dẫn tải tiện ích mở rộng riêng cho trình duyệt
# Thực hiện theo hướng dẫn tải tiện ích mở rộng dành riêng cho trình duyệt
```
### Dự án trò chơi không gian
### Các dự án Trò chơi không gian
```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 (Python Backend)
### Dự án Chat (Python Backend)
```bash
cd 9-chat-project/solution/backend/python
@ -80,8 +80,8 @@ python api.py
### Dành cho người đóng góp nội dung
1. **Fork kho lưu trữ** v tài khoản GitHub của bạn
2. **Clone bản fork** về máy tính cá nhân
1. **Fork kho lưu trữ** vào tài khoản GitHub của bạn
2. **Clone** bản fork về máy cục bộ
3. **Tạo nhánh mới** cho các thay đổi của bạn
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
@ -90,31 +90,31 @@ python api.py
### Dành cho người học
1. Fork hoặc clone kho lưu trữ
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 từng 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 bài tập và thử thách
7. Tham gia các bài kiểm tra sau bài học
2. Điều hướng tuần tự trong các thư mục bài học
3. Đọc các file README của từng bài học
4. Hoàn thành bài kiểm tra trước bài học tại https://ff-quizzes.netlify.app/web/
5. Làm việc qua các ví dụ mã trong thư mục bài học
6. Hoàn thành các bài tập và thử thách
7. Làm bài kiểm tra sau bài học
### Phát triển trực tiếp
- **Tài liệu**: Chạy `docsify serve` trong thư mục gốc (cổng 3000)
- **Tài liệu**: Chạy `docsify serve` thư mục gốc (cổng 3000)
- **Quiz App**: 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**: Sử dụng tiện ích mở rộng VS Code Live Server 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 thử
## Hướng dẫn thử nghiệm
### Kiểm thử Quiz App
### Thử nghiệm Quiz App
```bash
cd quiz-app
npm run lint # Kiểm tra các vấn đề về kiểu mã nguồn
npm run build # Xác nhận quá trình xây dựng thành công
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
```
### Kiểm thử API ngân hàng
### Thử nghiệm API Ngân hàng
```bash
cd 7-bank-project/api
@ -122,65 +122,65 @@ npm run lint # Kiểm tra các vấn đề về phong cách mã
node server.js # Xác minh máy chủ khởi động mà không có lỗi
```
### Phương pháp kiểm thử chung
### Cách tiếp cận thử nghiệm chung
- Đây là khoá học giáo dục nên không có kiểm thử tự động toàn diện
- Kiểm thử thủ công tập trung vào:
- Các ví dụ mã chạy không lỗi
- 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ụ tuân theo các thực hành tốt nhất
- Đây là kho học tập không có các bài kiểm tra tự động toàn diện
- Thử nghiệm thủ công tập trung vào:
- Ví dụ mã chạy không lỗi
- Liên kết trong tài liệu hoạt động đúng
- Các bản build dự án hoàn tất thành công
- Ví dụ theo đúng các phương pháp hay nhất
### Kiểm tra trước khi gửi
- 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ệ
- 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ữ nguyên cấu trúc đúng
- Thử ví dụ mã trong trình duyệt hoặc Node.js
- Kiểm tra dịch giữ nguyên cấu trúc chính xác
## 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 các dự án
- Đặt tên biến và hàm có ý nghĩa để dễ hiểu cho người học
- Tuân theo cấu hình ESLint chuẩn trong các dự án
- Sử dụng tên biến và hàm có ý nghĩa rõ ràng 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 theo Prettier khi được cấu hình
- Định dạng bằng Prettier khi có cấu hình
### HTML/CSS
- Sử dụng các phần tử HTML5 ngữ nghĩa
- Thiết kế đáp ứng (responsive)
- Sử dụng các phần tử HTML5 mang tính ngữ nghĩa
- Nguyên tắc thiết kế đáp ứng
- Quy ước đặt tên class rõ ràng
- Chú thích giải thích kỹ thuật CSS cho người học
### Python
- Tuân theo hướng dẫn phong cách PEP 8
- Theo chuẩn phong cách PEP 8
- Ví dụ mã rõ ràng, mang tính giáo dục
- Dùng gợi ý kiểu (type hints) khi giúp ích cho việc học
- Gợi ý kiểu nơi hữu ích cho việc học
### Tài liệu Markdown
- Cấu trúc tiêu đề rõ ràng
- Các khối mã có chỉ định ngôn ngữ
- Liên kết đến tài nguyên bổ sung
- Khối mã có chỉ định ngôn ngữ
- Liên kết tới 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 thay thế cho hình ảnh để đảm bảo khả năng truy cập
### Tổ chức tệp
### Tổ chức file
- Các bài học được đánh số theo thứ tự (1-getting-started-lessons, 2-js-basics, vv)
- Các 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/`
- Hình ảnh được lưu trong thư mục riêng theo bài `images/`
- Bản dịch nằm trong cấu trúc `translations/{language-code}/`
- Hình ảnh lưu trong thư mục `images/` thuộc từng bài học
- Cá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 Quiz App (Azure Static Web Apps)
Quiz-app được cấu hình để triển khai trên Azure Static Web Apps:
quiz-app được cấu hình để triển khai trên Azure Static Web Apps:
```bash
cd quiz-app
@ -191,92 +191,92 @@ npm run build # Tạo thư mục dist/
Cấu hình Azure Static Web Apps:
- **Vị trí app**: `/quiz-app`
- **Vị trí đầu ra**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
- **Quy trình tự động**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Tạo PDF tài liệu
```bash
npm install # Cài đặt docsify-to-pdf
npm run convert # Tạo PDF từ docs
npm run convert # Tạo PDF từ tài liệu docs
```
### Tài liệu Docsify
```bash
npm install -g docsify-cli # Cài đặt Docsify trên toàn hệ thống
npm install -g docsify-cli # Cài đặt Docsify trên toàn cục
docsify serve # Phục vụ trên localhost:3000
```
### Xây dựng dự án riêng
### Xây dựng riêng cho từng dự án
Mỗi thư mục dự án có thể có quy trình build riêng:
- Dự án Vue: `npm run build` tạo gói sản xuất
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 bundle sản xuất
- Dự án tĩnh: Không có bước build, phục vụ file trực tiếp
## Hướng dẫn Pull Request
## Hướng dẫn gửi Pull Request
### Định dạng tiêu đề
ng tiêu đề rõ ràng, mô tả khu vực thay đổi:
- `[Quiz-app] Thêm câu đố mới cho bài X`
- `[Lesson-3] Sửa lỗi đánh máy trong dự án terrarium`
- `[Translation] Thêm bản dịch tiếng Tây Ban Nha cho bài 5`
- `[Docs] Cập nhật hướng dẫn cài đặt`
Sử dụng tiêu đề rõ ràng, mô tả khu vực thay đổi:
- `[Quiz-app] Thêm câu hỏi 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 thiết lập`
### 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 bị ảnh hưởng
- Chạy `npm run lint` trong các thư mục dự án liên quan
- Sửa tất cả lỗi và cảnh báo lint
2. **Xác minh xây dựng**:
- Chạy `npm run build` nếu áp dụng được
- Đảm bảo không có lỗi xây dựng
2. **Xác nhận build**:
- Chạy `npm run build` nếu có thể
- Đảm bảo không có lỗi build
3. **Kiểm tra liên kết**:
- Thử tất cả các liên kết markdown
- Xác minh tham chiếu hình ảnh đúng
- Thử tất cả liên kết markdown
- Đảm bảo tham chiếu ảnh hoạt động
4. **Xem xét nội dung**:
- Đọc kỹ để không có lỗi 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
4. **Đánh giá 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
- Kiểm tra bản dịch giữ nguyên ý nghĩa gốc
### Yêu cầu đóng góp
- Đồng ý với Microsoft CLA (kiểm tra tự động lần đầu PR)
- Đồng ý với Microsoft CLA (kiểm tra tự động khi PR đầu tiên)
- Tuân theo [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ó
### Quy trình đánh giá
- PR được duyệt bởi người bảo trì và cộng đồng
- Ưu tiên tính rõ ràng giáo dục
- Ví dụ mã nên theo các thực hành tốt nhất hiện tại
- Bản dịch được xem xét kỹ về độ chính xác và phù hợp văn hóa
- PR được duyệt bởi người quản lý và cộng đồng
- Ưu tiên rõ ràng về tính giáo dục
- Ví dụ mã phải theo các phương pháp tốt nhất hiện tại
- Bản dịch được xem xét về độ chính xác và phù hợp văn hóa
## Hệ thống dịch
## Hệ thống dịch dịch tự động
### Dịch tự động
- Sử dụng GitHub Actions với workflow co-op-translator
- Dịch tự động hơn 50 ngôn ngữ
- Tệp gốc trong các thư mục chính
- Tệp dịch trong thư mục `translations/{language-code}/`
- Dịch hơn 50 ngôn ngữ tự động
- File nguồn trong các thư mục chính
- File dịch trong thư mục `translations/{language-code}/`
### Thêm cải tiến dịch thủ công
1. Tìm tệp trong `translations/{language-code}/`
2. Cải thiện nội dung đồng thời giữ cấu trúc
3. Đảm bảo ví dụ mã n hoạt động
4. Kiểm tra nội dung câu đố được bản địa hóa
1. Tìm file trong `translations/{language-code}/`
2. Cải thiện trong khi giữ nguyên cấu trúc
3. Đảm bảo ví dụ mã vẫn hoạt động
4. Thử các nội dung bài kiểm tra đã địa phương hóa
### Siêu dữ liệu bản dịch
### Siêu dữ liệu dịch
Các tệp dịch bao gồm phần đầu siêu dữ liệu:
File dịch bao gồm phần đầu 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 đề phổ biến
### Các sự cố phổ biến
**Ứng dụng quiz không khởi động được**:
**Quiz app không khởi động được**:
- Kiểm tra phiên bản Node.js (khuyến nghị v14+)
- X `node_modules``package-lock.json`, rồi chạy lại `npm install`
- 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)
**Máy chủ API không khởi động**:
- Kiểm tra phiên bản Node.js >=10
**API server không khởi động được**:
- Đảm bảo phiên bản Node.js phù hợp (node >=10)
- Kiểm tra xem cổng đã được sử dụng chưa
- Đảm bảo đã cài đặt đầy đủ phụ thuộc với `npm install`
- Đảm bảo cài đủ phụ thuộc với `npm install`
**Tiện ích mở rộng trình duyệt không tải được**:
- Kiểm tra file manifest.json đúng định dạng
- Kiểm tra console trình duyệt có lỗi hay không
- Làm theo hướng dẫn cài đặt tiện ích mở rộng riêng cho trình duyệt
- Kiểm tra file manifest.json định dạng đúng
- Xem console trình duyệt lỗi
- Làm theo hướng dẫn cài tiện ích mở rộng trình duyệt cụ thể
**Vấn đề dự án trò chuyện Python**:
- Đảm bảo đã cài đặt gói OpenAI: `pip install openai`
- Kiểm tra biến môi trường GITHUB_TOKEN đã được thiết lập
**Vấn đề dự án chat Python**:
- Đảm bảo cài package OpenAI: `pip install openai`
- Kiểm tra biến môi trường GITHUB_TOKEN đã thiết lập
- 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 file `docs/_sidebar.md` tồn tại
- Cài docsify-cli toàn cục: `npm install -g docsify-cli`
- Chạy từ thư mục gốc kho
- Kiểm tra `docs/_sidebar.md` tồn tại
### Mẹo về môi trường phát triển
### Mẹo môi trường phát triển
- Sử dụng VS Code với tiện ích mở rộng Live Server cho dự án HTML
- Cài đặt tiện ích ESLint và Prettier để định dạng nhất quán
- Dùng công cụ 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
- ng VS Code với tiện ích mở rộng Live Server cho dự án HTML
- Cài ESLint và Prettier để định dạng nhất quán
- Dùng DevTools trình duyệt để gỡ lỗi JavaScript
- Với dự án Vue, cài tiện ích mở rộng Vue DevTools trình duyệt
### Lưu ý về hiệu năng
### Cân nhắc hiệu năng
- Số lượng lớn tệp dịch (hơn 50 ngôn ngữ) làm cho bản clone đầy đủ rất nặng
- Dùng clone nông nếu chỉ làm việc 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 nội dung tiếng Anh
- Quy trình build có thể chậm lần chạy đầu (npm install, build Vite)
- Số lượng file dịch lớn (50+ ngôn ngữ) khiến clone đầy đủ rất 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ừ thư mục dịch khỏi tìm kiếm khi làm việc với nội dung tiếng Anh
- Quy trình build có thể chậm lần đầu (npm install, build Vite)
## Các cân nhắc về bảo mật
## Cân nhắc bảo mật
### Biến môi trường
- Không bao giờ commit khóa API vào kho lưu trữ
- Sử dụng file `.env` (đã trong `.gitignore`)
- Tài liệu biến môi trường bắt buộc trong các README dự án
- Không bao giờ commit kh API vào kho lưu trữ
- Sử dụng file `.env` (đã được liệt kê trong `.gitignore`)
- Đưa ra tài liệu các biến môi trường cần thiết trong README dự án
### Dự án Python
- Sử dụng môi trường ảo: `python -m venv venv`
- ng môi trường ảo: `python -m venv venv`
- Giữ phụ thuộc luôn cập nhật
- Token GitHub cần quyền tối thiểu cần thiết
- Token GitHub nên có quyền tối thiểu cần thiết
### Truy cập GitHub Models
- Yêu cầu Personal Access Tokens (PAT) để truy cập GitHub Models
- Token nên lưu trữ dưới biến môi trường
- Cần token truy cập cá nhân (PAT) cho GitHub Models
- Token nên lưu biến môi trường
- Không bao giờ commit token hoặc thông tin đăng nhập
## Ghi chú bổ sung
### Đối tượng mục tiêu
### Đối tượng hướng đến
- Người mới hoàn toàn về phát triển web
- Người mới hoàn toàn bắt đầu phát triển web
- Sinh viên và người tự học
- Giáo viên sử dụng khung chương trình trong lớp học
- Nội dung thiết kế cho khả năng tiếp cận và phát triển kỹ năng từ từ
- 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à xây dựng kỹ năng dần dần
### Triết lý giáo dục
- Học dựa trên dự án
- Kiểm tra kiến thức thường xuyên (bài kiểm tra)
- Phương pháp học dựa trên 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
### Bảo trì kho lưu trữ
### Bảo trì kho
- Cộng đồng học viên và người đóng góp năng động
- Cập nhật thường xuyên phụ thuộc và nội dung
- Theo dõi issues và thảo luận bởi người quản lý
- Cập nhật bản dịch tự động qua GitHub Actions
- Cộng đồng học tập và đóng góp hoạt động
- Cập nhật thường xuyên các phụ thuộc và nội dung
- Vấn đề và thảo luận được quản lý bởi người duy trì
- Cập nhật dịch tự động qua GitHub Actions
### Tài nguyên liên quan
- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [Student Hub resources](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ó sẵn
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) được 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
### Làm việc với các dự án cụ thể
Hướng dẫn chi tiết về từng dự án có trong file README:
Hướng dẫn chi tiết cho từng dự án có trong file 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 có 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ý trò chuyện AI
- `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
- `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
Mặc dù không phải monorepo truyền thống, kho lưu trữ này chứa nhiều dự án riêng biệt:
- Mỗi bài học là độc lập
- Các dự án không chia sẻ phụ thuộc
- Làm việc trên dự án cá nhân mà không ảnh hưởng đến dự án khác
- Clone toàn bộ kho để có trải nghiệm toàn diện của khung chương trình
- Làm việc riêng từng dự án mà không ảnh hưởng nhau
- Clone toàn bộ kho để có trải nghiệm khoá học đầy đủ
---
<!-- 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 các 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ữ gốc nên được coi là nguồn tham khảo chính xác nhất. Đối với những thông tin quan trọng, chúng tôi khuyến nghị dịch bởi chuyên gia dịch thuật có kinh nghiệm. Chúng tôi không chịu trách nhiệm về bất kỳ sự hiểu lầm hay giải thích sai nào phát sinh từ việc sử dụng bản dịch này.
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 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ữ gốc của nó nên được coi là nguồn tin cậy chính thức. Đối với thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp do con người thực hiện. Chúng tôi không chịu trách nhiệm đối với bất kỳ sự hiểu lầm hoặc diễn giải 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