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

update-translations
localizeflow[bot] 6 days ago
parent f237852e73
commit 8077bab528

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-27T22:30:40+00:00",
"translation_date": "2026-04-06T16:38:39+00:00",
"source_file": "AGENTS.md",
"language_code": "pa"
},
@ -516,8 +516,8 @@
"language_code": "pa"
},
"README.md": {
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T12:24:47+00:00",
"original_hash": "b885c87c7544109b78d6684daad6cba6",
"translation_date": "2026-04-06T16:33:42+00:00",
"source_file": "README.md",
"language_code": "pa"
},

@ -1,47 +1,47 @@
# AGENTS.md
## Project Overview
## ਪ੍ਰੋਜੈਕਟ ਝਲਕ
ਇਹ ਵੈੱਬ ਵਿਕਾਸ ਬੁਨਿਆਦੀਆਂ ਨੂੰ ਸ਼ੁਰੂਆਤੀ ਹੋਣ ਵਾਲਿਆਂ ਨੂੰ ਸਿਖਾਉਣ ਲਈ ਇੱਕ ਸਿੱਖਿਆ ਗ੍ਰਹਿ ਹੈ। ਇਹ ਪਾਠਕ੍ਰਮ Microsoft Cloud Advocates ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਇੱਕ ਵਿਆਪਕ 12 ਹਫਤਿਆਂ ਦਾ ਕੋਰਸ ਹੈ, ਜਿਸ ਵਿੱਚ 24 ਪ੍ਰਯੋਗਾਤਮਕ ਪਾਠ ਹਨ ਜੋ ਜਾਵਾਸਕ੍ਰਿਪਟ, CSS, ਅਤੇ HTML ਨੂੰ ਕਵਰ ਕਰਦੇ ਹਨ।
ਇਹ ਸ਼ੁਰੂਆਤੀ ਸਤਰਾ ਲਈ ਵੈੱਬ ਵਿਕਾਸ ਮੂਲਭੂਤਾਂ ਸਿਖਾਉਣ ਲਈ ਸਿੱਖਿਆ ਕੋਰਸ ਰਿਪੋਜ਼ਿਟਰੀ ਹੈ। ਇਹ ਕੋਰਸ 12 ਹਫ਼ਤੇ ਦਾ ਵਿਸਥਾਰਿਕ ਕੋਰਸ ਹੈ ਜੋ Microsoft Cloud Advocates ਵੱਲੋਂ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿਸ ਵਿੱਚ 24 ਪ੍ਰਯੋਗਕਾਰੀ ਪਾਠ ਹਨ ਜੋ ਜਾਵਾਸਕ੍ਰਿਪਟ, CSS ਅਤੇ HTML ਨੂੰ ਕਵਰ ਕਰਦੇ ਹਨ।
### Key Components
### ਮੁੱਖ ਹਿੱਸੇ
- **ਸਿੱਖਿਆ ਸਮੱਗਰੀ**: ਪ੍ਰਾਜੈਕਟਾਂ-ਅਧਾਰਿਤ ਮੋਡਿਊਲਾਂ ਵਿੱਚ ਸੁਗਠਿਤ 24 ਪਾਠ
- **ਅਮਲੀ ਪਰਿਯੋਜਨਾਵਾਂ**: ਟੇਰਾਰਿਯਮ, ਟਾਈਪਿੰਗ ਗੇਮ, ਬਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ, ਸਪੇਸ ਗੇਮ, ਬੈਂਕਿੰਗ ਐਪ, ਕੋਡ ਏਡੀਟਰ, ਅਤੇ AI ਚੈਟ ਸਹਾਇਕ
- **ਇੰਟਰੇਕਟਿਵ ਕੁਈਜ਼**: 48 ਕੁਈਜ਼ ਹਰ ਇੱਕ ਵਿੱਚ 3 ਸਵਾਲ (ਪ੍ਰੀ/ਪੋਸਟ-ਪਾਠ ਮੁਲਾਂਕਣ)
- **ਬਹੁ-ਭਾਸ਼ਾ ਸਹਾਇਤਾ**: GitHub Actions ਰਾਹੀਂ 50+ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦ
- **ਟੈਕਨੋਲੋਜੀਜ਼**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI ਪਰਿਯੋਜਨਾਵਾਂ ਲਈ)
- **ਸਿੱਖਿਆ ਸਮੱਗਰੀ**: 24 ਸਰਗੰਥਿਤ ਪਾਠ ਪ੍ਰੋਜੈਕਟ-ਆਧਾਰਿਤ ਮੌਡੀਊਲਾਂ ਵਿੱਚ ਵੰਡੇ ਹੋਏ
- **ਵਿਆਵਹਾਰਿਕ ਪ੍ਰੋਜੈਕਟ**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor, ਅਤੇ AI Chat Assistant
- **ਇੰਟਰਐਕਟਿਵ ਕੁਇਜ਼**: 48 ਕੁਇਜ਼, ਹਰ ਇੱਕ ਵਿੱਚ 3 ਸਵਾਲ (ਪੂਰਵ/ਪੋਸਟ-ਪਾਠ ਅੰਕੜੇ)
- **ਬਹੁਭਾਸ਼ੀ ਸਹਿਯੋਗ**: GitHub Actions ਦੁਆਰਾ 50+ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ 자동 ਅਨੁਵਾਦ
- **ਤਕਨੀਕਾਂ**: HTML, CSS, ਜਾਵਾਸਕ੍ਰਿਪਟ, Vue.js 3, Vite, Node.js, Express, Python (AI ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ)
### Architecture
### ਬਣਤਰ
- ਪਾਠ-ਅਧਾਰਿਤ ਡھانਚਾ ਵਾਲਾ ਸਿੱਖਿਆ ਗ੍ਰਹਿ
- ਹਰ ਪਾਠ ਫੋਲਡਰ ਵਿੱਚ README, ਕੋਡ ਉਦਾਹਰਨਾਂ, ਅਤੇ ਹੱਲ ਹੁੰਦੇ ਹਨ
- ਵੱਖ-ਵੱਖ ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ ਖੁਦਮੁਖਤਿਆਰ ਪਰਿਯੋਜਨਾਵਾਂ (quiz-app, ਵੱਖ-ਵੱਖ ਪਾਠ ਪ੍ਰਾਜੈਕਟ)
- GitHub Actions (co-op-translator) ਵੱਲੋਂ ਅਨੁਵਾਦ ਪ੍ਰਣਾਲੀ
- Docsify ਰਾਹੀਂ ਦਸਤਾਵੇਜ਼ ਕੀਤੇ ਗਏ ਅਤੇ PDF ਵਜੋਂ ਉਪਲਬਧ
- ਸਿੱਖਿਆ ਸਮੱਗਰੀ ਨੂੰ ਪਾਠ-ਆਧਾਰਿਤ ਬਣਤਰ ਵਿੱਚ ਰੱਖਿਆ ਗਿਆ
- ਹਰ ਪਾਠ ਫੋਲਡਰ ਵਿੱਚ README, ਕੋਡ ਉਦਾਹਰਣਾਂ ਅਤੇ ਹੱਲ ਹੁੰਦੇ ਹਨ
- ਅਲੱਗ ਅਲੱਗ ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ ਅਲੱਗ ਪ੍ਰੋਜੈਕਟ (quiz-app, ਵੱਖਰੇ ਪਾਠ ਪ੍ਰੋਜੈਕਟ)
- GitHub Actions (co-op-translator) ਨਾਲ ਅਨੁਵਾਦ ਪ੍ਰਣਾਲੀ
- Docsify ਰਾਹੀਂ ਦਸਤਾਵੇਜ਼ ਵੈਂਟਰੇ ਅਤੇ PDF ਰੂਪ ਵਿੱਚ ਉਪਲਬਧ
## Setup Commands
## ਸੈੱਟਅੱਪ ਕਮਾਂਡਾਂ
ਇਹ ਗ੍ਰਹਿ ਮੁੱਖ ਤੌਰ 'ਤੇ ਸਿੱਖਿਆ ਸਮੱਗਰੀ ਖਪਤ ਲਈ ਹੈ। ਖਾਸ ਪਰਿਯੋਜਨਾਵਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ:
ਇਹ ਰਿਪੋਜ਼ਿਟਰੀ ਮੁੱਖ ਰੂਪ ਵਿੱਚ ਸਿੱਖਿਆ ਸਮੱਗਰੀ ਵਰਤੋਂ ਲਈ ਹੈ। ਵਿਸ਼ੇਸ਼ ਪ੍ਰੋਜੈਕਟਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ:
### Main Repository Setup
### ਮੁੱਖ ਰਿਪੋਜ਼ਿਟਰੀ ਸੈੱਟਅੱਪ
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Quiz App Setup (Vue 3 + Vite)
### Quiz App ਸੈੱਟਅੱਪ (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # ਵਿਕਾਸ ਸਰਵਰ ਸ਼ੁਰੂ ਕਰੋ
npm run build # ਉਤਪਾਦਨ ਲਈ ਬਣਾਓ
npm run build # ਉਤਪਾਦਨ ਲਈ ਬਿਲਡ ਕਰੋ
npm run lint # ESLint ਚਲਾਓ
```
### Bank Project API (Node.js + Express)
### Bank ਪ੍ਰੋਜੈਕਟ API (Node.js + Express)
```bash
cd 7-bank-project/api
@ -51,232 +51,232 @@ npm run lint # ESLint ਚਲਾਓ
npm run format # Prettier ਨਾਲ ਫਾਰਮੈਟ ਕਰੋ
```
### Browser Extension Projects
### Browser Extension ਪ੍ਰੋਜੈਕਟ
```bash
cd 5-browser-extension/solution
npm install
# ਬ੍ਰਾਉਜ਼ਰ-ਖਾਸ ਐਕਸਟੈਂਸ਼ਨ ਲੋਡਿੰਗ ਹਦਾਇਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ
# ਬ੍ਰਾਊਜ਼ਰ-ਖਾਸ ਐਕਸਟੈਂਸ਼ਨ ਲੋਡਿੰਗ ਨਿਰਦੇਸ਼ਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ
```
### Space Game Projects
### Space Game ਪ੍ਰੋਜੈਕਟ
```bash
cd 6-space-game/solution
npm install
# index.html ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਖੋਲ੍ਹੋ ਜਾਂ ਲਾਈਵ ਸਰਵਰ ਵਰਤੋ
# ਇੰਡੈਕਸ.html ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਖੋਲ੍ਹੋ ਜਾਂ ਲਾਈਵ ਸਰਵਰ ਵਰਤੋ
```
### Chat Project (Python Backend)
### Chat ਪ੍ਰੋਜੈਕਟ (Python ਬੈਕਐਂਡ)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# GITHUB_TOKEN ਵਾਤਾਵਰਣ ਵੈਰੀਏਬਲ ਸੈੱਟ ਕਰੋ
# GITHUB_TOKEN ਵਾਤਾਵਰਣ ਚਰ ਨੂੰ ਸੈੱਟ ਕਰੋ
python api.py
```
## Development Workflow
## ਵਿਕਾਸ ਦਾ ਕੰਮ ਕਰਨ ਦਾ ਤਰੀਕਾ
### For Content Contributors
### ਸਮੱਗਰੀ ਯੋਗਦਾਨਕਰਤਾਵਾਂ ਲਈ
1. **ਗ੍ਰਹਿ ਨੂੰ ਫੋਰਕ ਕਰੋ** ਆਪਣੇ GitHub ਖਾਤੇ 'ਤੇ
2. **ਆਪਣੇ ਫੋਰਕ ਨੂੰ ਕਲੋਨ ਕਰੋ** ਸਥਾਨਕ ਤੌਰ 'ਤੇ
3. **ਆਪਣੇ ਬਦਲਾਅ ਲਈ ਨਵੀਂ ਸ਼ਾਖਾ ਬਣਾਓ**
4. ਪਾਠ ਸਮੱਗਰੀ ਜਾਂ ਕੋਡ ਉਦਾਹਰਨਾਂ ਵਿੱਚ ਬਦਲਾਅ ਕਰੋ
5. ਸੰਬੰਧਤ ਪਰਿਯੋਜਨਾ ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ ਕੋਈ ਵੀ ਕੋਡ ਬਦਲਾਅ ਟੈਸਟ ਕਰੋ
6. ਯੋਗਦਾਨ ਦਿਓਣੀਆਂ ਹਦਾਇਤਾਂ ਦੇ ਅਨੁਸਾਰ ਪੁੱਲ ਰਿਕਵੇਸਟ ਭੇਜੋ
1. ਆਪਣੇ GitHub ਖਾਤੇ ਵਿੱਚ ਰਿਪੋਜ਼ਿਟਰੀ ਨੂੰ ਫੋਰਕ ਕਰੋ
2. ਆਪਣੇ ਫੋਰਕ ਨੂੰ ਸਥਾਨਕ ਕਲੋਨ ਕਰੋ
3. ਆਪਣੀਆਂ ਬਦਲਾਵਾਂ ਲਈ ਨਵਾਂ ਬ੍ਰਾਂਚ ਬਣਾਓ
4. ਪਾਠ ਸਮੱਗਰੀ ਜਾਂ ਕੋਡ ਉਦਾਹਰਣਾਂ ਵਿੱਚ ਬਦਲਾਵ ਕਰੋ
5. ਸੰਬੰਧਿਤ ਪ੍ਰੋਜੈਕਟ ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ ਕੋਡ ਨੂੰ ਟੈਸਟ ਕਰੋ
6. ਯੋਗਦਾਨ ਸਬੰਧੀ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ਾਂ ਅਨੁਸਾਰ ਪੁਲ ਰਿਕਵੈਸਟ ਭੇਜੋ
### For Learners
### ਸਿੱਖਣ ਵਾਲਿਆਂ ਲਈ
1. ਗ੍ਰਹਿ ਨੂੰ ਫੋਰਕ ਜਾਂ ਕਲੋਨ ਕਰੋ
2. ਪਾਠ ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ ਲੜੀਵਾਰ ਜਾਓ
1. ਰਿਪੋਜ਼ਿਟਰੀ ਨੂੰ ਫੋਰਕ ਜਾਂ ਕਲੋਨ ਕਰੋ
2. ਲਗਾਤਾਰ ਪਾਠ ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ ਜਾਓ
3. ਹਰ ਪਾਠ ਲਈ README ਫਾਈਲਾਂ ਪੜ੍ਹੋ
4. https://ff-quizzes.netlify.app/web/ 'ਤੇ ਪ੍ਰੀ-ਪਾਠ ਕੁਈਜ਼ ਪੂਰੇ ਕਰੋ
5. ਪਾਠ ਫੋਲਡਰਾਂ ਵਿੱਚ ਕੋਡ ਉਦਾਹਰਾਂ 'ਤੇ ਕੰਮ ਕਰੋ
4. ਪ੍ਰੀ-ਪਾਠ ਕੁਇਜ਼ https://ff-quizzes.netlify.app/web/ ਤੇ ਪੂਰੇ ਕਰੋ
5. ਪਾਠ ਫੋਲਡਰਾਂ ਵਿੱਚ ਕੋਡ ਉਦਾਹਰਾਂ 'ਤੇ ਕੰਮ ਕਰੋ
6. ਅਸਾਈਨਮੈਂਟ ਅਤੇ ਚੈਲੈਂਜ ਪੂਰੇ ਕਰੋ
7. ਪੋਸਟ-ਪਾਠ ਕੁਜ਼ ਲਓ
7. ਪੋਸਟ-ਪਾਠ ਕੁਜ਼ ਲਓ
### Live Development
### ਲਾਈਵ ਵਿਕਾਸ
- **ਦਸਤਾਵੇਜ਼**: ਰੂਟ ਵਿੱਚ `docsify serve` ਚਲਾਓ (ਪੋਰਟ 3000)
- **Quiz App**: quiz-app ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ `npm run dev` ਚਲਾਓ
- **ਰਿਯੋਜਨਾਵਾਂ**: HTML ਪਰਿਯੋਜਨਾਵਾਂ ਲਈ VS Code Live Server ਐਕਸਟੈਂਸ਼ਨ ਵਰਤੋਂ
- **API ਪਰਿਯੋਜਨਾਵਾਂ**: ਸੰਬੰਧਤ API ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ `npm start` ਚਲਾਓ
- **ਕੁਇਜ਼ ਐਪ**: quiz-app ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ `npm run dev` ਚਲਾਓ
- **੍ਰੋਜੈਕਟ**: VS Code Live Server ਐਕਸਟੇਸ਼ਨ ਵਲੋਂ HTML ਪ੍ਰੋਜੈਕਟ ਚਲਾਓ
- **API ਪ੍ਰੋਜੈਕਟ**: ਸੰਬੰਧਿਤ API ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ `npm start` ਚਲਾਓ
## Testing Instructions
## ਟੈਸਟਿੰਗ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼
### Quiz App Testing
### Quiz ਐਪ ਟੈਸਟਿੰਗ
```bash
cd quiz-app
npm run lint # ਕੋਡ ਸ਼ੈਲੀ ਸਮੱਸਿਆਵਾਂ ਦੀ ਜਾਂਚ ਕਰੋ
npm run build # ਬਣਾਉਣ ਦੀ ਸਫਲਤਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ
npm run lint # ਕੋਡ ਸ਼ੈਲੀ ਦੇ ਮੁੱਦਿਆਂ ਦੀ ਜਾਂچ ਕਰੋ
npm run build # ਬਣਾਉਂਡ ਦੁਆਰਾ ਸਫਲ ਹੋਣ ਦੀ ਜਾਂਚ ਕਰੋ
```
### Bank API Testing
### ਬੈਂਕ API ਟੈਸਟਿੰਗ
```bash
cd 7-bank-project/api
npm run lint # ਕੋਡ ਅੰਦਾਜ਼ ਸਮੱਸਿਆਵਾਂ ਦੀ ਜਾਂਚ ਕਰੋ
node server.js # ਸਰਵਰ ਬਿਨਾਂ ਵਿੱਚ ਤਰੁੱਟੀਆਂ ਦੇ ਸ਼ੁਰੂ ਹੋਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰ
npm run lint # ਕੋਡ ਸਟਾਈਲ ਸਮੱਸਿਆਵਾਂ ਦੀ ਜਾਂਚ ਕਰੋ
node server.js # ਸਰਵਰ ਬਿਨਾ ਗਲਤੀਆਂ ਦੇ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਜਾਂ ਨਹੀਂ ਜਾਂਚ
```
### General Testing Approach
### ਆਮ ਟੈਸਟਿੰਗ ਪদ্ধਤੀ
- ਇਹ ਸਿੱਖਿਆ ਗ੍ਰਹਿ ਵਿਸਤ੍ਰਿਤ ਸਵੈਚਾਲਿਤ ਟੈਸਟਾਂ ਦੇ ਬਿਨਾਂ ਹੈ
- ਮੈਨੂਅਲ ਟੈਸਟਿੰਗ ਧਿਆਨ ਦਿੰਦੀ ਹੈ:
- ਕੋਡ ਉਦਾਹਰਨਾਂ ਬਿਨਾਂ ਗਲਤੀਆਂ ਚੱਲਦੀਆਂ ਹਨ
- ਦਸਤਾਵੇਜ਼ੀ ਲਿੰਕ ਠੀਕ ਕੰਮ ਕਰਦੇ ਹਨ
- ਪਰਿਯੋਜਨਾ ਬਿਲਡ ਸਫਲ ਹੋ ਜਾਂਦੇ ਹਨ
- ਉਦਾਹਰਨਾਂ ਸਾਰਥਕ ਪद्धਤੀਆਂ ਦੀ ਪਾਲਣਾ ਕਰਦੀਆਂ ਹਨ
- ਇਹ ਇੱਕ ਸਿੱਖਿਆ ਰਿਪੋਜ਼ਿਟਰੀ ਹੈ ਜਿਸ ਵਿੱਚ ਵਿਆਪਕ ਆਟੋਮੇਟੇਡ ਟੈਸਟ ਨਹੀਂ ਹਨ
- ਮੈਨੂਅਲ ਟੈਸਟਿੰਗ ਧਿਆਨ ਦੇਂਦਾ ਹੈ:
- ਕੋਡ ਉਦਾਹਰਣਾਂ ਨੂੰ ਬਿਨਾ ਗਲਤੀ ਚਲਾਉਣਾ
- ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਲਿੰਕ ਸਹੀ ਕੰਮ ਕਰਦੇ ਹੋਣ
- ਪ੍ਰੋਜੈਕਟ ਸਹੀ ਖ਼ਤਮ ਹੋਣ
- ਉਦਾਹਰਣ ਵਧੀਆ ਤਰੀਕੇ ਦੀ ਪਾਲਣਾ ਕਰਦੇ ਹੋਣ
### Pre-submission Checks
### ਪਰੇ-ਸਬਮਿਸ਼ਨ ਚੈਕਸ
- package.json ਵਾਲੀਆਂ ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ `npm run lint` ਚਲਾਓ
- ਮਾਰਕਡਾਉਨ ਲਿੰਕਾਂ ਦੀ ਸਹੀਤਾ ਕੱਰੂ
- ਬਰਾਊਜ਼ਰ ਜਾਂ Node.js ਵਿੱਚ ਕੋਡ ਉਦਾਹਰਨਾਂ ਟੈਸਟ ਕਰੋ
- ਅਨੁਵਾਦਾਂ ਦੀ ਢਾਂਚਾਗਤ ਸਹੀਤਾ ਨੂੰ ਜਾਂਚ
- ਜਿਨ੍ਹਾਂ ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ package.json ਹੈ ਉਥੇ `npm run lint` ਚਲਾਓ
- ਮਾਰਕਡਾਊਨ ਲਿੰਕਾਂ ਨੂੰ ਸਹੀ ਪਰਖੋ
- ਕੋਡ ਉਦਾਹਰਣਾਂ ਨੂੰ ਬਰਾਊਜ਼ਰ ਜਾਂ Node.js ਵਿੱਚ ਟੈਸਟ ਕਰੋ
- ਅਨੁਵਾਦ ਸੰਰਚਨਾ ਨੂੰ ਠੀਕ ਰੱਖਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰ
## Code Style Guidelines
## ਕੋਡ ਸਟਾਈਲ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼
### JavaScript
### ਜਾਵਾਸਕ੍ਰਿਪਟ
- ਆਧੁਨਿਕ ES6+ ਸਿੰਟੈਕਸ ਵਰਤੋਂ
- ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਦਿੱਤੇ ਗਏ ਅਮਾਨਤ ESLint ਸੰਰਚਨਾਵਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ
- ਸਿੱਖਣ ਲਈ ਮਹੱਤਵਪੂਰਨ ਵੈਰੀਏਬਲ ਅਤੇ ਫੰਕਸ਼ਨ ਨਾਮ ਵਰਤੋਂ
- ਸਿੱਖਣ ਵਾਲਿਆਂ ਲਈ ਵਿਚਾਰ ਵਿਆਖਿਆ ਕਰਨ ਵਾਲੀਆਂ ਟਿੱਪਣੀਆਂ ਸ਼ਾਮਲ ਕਰ
- ਜਿੱਥੇ ਸੰਰਚਿਤ ਹੋਵੇ Prettier ਨਾਲ ਫਾਰਮੈਟਿੰਗ ਕਰ
- ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਦਿੱਤੇ ESLint ਨਿਯਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ
- ਸਿੱਖਿਆ ਦੀ ਸਪਸ਼ਟਤਾ ਲਈ ਵਿਆਖਿਆਤਮਕ ਵੇਰੀਅਬਲ ਅਤੇ ਫੰਕਸ਼ਨ ਨਾਂ ਵਰਤੋ
- ਸਿੱਖਣ ਵਾਲਿਆਂ ਲਈ ਟਿੱਪਣੀਆਂ ਜੋੜ
- ਜਿੱਥੇ ਤੇਜ਼ੀ ਨਾਲ ਹੱਲ ਕਰਨ ਵਾਲੇ ਪ੍ਰੀਟੀਅਰ ਵਰਤ
### HTML/CSS
- Semantic HTML5 ਤੱਤ
- ਪ੍ਰਤੀਕ੍ਰਿਆਸ਼ੀਲ ਡਿਜ਼ਾਈਨ ਸਿਧਾਂਤ
- ਸਾਫ ਸੀਝੀ ਕਲਾਸ ਨਾਮਕਰਨ ਪਰੰਪਰਾਵਾਂ
- CSS ਤਕਨੀਕਾਂ ਨੂੰ ਸਮਝਾਉਂਦੀਆਂ ਟਿੱਪਣੀਆਂ ਸਿੱਖਣ ਵਾਲਿਆਂ ਲਈ
- ਸੈਂਟੀਮੈਟਿਕ HTML5 ਇਲੈਮੈਂਟ
- ਰਿਸਪਾਂਸਿਵ ਡਿਜ਼ਾਈਨ ਸਿਧਾਂਤ
- ਸਾਫ਼ ਸੰਗਠਿਤ ਕਲਾਸ ਨਾਂ
- CSS ਤਕਨੀਕਾਂ ਲਈ ਟਿੱਪਣੀਆਂ ਸਿੱਖਣ ਵਾਲਿਆਂ ਲਈ
### Python
### ਪਾਇਥਨ
- PEP 8 ਸ਼ੈਲੀ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼
- ਸਾਫ, ਸਿੱਖਣਯੋਗ ਕੋਡ ਉਦਾਹਰਨਾਂ
- ਸਿੱਖਣ ਵਿੱਚ ਮਦਦ ਲਈ ਟਾਈਪ ਹਿੰਟ
- PEP 8 ਸਟਾਈਲ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼
- ਸਪਸ਼ਟ ਅਤੇ ਸਿੱਖਣ ਜੋਗੇ ਕੋਡ ਉਦਾਹਰਣ
- ਸਿੱਖਣ ਲਈ ਟਾਈਪ ਹਿੰਟ ਜਿੱਥੇ ਲੋੜ ਹੋਵੇ
### Markdown Documentation
### ਮਾਰਕਡਾਊਨ ਦਸਤਾਵੇਜ਼ੀ
- ਸਾਫ ਸਿਰਲੇਖ ਹਾਇਰਾਰਕੀ
- ਭਾਸ਼ਾ ਨਿਰਧਾਰਿਤ ਕੋਡ ਬਲਾਕ
- ਵਾਧੂ ਸਰੋਤਾਂ ਲਈ ਲਿੰਕ
- `images/` ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ ਸਕਰੀਨਸ਼ਾਟ ਅਤੇ ਚਿੱਤਰ
- ਸੁਗਮਤਾ ਲਈ ਚਿੱਤਰਾਂ ਲਈ Alt ਟੈਕਸਟ
- ਸਪਸ਼ਟ ਹੈਡਿੰਗ ਹਾਇਰਾਰਕੀ
- ਭਾਾ ਨਿਰਧਾਰਿਤ ਕੋਡ ਬਲਾਕ
- ਵਾਧੂ ਸਾਧਨਾਂ ਲਈ ਲਿੰਕ
- `images/` ਫੋਲਡਰ ਵਿੱਚ ਸਕ੍ਰੀਨਸ਼ੌਟ ਅਤੇ ਚਿੱਤਰ
- ਪਹੁੰਚਯੋਗਤਾ ਲਈ ਚਿੱਤਰਾਂ ਦਾ Alt ਟੈਕਸਟ
### File Organization
### ਫਾਈਲ ਸੰਗਠਨ
- ਪਾਠ ਕ੍ਰਮਵਾਰ ਨੰਬਰ ਦੇ ਨਾਲ (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}/` ਬਣਤਰ ਵਿੱਚ
## Build and Deployment
## ਬਣਾਉ ਅਤੇ ਤैनਾਤੀ
### Quiz App Deployment (Azure Static Web Apps)
### Quiz ਐਪ ਤੈਨਾਤੀ (Azure Static Web Apps)
quiz-app ਨੂੰ Azure Static Web Apps ਡਿਪਲੋਇਮੈਂਟ ਲਈ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ:
quiz-app ਨੂੰ Azure Static Web Apps ਲਈ ਤਾਇਨਾਤ ਕੀਤਾ ਗਿਆ ਹੈ:
```bash
cd quiz-app
npm run build # dist/ ਫੋਲਡਰ ਬਣਾਉਂਦਾ ਹੈ
# ਮੁੱਖ ਬ੍ਰਾਂਚ 'ਤੇ ਪੁਸ਼ ਕਰਨ 'ਤੇ GitHub Actions ਵਰਕਫਲੋ ਰਾਹੀਂ ਤੈਨਾਤ ਕਰਦਾ ਹੈ
# ਮੂਲ ‘ਤੇ ਧੱਕਣ ‘ਤੇ GitHub Actions ਵਰਕਫਲੋ ਰਾਹੀਂ ਤਾਇਨਾਤ ਕਰਦਾ ਹੈ
```
Azure Static Web Apps ਕਨਫਿਗਰੇਸ਼ਨ:
Azure Static Web Apps ਸੰਰਚਨਾ:
- **ਐਪ ਸਥਾਨ**: `/quiz-app`
- **ਆਉਟਪੁੱਟ ਸਥਾਨ**: `dist`
- **ਵਰਕਫਲੋ**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Documentation PDF Generation
### ਦਸਤਾਵੇਜ਼ PDF ਬਣਾਉ
```bash
npm install # docsify-to-pdf ਨੂੰ ਇੰਸਟਾਲ ਕਰੋ
npm run convert # docs ਤੋਂ PDF ਬਣਾਓ
npm run convert # docs ਤੋਂ PDF ਤਿਆਰ ਕਰੋ
```
### Docsify Documentation
### Docsify ਦਸਤਾਵੇਜ਼ੀ
```bash
npm install -g docsify-cli # Docsify ਨੂੰ ਗਲੋਬਲੀ ਇੰਸਟਾਲ ਕਰੋ
docsify serve # localhost:3000 'ਤੇ ਸਰਵ ਕਰੋ
npm install -g docsify-cli # ਡੋਕਸਿਫਾਈ ਨੂੰ ਗਲੋਬਲ ਤੌਰ 'ਤੇ ਇੰਸਟਾਲ ਕਰੋ
docsify serve # ਲੋਕਲਹੁਸਟ:3000 'ਤੇ ਸਰਵ ਕਰੋ
```
### Project-specific Builds
### ਪ੍ਰੋਜੈਕਟ-ਵਿਸ਼ੇਸ਼ ਬਣਾਉ
ਹਰ ਪਰਿਯੋਜਨਾ ਡਾਇਰੈਕਟਰੀ ਆਪਣਾ ਨਿਰਮਾਣ ਪ੍ਰਕਿਰਿਆ ਰੱਖ ਸਕਦੀ ਹੈ:
- Vue ਪ੍ਰਾਜੈਕਟ: `npm run build` ਪ੍ਰੋਡਕਸ਼ਨ ਬੰਡਲ ਬਣਾਉਂਦਾ ਹੈ
- ਸਟੈਟਿਕ ਪ੍ਰਾਜੈਕਟ: ਕੋਈ ਨਿਰਮਾਣ ਕਦਮ ਨਹੀਂ, ਫਾਈਲਾਂ ਸਿੱਧਾ ਸਰਵ ਕਰੋ
ਹਰ ਪ੍ਰੋਜੈਕਟ ਡਾਇਰੈਕਟਰੀ ਦਾ ਆਪਣਾ ਬਣਾਉ ਪ੍ਰਕਿਰਿਆ ਹੋ ਸਕਦੀ ਹੈ:
- Vue ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ: `npm run build` ਪ੍ਰੋਡਕਸ਼ਨ ਬੰਡਲ ਬਣਾਉਂਦਾ ਹੈ
- ਸਥਿਰ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ: ਕੋਈ ਬਣਾਉ ਕਦਮ ਨਹੀਂ, ਫਾਈਲਾਂ ਸਿੱਧਾ ਸਰਵ ਕਰੋ
## Pull Request Guidelines
## ਪੁਲ ਰਿਕਵੈਸਟ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼
### Title Format
### ਸਿਰਲੇਖ ਫਾਰਮੈਟ
ਬਦਲਾਅ ਖੇਤਰ ਨੂੰ ਦਰਸਾਉਂਦੇ ਸਾਫਸੁਥਰੇ, ਵਰਣਨਾਤਮਕ ਸਿਰਲੇਖ ਵਰਤੋਂ:
ਸੁਝਾਅ ਬਦਲਾਅ ਦੇ ਹਿੱਸੇ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਦਰਸਾਉਣ ਵਾਲੇ ਸਿਰਲੇਖ ਵਰਤੋ:
- `[Quiz-app] Add new quiz for lesson X`
- `[Lesson-3] Fix typo in terrarium project`
- `[Translation] Add Spanish translation for lesson 5`
- `[Docs] Update setup instructions`
### Required Checks
### ਜ਼ਰੂਰੀ ਚੈੱਕ
PR ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ:
ਪੁਲ ਰਿਕਵੈਸਟ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ:
1. **ਕੋਡ ਗੁਣਵੱਤਾ**:
- ਪ੍ਰਭਾਵਿਤ ਪ੍ਰੋਜੈਕਟ ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ `npm run lint` ਚਲਾਓ
- ਸਾਰੀਆਂ ਲਿੰਟਿੰਗ ਗਲਤੀਆਂ ਅਤੇ ਚੇਤਾਵਨੀਆਂ ਠੀਕ ਕਰੋ
1. **ਕੋਡ ਕੁਆਲਿਟੀ**:
- ਪ੍ਰਭਾਵਿਤ ਪ੍ਰੋਜੈਕਟ ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ `npm run lint` ਚਲਾਓ
- ਸਾਰੇ ਕਮੀਆਂ ਅਤੇ ਚੇਤਾਵਨੀ ਸੁਧਾਰੋ
2. **ਨਿਰਮਾਣ ਪ੍ਰਮਾਣਿਕਤਾ**:
2. **ਬਿਲਡ ਚੈਕ**:
- ਜੇ ਲਾਗੂ ਹੋਵੇ ਤਾਂ `npm run build` ਚਲਾਓ
- ਕੋਈ ਨਿਰਮਾਣ ਗਲਤੀਆਂ ਨਹੀਂ ਹੋਣ ਦਿਓ
- ਕੋਈ ਬਣਾਉ ਗਲਤੀ ਨਾ ਹੋਵੇ
3. **ਲਿੰਕ ਜਾਂਚ**:
- ਸਾਰੇ ਮਾਰਕਡਾਉਨ ਲਿੰਕ ਟੈਸਟ ਕਰੋ
- ਚਿੱਤਰ ਰੇਫਰੰਸ ਕੰਮ ਕਰਦੇ ਹਨ ਜਾਂ ਨਹੀਂ ਵੇਖ
3. **ਲਿੰਕ ਦਾ ਪਰਖ**:
- ਸਾਰੇ ਮਾਰਕਡਾਊਨ ਲਿੰਕਾਂ ਟੈਸਟ ਕਰੋ
- ਚਿੱਤਰ ਦੇ ਸੰਦਰਭ ਸਹੀ ਹੋਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰ
4. **ਸਮੱਗਰੀ ਸਮੀਖਿਆ**:
- ਵਿਆਕਰਨ ਅਤੇ ਸਪੈਲਿੰਗ ਲਈ ਪ੍ਰੂਫਰੀਡ ਕਰ
- ਕੋਡ ਉਦਾਹਰਨ ਸਹੀ ਅਤੇ ਸਿੱਖਣਯੋਗ ਹੋਣ ਯਕੀਨੀ ਬਣਾਓ
- ਅਨੁਵਾਦ ਮੂਲ ਅਰਥ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦੇ ਹਨ
- ਵਰਣਮਾਲਾ ਅਤੇ ਵਿਆਕਰਨ ਸਹੀ ਹੈ ਕੀ ਨਹੀਂ ਪੜ੍ਹ
- ਕੋਡ ਉਦਾਹਰਣ ਸਹੀ ਅਤੇ ਸਿੱਖਣ ਯੋਗ ਹਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ
- ਅਨੁਵਾਦ ਅਸਲੀ ਮਹੱਤਵ ਬਣਾਈ ਰੱਖਦੇ ਹਨ
### Contribution Requirements
### ਯੋਗਦਾਨ ਦੇ ਅਹੁਦੇ
- Microsoft CLA ਨਾਲ ਸਹਿਮਤੀ ਜਤਾਓ (ਪਹਿਲੀ PR 'ਤੇ ਸਵੈਚਾਲਿਤ ਜਾਂਚ)
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) ਦੀ ਪਾਲਣਾ ਕਰੋ
- Microsoft CLA ਨਾਲ ਸਹਿਮਤ ਹੋਵੋ (ਪਹਿਲੀ PR ਲਈ ਆਟੋਚੈਕ)
- [Microsoft Open Source ਕੋਡ ਆਫ਼ ਕੰਡੱਕਟ](https://opensource.microsoft.com/codeofconduct/) ਦੀ ਪਾਲਣਾ ਕਰੋ
- ਵਿਸਥਾਰ ਲਈ [CONTRIBUTING.md](./CONTRIBUTING.md) ਵੇਖੋ
- ਜੇ ਲੋੜ ਹੋਵੇ ਤਾਂ PR ਵੇਰਣ ਵਿੱਚ ਇਸ਼ੂ ਨੰਬਰ ਉਲਲੇਖ ਕਰੋ
- ਜੇ ਲਾਗੂ ਹੋਵੇ ਤਾਂ ਪੁਲ ਰਿਕਵੈਸਟ ਵੇਰਵੇ ਵਿੱਚ ਮੁਦਦਾ ਨੰਬਰ ਦਰਜ ਕਰੋ
### Review Process
### ਸਮੀਖਿਆ ਪ੍ਰਕਿਰਿਆ
- PR maintainers ਅਤੇ ਕਮਿਊਨਿਟੀ ਵੱਲੋਂ ਸਮੀਖਿਆ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ
- ਸਿੱਖਣਯੋਗਤਾ ਨੂੰ ਪ੍ਰਾਥਮਿਕਤਾ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ
- ਕੋਡ ਉਦਾਹਰਨ ਮੌਜੂਦਾ ਸਰਵੋਤਮ ਅਭਿਆਸਾਂ ਨੂੰ ਫਾਲੋ ਕਰਦੇ ਹੋਣ
- ਅਨੁਵਾਦ ਸਹੀਅਤ ਅਤੇ ਸਾਂਸਕ੍ਰਿਤਿਕ ਅਨੁਕੂਲਤਾ ਲਈ ਸਮੀਖਿਆ ਕੀਤੇ ਜਾਂਦੇ ਹਨ
- ਪੁਲ ਰਿਕਵੈਸਟ ਨੂੰ ਸੁਚਾਲਕ ਅਤੇ ਕਮਿਊਨਿਟੀ ਦੁਆਰਾ ਸਮੀਖਿਆ ਕੀਤਾ ਜਾਵੇਗਾ
- ਸਿੱਖਿਆ ਸਪਸ਼ਟਤਾ ਨੂੰ ਪਹਿਲ ਦਿੱਤੀ ਜਾਵੇਗੀ
- ਕੋਡ ਉਦਾਹਰਣ ਨੂੰ ਵਰਤਮਾਨ ਵਧੀਆ ਤਰੀਕੇ ਅਨੁਸਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ
- ਅਨੁਵਾਦ ਨੂੰ ਯਥਾਰਥ ਅਤੇ ਸੱਭਿਆਚਾਰਕ ਤੌਰ 'ਤੇ ਜ਼ਾਂਚਿਆ ਜਾਵੇਗਾ
## Translation System
## ਅਨੁਵਾਦ ਪ੍ਰਣਾਲੀ
### Automated Translation
### ਆਟੋਮੇਟੇਡ ਅਨੁਵਾਦ
- GitHub Actions ਵਿੱਚ co-op-translator ਵਰਕਫਲੋ ਵਰਦਾ ਹੈ
- 50+ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦ ਕਰਦਾ ਹੈ
- ਮੁੱਖ ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ ਸੋਰਸ ਫਾਈਲਾਂ
- `translations/{language-code}/` ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ ਅਨੁਵਾਦਿਤ ਫਾਈਲਾਂ
- GitHub Actions ਵਿੱਚ co-op-translator ਵਰਕਫਲੋ ਵਾਪਰਦਾ ਹੈ
- 50+ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਆਪਣੇ ਆਪ ਅਨੁਵਾਦ ਕਰਦਾ ਹੈ
- ਮੂਲ ਫਾਈਲਾਂ ਮੁੱਖ ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ ਹਨ
- ਅਨੁਵਾਦਿਤ ਫਾਈਲਾਂ `translations/{language-code}/` ਵਿੱਚ ਹਨ
### Adding Manual Translation Improvements
### ਮੈਨੂਅਲ ਅਨੁਵਾਦ ਸੁਧਾਰ ਜੋੜਨਾ
1. `translations/{language-code}/` ਵਿੱਚ ਫਾਈਲ ਲੱਭੋ
2. ਢਾਂਚਾ ਬਰਕਰਾਰ ਰੱਖਦਿਆਂ ਸੁਧਾਰ ਕਰੋ
3. ਕੋਡ ਉਦਾਹਰਨ ਕਾਰਗਰ ਰਹਿਣ ਇਹ ਯਕੀਨੀ ਬਣਾਓ
4. ਸਥਾਨਕਕ੍ਰਿਤ ਕੁਈਜ਼ ਸਮੱਗਰੀ ਟੈਸਟ ਕਰੋ
2. ਸੰਰਚਨਾ ਬਿਨਾ ਬਦਲੇ ਸੁਧਾਰ ਕਰੋ
3. ਕੋਡ ਉਦਾਹਰਣਾਂ ਨੂੰ ਫੰਕਸ਼ਨਲ ਰੱਖੋ
4. ਕਿਸੇ ਵੀ ਸਥਾਨਕ ਕੁਇਜ਼ ਸਮੱਗਰੀ ਨੂੰ ਟੈਸਟ ਕਰੋ
### Translation Metadata
### ਅਨੁਵਾਦ ਮੇਟਾਡਾਟਾ
ਅਨੁਵਾਦਿਤ ਫਾਈਲਾਂ ਵਿੱਚ ਮੈਟਾਡੇਟਾ ਹੈਡਰ ਹੁੰਦਾ ਹੈ:
ਅਨੁਵਾਦਿਤ ਫਾਈਲਾਂ ਵਿੱਚ ਮੇਟਾਡਾਟਾ ਹੈਡਰ ਹੁੰਦਾ ਹੈ:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Debugging and Troubleshooting
## ਡੀਬੱਗਿੰਗ ਅਤੇ ਸਮੱਸਿਆ ਸਲਝਾਉਣਾ
### Common Issues
### ਆਮ ਸਮੱਸਿਆਵਾਂ
**Quiz app fail to start**:
- Node.js ਦਾ ਵਰਜਨ ਜਾਂਚੋ (v14+ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ)
**ਕੁਇਜ਼ ਐਪ ਸ਼ੁਰੂ ਨਹੀਂ ਹੁੰਦਾ**:
- Node.js ਵਰਜ਼ਨ (v14+ ਸਿਫਾਰਸ਼ੀ) ਚੈੱਕ ਕਰੋ
- `node_modules` ਅਤੇ `package-lock.json` ਮਿਟਾਓ, ਫਿਰ `npm install` ਚਲਾਓ
- ਪੋਰਟ ਟਕਰਾਅ ਦੀ ਜਾਂਚ ਕਰੋ (ਡਿਫਾਲਟ: Vite ਪੋਰਟ 5173 ਵਰਤਦਾ ਹੈ)
- ਪੋਰਟ ਟਕਰਾਅ ਦੇਖੋ (ਡਿਫਾਲਟ: Vite ਪੋਰਟ 5173 ਵਰਤਦਾ ਹੈ)
**API server won't start**:
- Node.js ਦਾ ਵਰਜਨ ਘੱਟੋ-ਘੱਟ (node >=10) ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ
- ਪੋਰਟ ਪਹਿਲਾਂ ਤੋਂ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ ਜਾਂ ਨਹੀਂ ਚੈੱਕ ਕਰ
- ਸਾਰੀਆਂ ਡਿਪੈਂਡੈਂਸੀਜ਼ ਨੂੰ `npm install` ਨਾਲ ਇੰਸਟਾਲ ਕਰੋ
**API ਸਰਵਰ ਸ਼ੁਰੂ ਨਹੀਂ ਹੁੰਦਾ**:
- Node.js ਵਰਜ਼ਨ ਨਿਯਮਤ ਹੈ (node >=10)
- ਪੋਰਟ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ ਜਾਂ ਨਹੀਂ ਵੇਖ
- ਸਾਰੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ `npm install` ਨਾਲ ਇੰਸਟਾਲ ਹੋਈਆਂ ਹਨ
**Browser extension won't load**:
- manifest.json ਦੀ ਸਹੀ ਜ਼ਾਂਚ ਕਰੋ
- ਬ੍ਰਾਊਜ਼ਰ ਕਨਸੋਲ ਵਿੱਚ ਗਲਤੀਆਂ ਵੇਖੋ
- ਬ੍ਰਾਊਜ਼ਰ ਵਿਸ਼ੇਸ਼ ਐਕਸਟੈਂਸ਼ਨ ਇੰਸਟਾਲੇਸ਼ਨ ਨਿਰਦੇਸ਼ਨਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ
**ਬ੍ਰਾਉਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਲੋਡ ਨਹੀਂ ਹੁੰਦੀ**:
- manifest.json ਸਹੀ ਫਾਰਮੈਟ ਹੈ ਜਾਂ ਨਹੀਂ ਚੈੱਕ ਕਰੋ
- ਬ੍ਰਾਉਜ਼ਰ ਕਨਸੋਲ ਦੀ ਗਲਤੀ ਦਿਖਾਈ ਦੇ ਰਹੀ ਹੈ ਜਾਂ ਨਹੀਂ ਵੇਖੋ
- ਬ੍ਰਾਉਜ਼ਰ-ਵਿਸ਼ੇਸ਼ਤ ਐਕਸਟੈਂਸ਼ਨ ਸਥਾਪਨਾ ਹਦਾਇਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ
**Python chat project issues**:
**Python ਚੈਟ ਪ੍ਰੋਜੈਕਟ ਸਮੱਸਿਆ**:
- OpenAI ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰੋ: `pip install openai`
- GITHUB_TOKEN ਵਾਤਾਵਰਣ ਚਰ ਦਾ ਸੈੱਟ ਹੋਣਾ ਜਾਂਚੋ
- GitHub Models ਦੀ ਪ੍ਰਾਪਤੀ ਅਧਿਕਾਰ ਸਹੀ ਹਨ ਜਾਂ ਨਹੀਂ ਵੇਖ
- GITHUB_TOKEN ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਸੈਟ ਹੋਣਾ ਜ਼ਰੂਰੀ
- GitHub ਮਾਡਲਾਂ ਦੀ ਐਕਸੈਸ ਅਧਿਕਾਰ ਚੈੱਕ ਕਰ
**Docsify not serving docs**:
- docsify-cli ਗਲੋਬਲ ਇੰਸਟਾਲ ਕਰੋ: `npm install -g docsify-cli`
- ਗ੍ਰਹਿ ਮੁੱਖ ਡਾਇਰੈਕਟਰੀ ਤੋਂ ਚਲਾਓ
- ਯਕੀਨ ਬਨਾਓ ਕਿ `docs/_sidebar.md` ਮੌਜੂਦ ਹੈ
**Docsify ਦਸਤਾਵੇਜ਼ ਨਹੀਂ ਸਰਵ ਕਰਦਾ**:
- docsify-cli ਗਲੋਬਲਤੌਰ 'ਤੇ ਇੰਸਟਾਲ ਕਰੋ: `npm install -g docsify-cli`
- ਰਿਪੋਜ਼ਿਟਰੀ ਦੇ ਰੂਟ ਤੋਂ ਚਲਾਓ
- `docs/_sidebar.md` ਮੌਜੂਦ ਹੈ ਜਾਂ ਨਹੀਂ ਦੇਖੋ
### Development Environment Tips
### ਵਿਕਾਸ ਵਾਤਾਵਰਣ ਟਿਪਸ
- HTML ਪਰਿਯੋਜਨਾਵਾਂ ਲਈ VS Code Live Server ਐਕਸਟੈਂਸ਼ਨ ਵਰਤੋਂ
- ESLint ਅਤੇ Prettier ਐਕਸਟੈਂਸ਼ਨ ਕੁਨਫਿਗਰ ਕਰੋ ਸੰਗਤਫਾਰਮਟਿੰਗ ਲਈ
- JavaScript ਡਿਬੱਗਿੰਗ ਲਈ ਬ੍ਰਾਊਜ਼ਰ DevTools ਵਰਤੋਂ
- Vue ਪ੍ਰਾਜੈਕਟਾਂ ਲਈ Vue DevTools ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਇੰਸਟਾਲ ਕਰੋ
- HTML ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ VS Code ਨਾਲ Live Server ਐਕਸਟੈਂਸ਼ਨ ਵਰਤੋਂ
- ESLint ਅਤੇ Prettier ਐਕਸਟੈਂਸ਼ਨਸ ਸਥਾਪਤ ਕਰੋ
- ਜਾਵਾਸਕ੍ਰਿਪਟ ਡੀਬੱਗਿੰਗ ਲਈ ਬ੍ਰਾਉਜ਼ਰ DevTools ਵਰਤੋਂ
- Vue ਪ੍ਰੋਜੈਕਟ ਲਈ Vue DevTools ਬ੍ਰਾਉਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਇੰਸਟਾਲ ਕਰੋ
### Performance Considerations
### ਪ੍ਰਦਰਸ਼ਨ ਧਿਆਨ ਵਿੱਚ ਰੱਖਣ ਵਾਲੀਆਂ ਗੱਲਾਂ
- ਵੱਡੀ ਗਿਣਤੀ ਅਨੁਵਾਦਿਤ ਫਾਈਲਾਂ (50+ ਭਾਸ਼ਾਵਾਂ) ਨਾਲ ਪੂਰਨ ਕਲੋਨ ਵੱਡੇ ਹੁੰਦੇ ਹਨ
- ਸਿਰਫ ਸਮੱਗਰੀ 'ਤੇ ਕੰਮ ਕਰਨ ਲਈ shallow clone ਵਰਤੋਂ: `git clone --depth 1`
- ਅੰਗਰੇਜ਼ੀ ਸਮੱਗਰੀ ਤੇ ਕੰਮ ਦੌਰਾਨ ਅਨੁਵਾਦਾਂ ਨੂੰ ਖੋਜ ਤੋਂ ਬਾਹਰ ਰੱਖੋ
- ਪਹਿਲੀ ਵਾਰੀ ਨਿਰਮਾਣ ਪ੍ਰਕਿਰਿਆ ਧੀਮੀ ਹੋ ਸਕਦੀ ਹੈ (npm install, Vite build)
- 50+ ਭਾਸ਼ਾਵਾਂ ਦੇ ਅਨੁਵਾਦ ਨਾਲ ਕਲੋਨ ਵੱਡਾ ਹੈ
- ਸਿਰਫ ਸਮੱਗਰੀ `git clone --depth 1` ਨਾਲ ਘੱਟ ਡੈਪਥ ਕਲੋਨ ਕਰੋ
- ਅੰਗ੍ਰੇਜ਼ੀ ਸਮੱਗਰੀ 'ਚ ਕੰਮ ਦੌਰਾਨ ਅਨੁਵਾਦ ਖੋਜ ਤੋਂ ਬਾਹਰ ਰੱਖੋ
- ਪਹਿਲੀ ਵਾਰੀ ਚਲਾਉਣ ਤੇ npm install ਤੇ Vite build ਕਰਨਾ ਧੀਮਾ ਹੋ ਸਕਦਾ ਹੈ
## Security Considerations
## ਸੁਰੱਖਿਆ ਸਬੰਧੀ ਗੱਲਾਂ
### Environment Variables
### ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ
- API ਚਾਬੀਆਂ ਕਦੇ ਵੀ ਗ੍ਰਹਿ ਵਿੱਚ ਕਮਿਟ ਨਾ ਕਰੋ
- `.env` ਫਾਈਲਾਂ ਵਰਤੋਂ (ਜੇਆਂ `.gitignore` ਵਿੱਚ ਹਨ)
- ਪਰਿਯੋਜਨਾ README ਵਿੱਚ ਜਰੂਰੀ ਵਾਤਾਵਰਣ ਚਰ ਦਸਤਾਵੇਜ਼ਕਰਨ
- API ਕੁੰਜੀਆਂ ਕਦੇ ਭੀ ਰਿਪੋਜ਼ਿਟਰੀ ਵਿਚ ਜਮ੍ਹਾਂ ਨਾ ਕਰੋ
- `.env` ਫਾਈਲਾਂ ਵਰਤੋ (ਪਹਿਲਾਂ ਹੀ `.gitignore` ਵਿੱਚ ਹਨ)
- ਪ੍ਰੋਜੈਕਟ README ਵਿੱਚ ਲੋਜ਼ਮੀ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਦਸਤਾਵੇਜ਼ ਕਰੋ
### Python Projects
### Python ਪ੍ਰੋਜੈਕਟ
- ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਵਰਤੋਂ: `python -m venv venv`
- ਡਿਪੈਂਡੈਂਸੀਜ਼ ਨੂੰ ਅੱਪਡੇਟ ਰੱਖੋ
- GitHub ਟੋਕਨ ਘੱਟੋ-ਘੱਟ ਅਧਿਕਾਰਾਂ ਵਾਲੇ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ
- ਨਿਰਭਰਤਾਵਾਂ ਹਮੇਸ਼ਾ ਅਪਡੇਟ ਰੱਖੋ
- GitHub ਟੋਕਨਾਂ ਨੂੰ ਘੱਟੋ-ਘੱਟ ਜਰੂਰੀ ਅਧਿਕਾਰ ਦਿਓ
### GitHub Models Access
### GitHub ਮਾਡਲ ਐਕਸੈਸ
- GitHub Models ਲਈ ਨਿੱਜੀ ਐਕਸੈਸ ਟੋਕਨ (PAT) ਲਾਜ਼ਮੀ
- ਟੋਕਨ ਵਾਤਾਵਰਣ ਚਰ ਵਜੋਂ ਸੁਰੱਖਿਅਤ ਕਰਨਾ
- ਕਦੇ ਵੀ ਟੋਕਨ ਜਾਂ ਸੰਜੋਗ ਕਮਿਟ ਨਾ ਕਰੋ
- GitHub ਮਾਡਲ ਲਈ Personal Access Tokens (PAT) ਲਾਜ਼ਮੀ
- ਟੋਕਨ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਵਜੋਂ ਸੁਰੱਖਿਅਤ ਰੱਖੋ
- ਕਦੇ ਟੋਕਨਾਂ ਜਾਂ ਲਾਗਇਨ ਜਾਣਕਾਰੀ ਰਿਪੋ ਵਿੱਚ ਭੇਜੋ ਨਾ
## Additional Notes
## ਵਾਧੂ ਨੋਟਾਂ
### Target Audience
### ਟਾਰਗਟ ਦਰਸ਼ਕ
- ਨਵੇਂ ਵੀ ਸ਼ੁਰੂਆਤੀ ਵੈੱਬ ਵਿਕਾਸ ਵਿੱਚ
- ਵਿਦਿਆਰਥੀ ਅਤੇ ੁਦ ਸਿੱਖਣ ਵਾਲੇ
- ਅਧਿਆਪਕ ਜੋ ਕਲਾਸਰੂਮ ਵਿੱਚ ਪਾਠਕ੍ਰਮ ਵਰਤਦੇ ਹਨ
- ਸਮੱਗਰੀ ਪੁहुੰਚਯੋਗਤਾ ਅਤੇ ধੀਮੇ-ধੀਮੇ ਕੌਸ਼ਲ ਵਿਕਾਸ ਲਈ ਤਿਆਰ
- ਵੈੱਬ ਵਿਕਾਸ ਵਿੱਚ ਬਿਲਕੁਲ ਸ਼ੁਰੂਆਤੀ ਲੋਕ
- ਵਿਦਿਆਰਥੀ ਅਤੇ ੁਦ ਸਿੱਖਣ ਵਾਲੇ
- ਅਧਿਆਪਕ ਜਿਹੜੇ ਕਲਾਸਾਂ ਵਿੱਚ ਕੋਰਸ ਵਰਤਦੇ ਹਨ
- ਸਮੱਗਰੀ ਪਹੁੰਚਯੋਗ ਅਤੇ ਹੌਲੀ-ਹੌਲੀ ਕੌਸ਼ਲ ਵਿਕਾਸ ਲਈ ਬਨਾਈ ਗਈ
### Educational Philosophy
### ਸਿੱਖਿਆ ਦਾ ਦ੍ਰਿੜ੍ਹ ਨਜ਼ਰੀਆ
- ਪ੍ਰਾਜੈਕਟ-ਅਧਾਰਿਤ ਸਿੱਖਣ ਦਾ ਅਫ਼ਰੀਕ
- ਅਕਸਰ ਸਿੱਖਿਆ ਜਾਂਚ (ਕੁਈਜ਼)
- ਅਮਲੀ ਕੋਡਿੰਗ ਅਭਿਆਸ
- ਅਸਲੀ ਦੁਨੀਆਂ ਦੀਆਂ ਉਦਾਹਰਨਾਂ
- ਫਰੇਮਵਰਕਾਂ ਤੋਂ ਪਹਿਲਾਂ ਬੁਨਿਆਦੀ ਧਿਆਨ
- ਪ੍ਰੋਜੈਕਟ-ਆਧਾਰਿਤ ਸਿੱਖਣ
- ਅਕਸਰ ਗਿਆਨ ਜਾਂਚ (ਕੁਇਜ਼)
- ਹੱਥ ਨਾਲ ਕੋਡ ਲਿਖਣ ਵਾਲੀਆਂ ਕਸਰਤਾਂ
- ਅਸਲੀ ਦੁਨੀਆ ਦੀਆਂ ਉਦਾਹਰਣਾਂ
- ਫਰੇਮਵਰਕਾਂ ਤੋਂ ਪਹਿਲਾਂ ਮੂਲ ਭੂਤਾਂ 'ਤੇ ਧਿਆਨ
### Repository Maintenance
### ਰਿਪੋਜ਼ਿਟਰੀ ਦੇਖ-ਰੇਖ
- ਸਿੱਖਣ ਵਾਲਿਆਂ ਅਤੇ ਯੋਗਦਾਨकर्तਿਆਂ ਦੀ ਸਰਗਰਮ ਕਮਿਊਨਿਟ
- ਡਿਪੈਂਡੈਂਸੀਜ਼ ਅਤੇ ਸਮੱਗਰੀ ਦੇ ਨਿਯਮਿਤ ਅੱਪਡੇਟ
- maintainers ਵੱਲੋਂ ਇਸ਼ੂ ਅਤੇ ਚਰਚਾਵਾਂ ਦੀ ਨਿਗਰਾਨੀ
- ਅਨੁਵਾਦ ਅਪਡੇਟ GitHub Actions ਰਾਹੀਂ ਸਵੈਚਾਲਿਤ
- ਕਮਿਊਨਿਟੀ ਦੀ ਸਰਗਰਮ ਭਾਗੀਦਾਰ
- ਨਿਰਭਰਤਾਵਾਂ ਅਤੇ ਸਮੱਗਰੀ ਨੂੰ ਨਿਯਮਤ ਅਪਡੇਟ
- ਸਮੱਸਿਆਵਾਂ ਅਤੇ ਵਿਚਾਰ-वਟਾਂਦਰੇ ਦੀ ਮਾਨੀਟਰੇਟ
- GitHub Actions ਨਾਲ ਅਨੁਵਾਦ ਨਵੀਨਕਰਨ
### Related Resources
### ਸੰਬੰਧਿਤ ਸਾਧਨ
- [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) ਦੀ ਸਿਫਾਰਸ਼
- ਵਾਧੂ ਕੋਰਸ: ਜਨੇਰੇਟਿਵ 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, ਡਾਟਾ ਸਾਇੰਸ, ML, IoT ਕੋਰਸਾਂ ਉਪਲਬਧ
### Working with Specific Projects
### ਵਿਸ਼ੇਸ਼ ਪ੍ਰੋਜੈਕਟ ਨਾਲ ਕੰਮ ਕਰਨਾ
ੱਖ-ਵੱਖ ਪਰਿਯੋਜਨਾਵਾਂ ਲਈ ਵਿਸਥਾਰ ਵਿੱਚ ਨਿਰਦੇਸ਼ਾਂ ਲਈ, 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 ਚੈਟ ਸਹਾਇਕ ਪ੍ਰਜੈਕਟ
ਿਸ਼ੇਸ਼ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਵਿਸਥਾਰ ਨਾਲ ਦਸਤਾਵੇਜ਼ README ਫਾਈਲਾਂ ਵਿੱਚ ਹਨ:
- `quiz-app/README.md` - Vue 3 quiz ਐਪਲੀਕੇਸ਼ਨ
- `7-bank-project/README.md` - ਪ੍ਰਮਾਣਿਕਤਾ ਨਾਲ ਬੈਂਕਿੰਗ ਐਪ
- `5-browser-extension/README.md` - ਬ੍ਰਾਉਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਵਿਕਾਸ
- `6-space-game/README.md` - ਕੈਨਵਸ-ਆਧਾਰਿਤ ਗੇਮ ਵਿਕਾਸ
- `9-chat-project/README.md` - AI ਚੈਟ ਸਹਾਇਕ ਪ੍ਰਜੈਕਟ
### Monorepo Structure
### ਮੋਨੋਰੇਪੋ ਬਣਤਰ
ਇਹ ਰਵਾਇਤੀ ਮੋਨੋਰੇਪੋ ਨਹੀਂ ਹੈ, ਪਰ ਇਸ ਵਿੱਚ ਕਈ ਖੁਦਮੁਖਤਿਆਰ ਪਰਿਯੋਜਨਾ ਹਨ:
- ਹਰ ਇਕ ਪਾਠ ਖੁਦਮੁਖਤਿਆਰ ਹੈ
- ਪਰਿਯੋਜਨਾਵਾਂ ਸਾਂਝਾ ਡਿਪੈਂਡੈਂਸੀ ਨਹੀਂ ਕਰਦੀਆ
- ਇੱਕ-ਇਕ ਸਰਕਾਰੀ ਪ੍ਰੋਜੈਕਟਾਂ 'ਤੇ ਕੰਮ ਕਰੋ ਬਿਨਾਂ ਦੂਜਿਆਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕੀਤੇ
- ਪੂਰਾ ਪਾਠਕ੍ਰਮ ਅਨੁਭਵ ਲਈ ਪੂਰਾ ਗ੍ਰਹਿ ਕਲੋਨ ਕਰੋ
ਪਾਰੰਪਰਿਕ ਮੋਨੋਰੇਪੋ ਨਾ ਹੋਣ ਦੇ ਬਾਵਜੂਦ, ਇਹ ਰਿਪੋਜ਼ਿਟਰੀ ਕਈ ਸਵਤੰਤਰ ਪ੍ਰੋਜੈਕਟ ਹਨ:
- ਹਰ ਪਾਠ ਖੁਦ ਮੁਖਤਿਆਰ ਹੈ
- ਪ੍ਰੋਜੈਕਟਾਂ ਵਿਚ ਨਿਰਭਰਤਾਵਾਂ ਸਾਂਝੀਆਂ ਨਹੀ
- ਵਿਅਕਤੀਗਤ ਪ੍ਰੋਜੈਕਟਾਂ 'ਤੇ ਕੰਮ ਕਰੋ ਬਿਨਾ ਦੂਜਿਆਂ 'ਤੇ ਅਸਰ ਪਾਏ
- ਪੂਰਾ ਕੋਰਸ ਤਜਰਬਾ ਲਈ ਪੂਰੀ ਰਿਪੋ ਕਲੋਨ ਕਰੋ
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ਡਿਸਕਲੇਮਰ**:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਨਾਲ ਅਨੁਵਾਦਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦ ਕਿ ਅਸੀਂ ਸਹੀਤਾ ਲਈ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸਮਰੱਥਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਆਪਣੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਪ੍ਰਭਾਵਸ਼ালী ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਕ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਅਸੀਂ ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਕਾਰਨ ਪੈਦਾ ਹੋਣ ਵਾਲੀਆਂ ਕਿਸੇ ਭੀ ਗਲਤਫਹਮੀ ਜਾਂ ਗਲਤ ਸਮਝ ਲਈ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।
**ਅਸਵੀਕਾਰਤਾ**:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਅਤ ਲਈ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਰੱਖੋ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਣਸੱਥਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਆਪਣੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫ਼ਾਰਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਨਾਲ ਪੈਦਾ ਹੋਣ ਵਾਲੀਆਂ ਕਿਸੇ ਵੀ ਗਲਤ ਸਮਝ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆਵਾਂ ਲਈ ਅਸੀਂ ਜਵਾਬਦੇਹ ਨਹੀਂ ਹਾਂ।
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -10,213 +10,212 @@
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# ਬਿਗਿਨਰਾਂ ਲਈ ਵੈੱਬ ਵਿਕਾਸ - ਇੱਕ ਕੋਰ
# ਬਿਗਿਨਰਜ਼ ਲਈ ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ - ਇੱਕ ਸਿਲੇਬ
ਮਾਇਕਰੋਸਾਫਟ ਕਲਾਊਡ ਅਡਵੋਕੇਟਸ ਦੀ 12 ਹਫ਼ਤਿਆਂ ਦੀ ਵਿਸਤ੍ਰਿਤ ਕੋਰਸ ਨਾਲ ਵੈੱਬ ਵਿਕਾਸ ਦੇ ਮੂਲ-bੁੱਤਾਂ ਸਿੱਖੋ। 24 ਪਾਠਾਂ ਵਿੱਚੋਂ ਹਰ ਇਕ ਜਾਵਾਸਕ੍ਰਿਪਟ, CSS ਅਤੇ HTML ਦਾ ਹੱਥੋਂ-ਹੱਥ ਪ੍ਰਾਜੈਕਟਾਂ ਜਿਵੇਂ ਟੇਰਾਰਿਯਮ, ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਅਤੇ ਅਕਾਸ਼ ਖੇਡਾਂ ਰਾਹੀਂ ਸਮਝਾਇਆ ਗਿਆ ਹੈ। ਕੁਇਜ਼, ਚਰਚਾ ਅਤੇ ਵਰਤਮਾਨ ਕਾਰਜਾਂ ਨਾਲ ਸ਼ਾਮਲ ਹੋਵੋ। ਆਪਣੀਆਂ ਕੌਸ਼ਲਾਂ ਨੂੰ ਸੁਧਾਰੋ ਅਤੇ ਸਾਡੀ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਪ੍ਰਾਜੈਕਟ-ਆਧਾਰਤ ਪਾਠ-ਕ੍ਰਮ ਵਿਧੀ ਨਾਲ ਆਪਣੀ ਜਾਣਕਾਰੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਓ। ਆਪਣੀ ਕੋਡਿੰਗ ਯਾਤਰਾ ਅੱਜ ਹੀ ਸ਼ੁਰੂ ਕਰੋ!
ਮਾਇਕ੍ਰੋਸੌਫਟ ਕਲਾਉਡ ਅਡਵੋਕੇਟਸ ਵੱਲੋਂ ਸਾਡੇ 12 ਹਫਤਿਆਂ ਦੇ ਵਿਸਥਾਰਪੂਰਨ ਕੋਰਸ ਨਾਲ ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ ਦੇ ਮੂਲ ਸਿਧਾਂਤ ਸਿੱਖੋ। 24 ਪਾਠਾਂ ਵਿੱਚੋਂ ਹਰ ਇੱਕ ਹਥਿਆਰ-ਵਿੱਚ-ਪ੍ਰੋਜੈਕਟਾਂ ਜਿਵੇਂ ਕਿ ਟੈਰੇਰੀਅਮ, ਬ੍ਰਾਊਜ਼ਰ ਵਿਸ਼ਤਾਰ ਅਤੇ ਅੰਤਰਿਕਸ਼ ਖੇਡਾਂ ਰਾਹੀਂ ਜਾਵਾਸਕ੍ਰਿਪਟ, CSS ਅਤੇ HTML ਨੂੰ ਪਰਖਦਾ ਹੈ। ਕਵਿਜ਼, ਚਰਚਾ ਅਤੇ ਪ੍ਰਯੋਗਕਾਰੀ ਕਾਰਜਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ। ਸਾਡੇ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਪ੍ਰੋਜੈਕਟ-ਅਧਾਰਤ ਪੇਡਾਗੋਜੀ ਨਾਲ ਆਪਣੀਆਂ ਕੌਸ਼ਲਾਂ ਨੂੰ ਬਿਹਤਰ ਬਨਾਓ ਅਤੇ ਆਪਣੀ ਗਿਆਨ ਸਥਾਈਤਾ ਨੂੰ ਸਧਾਰੋ। ਆਪਣੀ ਕੋਡਿੰਗ ਯਾਤਰਾ ਅੱਜ ਹੀ ਸ਼ੁਰੂ ਕਰੋ!
ਅਜ਼ੂਰ ਏਆਈ ਫਾਊਂਡਰੀ ਡਿਸਕੋਰਡ ਕਮਿਊਨਿਟੀ ਨਾਲ ਜੁੜੋ
ਐਜ਼ਯੂਰ ਏਆਈ ਫਾਊਂਡਰੀ ਡਿਸਕੋਰਡ ਕਮਿਊਨਿਟੀ ਨਾਲ ਜੁੜੋ
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
ਇਹ ਸਾਧਨ ਵਰਤਣਾ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਇਹਨਾਂ ਕਦਮਾਂ ਦਾ ਪਾਲਣ ਕਰੋ:
1. **ਰਿਪੋਜ਼ਟਰੀ ਫੋਰਕ ਕਰੋ**: ਕਲਿੱਕ ਕਰੋ [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
ਇਹ ਸਾਧਨਾਂ ਦੀ ਵਰਤੋਂ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਇਹ ਕਦਮ ਫੋਲੋ ਕਰੋ:
1. **ਰਿਪੋਜ਼ਟਰੀ ਫੋਰਕ ਕਰੋ**: [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork) ਤੇ ਕਲਿੱਕ ਕਰੋ
2. **ਰਿਪੋਜ਼ਟਰੀ ਕਲੋਨ ਕਰੋ**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**ਅਜ਼ੂਰ ਏਆਈ ਫਾਊਂਡਰੀ ਡਿਸਕੋਰਡ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ ਅਤੇ ਮਾਹਿਰਾਂ ਅਤੇ ਹੋਰ ਵਿਕਾਾਰਾਂ ਨਾਲ ਮਿਲੋ**](https://discord.com/invite/ByRwuEEgH4)
3. [**ਐਜ਼ਯੂਰ ਏਆਈ ਫਾਊਂਡਰੀ ਡਿਸਕੋਰਡ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ ਅਤੇ ਮਾਹਿਰਾਂ ਅਤੇ ਸਾਥੀ ਡਿਵੈਲਪਰਾਂ ਨਾਲ ਮਿਲੋ**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 ਬਹੁ-ਭਾਸ਼ਾ ਸਮਰਥਨ
### 🌐 ਬਹੁ-ਭਾਸ਼ਾਈ ਸਹਾਇਤਾ
#### GitHub ਐਕਸ਼ਨ ਰਾਹੀਂ ਸਮਰਥਿਤ (ਆਟੋਮੇਟਿਕ ਅਤੇ ਹਮੇਸ਼ਾ ਅੱਪ-ਟੂ-ਡੇਟ)
#### GitHub ਐਕਸ਼ਨ ਰਾਹੀਂ ਸਹਾਇਤਾ (ਆਟੋਮੇਟਿਕ ਅਤੇ ਸਦਾ ਅੱਪ-ਟੂ-ਡੇਟ)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](./README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](./README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **ਕੀ ਤੁਸੀਂ ਲੋਕਲੀ ਕਲੋਨ ਕਰਨਾ ਪਸੰਦ ਕਰਦੇ ਹੋ?**
> **ਕੀ ਤੁਸੀਂ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਕਲੋਨ ਕਰਨਾ ਪ੍ਰਾਥਮਿਕ ਕਰਦੇ ਹੋ?**
>
> ਇਸ ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ 50+ ਭਾਸ਼ਾ ਅਨੁਵਾਦ ਸ਼ਾਮਲ ਹਨ ਜੋ ਡਾਊਨਲੋਡ ਸਾਈਜ਼ ਨੂੰ ਬਹੁਤ ਵਧਾ ਦਿੰਦੇ ਹਨ। ਬਿਨਾਂ ਅਨੁਵਾਦਾਂ ਦੇ ਕਲੋਨ ਕਰਨ ਲਈ ਸਪਾਰਸ ਚੈੱਕਆਊਟ ਵਰਤੋ:
> ਇਸ ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ 50+ ਭਾਸ਼ਾ ਅਨੁਵਾਦ ਸ਼ਾਮਲ ਹਨ ਜੋ ਡਾਊਨਲੋਡ ਦੇ ਆਕਾਰ ਨੂੰ ਕਾਫੀ ਵਧਾਉਂਦੇ ਹਨ। ਅਨੁਵਾਦਾਂ ਦੇ ਬਿਨਾ ਕਲੋਨ ਕਰਨ ਲਈ, ਸਪਾਰਸ ਚੈਕਆਊਟ ਦੀ ਵਰਤੋਂ ਕਰੋ:
>
> **ਬਾਸ਼ / ਮੈਕਓਐਸ / ਲਿਨਕਸ:**
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
>
> **ਕਮਾਂਡ ਪ੍ਰਾਂਪਟ (ਵਿੰਡੋਜ਼):**
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> ਇਹ ਤੁਹਾਨੂੰ ਇੱਕ ਤੇਜ਼ ਡਾਊਨਲੋਡ ਨਾਲ ਪੂਰਾ ਕੋਰਸ ਮੁਹੱਈਆ ਕਰਵਾਉਂਦਾ ਹੈ।
> ਇਹ ਤੁਹਾਨੂੰ ਕੋਰਸ ਪੂਰਾ ਕਰਨ ਲਈ ਸਭ ਕੁਝ ਤੇਜ਼ੀ ਨਾਲ ਡਾਊਨਲੋਡ ਕਰਕੇ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**ਜੇ ਤੁਸੀਂ ਹੋਰ ਅਨੁਵਾਦ ਭਾਸ਼ਾਵਾਂ ਦਾ ਸਮਰਥਨ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਇਹਥੇ ਲਿਸਟ ਕੀਤਾ ਗਿਆ ਹੈ [https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**ਜੇ ਤੁਸੀਂ ਹੋਰ ਅਨੁਵਾਦ ਭਾਸ਼ਾਵਾਂ ਦੀ ਸਹਾਇਤਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਉਹ [ਇੱਥੇ](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) ਦਿੱਤੀ ਗਈ ਹੈ**
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _ਕੀ ਤੁਸੀਂ ਵਿਦਿਆਰਥੀ ਹੋ?_
ਜਾਓ [**ਵਿਦਿਆਰਥੀ ਹੱਬ ਪੇਜ**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) ਜਿੱਥੇ ਤੁਹਾਨੂੰ ਬਿਗਿਨਰ ਸਰੋਤ, ਵਿਦਿਆਰਥੀ ਪੈਕ ਅਤੇ ਮੁਫ਼ਤ ਸਰਟੀਫਿਕੇਟ ਵਾਊਚਰ ਮਿਲ ਸਕਦੇ ਹਨ। ਇਹ ਉਹ ਪੇਜ ਹੈ ਜਿਸਨੂੰ ਤੁਸੀਂ ਬੁੱਕਮਾਰਕ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਅਤੇ ਸਮੇਂ-ਸਮੇਂ ਤੇ ਦੇਖਦੇ ਰਹੋ ਕਿਉਂਕਿ ਅਸੀਂ ਮਹੀਨਾਵਾਰ ਸਮੱਗਰੀ ਬਦਲਦੇ ਹਾਂ
[**ਸਟੂਡੈਂਟ ਹੱਬ ਪੇਜ**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) ਤੇ ਜਾਓ ਜਿੱਥੇ ਤੁਸੀਂ ਬਿਗਿਨਰ ਰਿਸੋਰਸਜ਼, ਸਟੂਡੈਂਟ ਪੈਕਸ ਅਤੇ ਇੱਕ ਮੁਫ਼ਤ ਸਰਟੀਫਿਕੇਟ ਵਾਊਚਰ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇ ਤਰੀਕੇ ਵੀ ਲੱਭੋਗੇ। ਇਹ ਉਹ ਪੇਜ ਹੈ ਜਿਸਨੂੰ ਤੁਸੀਂ ਆਪਣੇ ਬੁੱਕਮਾਰਕ ਵਿੱਚ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ ਅਤੇ ਮਹੀਨਾਵਾਰ ਸਮੱਗਰੀ ਬਦਲਦੇ ਸਮੇਂ ਤੁਹਾਡੇ ਲਈ ਜ਼ਰੂਰੀ ਹੈ
### 📣 ਸੂਚਨਾ - ਨਵੇਂ GitHub Copilot Agent ਮੋਡ ਚੈਲੈਂਜ ਮੁਕੰਮਲ ਕਰਨ ਲਈ!
### 📣 ਐਲਾਨ - ਨਵੇਂ GitHub ਕੋਪਾਇਲਟ ਏਜੰਟ ਮੋਡ ਚੈਲੰਜ ਮੁਕੰਮਲ ਕਰਨ ਲਈ!
ਨਵਾਂ ਚੈਲੈਂਜ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ, ਜ਼ਿਆਦਾਤਰ ਅਧਿਆਇਆਂ ਵਿੱਚ "GitHub Copilot Agent Challenge 🚀" ਖੋਜੋ। ਇਹ ਇੱਕ ਨਵਾਂ ਚੈਲੈਂਜ ਹੈ ਜੋ ਤੁਹਾਨੂੰ GitHub Copilot ਅਤੇ Agent ਮੋਡ ਵਰਤ ਕੇ ਮੁਕੰਮਲ ਕਰਨਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਪਹਿਲਾਂ Agent ਮੋਡ ਨਹੀਂ ਵਰਤੀ, ਇਹ ਕੇਵਲ ਟੈਕਸਟ ਤਿਆਰ ਨਹੀਂ ਕਰਦਾ ਪਰ ਫਾਇਲਾਂ ਬਣਾਉਣ, ਸੋਧਣ, ਕਮਾਂਡ ਚਲਾਉਣ ਅਤੇ ਹੋਰ ਵੀ ਕਰ ਸਕਦਾ ਹੈ।
ਨਵਾਂ ਚੈਲੰਜ ਜੋੜਿਆ ਗਿਆ ਹੈ, ਬਹੁਤ ਸਾਰੇ ਅਧਿਆਆਾਂ ਵਿੱਚ "GitHub Copilot Agent Challenge 🚀" ਲੱਭੋ। ਇਹ ਤੁਹਾਡੇ ਲਈ GitHub Copilot ਅਤੇ ਏਜੰਟ ਮੋਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪੂਰਾ ਕਰਨ ਲਈ ਇੱਕ ਨਵਾਂ ਚੈਲੰਜ ਹੈ। ਜੇ ਤੁਸੀਂ ਪਹਿਲਾਂ ਕਦੇ ਏਜੰਟ ਮੋਡ ਦੀ ਵਰਤੋਂ ਨਹੀ ਕਿਤੀ ਤਾਂ ਇਹ ਕੇਵਲ ਲਿਖਤ ਹੀ ਨਹੀਂ ਬਣਾਉਂਦਾ, ਬਲਕਿ ਫਾਈਲਾਂ ਬਣਾਉਣ ਅਤੇ ਸੰਪਾਦਨ, ਕਮਾਂਡ ਚਲਾਉਣ ਅਤੇ ਹੋਰ ਵੀ ਕਰ ਸਕਦਾ ਹੈ।
### 📣 ਸੂਚਨਾ - _ਨਵਾਂ ਪ੍ਰਾਜੈਕਟ Generative AI ਦੀ ਵਰਤੋਂ ਨਾਲ ਬਣਾਉਣ ਲਈ_
### 📣 ਐਲਾਨ - _ਜਨਰੇਟਿਵ ਏਆਈ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਨਵਾਂ ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ_
ਨਵਾਂ AI ਸਹਾਇਕ ਪ੍ਰਾਜੈਕਟ ਹਾਲ ਹੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ, ਇਸ ਪ੍ਰਾਜੈਕਟ ਨੂੰ ਦੇਖੋ [project](./9-chat-project/README.md)
ਨਵਾਂ ਏਆਈ ਅਸਿਸਟੈਂਟ ਪ੍ਰੋਜੈਕਟ ਜੋੜਿਆ ਗਿਆ ਹੈ, ਇਸਨੂੰ ਵੇਖੋ [ਪ੍ਰੋਜੈਕਟ](./9-chat-project/README.md)
### 📣 ਸੂਚਨਾ - _Generative AI ਲਈ ਨਵਾਂ ਕੋਰਸ_ ਜਾਵਾਸਕ੍ਰਿਪਟ ਲਈ ਹੁਣ ਜਾਰੀ
### 📣 ਐਲਾਨ - _ਜਨਰੇਟਿਵ ਏਆਈ ਲਈ ਨਵਾਂ ਸਿਲੇਬਸ_ ਜਾਵਾਸਕ੍ਰਿਪਟ ਲਈ ਹੁਣ ਜਾਰੀ ਹੋਇਆ
ਸਾਡੇ ਨਵੇਂ Generative AI ਕੋਰਸ ਨੂੰ ਨਾ ਗਵਾਓ!
ਸਾਡੇ ਨਵੇਂ ਜਨਰੇਟਿਵ ਏਆਈ ਸਿਲੇਬਸ ਨੂੰ ਨਾ ਗਵਾਓ!
ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਜਾਓ [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)!
![ਪਿਛੋਕੜ](../../translated_images/pa/background.148a8d43afde5730.webp)
![Background](../../translated_images/pa/background.148a8d43afde5730.webp)
- ਬੁਨਿਆਦੀ ਤੋਂ ਲੈ ਕੇ RAG ਤੱਕ ਹਰ ਗੱਲ ਕਵਰ ਕੀਤੀ ਗਈ ਹੈ
- ਇਤਿਹਾਸਕ ਪਾਤਰਾਂ ਨਾਲ GenAI ਅਤੇ ਸਾਡੇ ਸਾਥੀ ਐਪ ਰਾਹੀਂ ਇੰਟਰੈਕਟ ਕਰੋ।
- ਮਜ਼ੇਦਾਰ ਅਤੇ ਰੁਚਿਕਰ ਕਥਾਵਾਂ, ਤੁਸੀਂ ਸਮੇਂ ਦੀ ਯਾਤਰਾ ਕਰੋਗੇ!
- ਬੇਸਿਕ ਤੋਂ ਲੈ ਕੇ RAG ਤੱਕ ਸਾਰਿਆਂ ਵਿਸ਼ਿਆਂ ਤੇ ਪਾਠ
- ਜਨਏਆਈ ਅਤੇ ਸਾਡੇ ਸਾਥੀ ਐਪ ਨਾਲ ਇਤਿਹਾਸਕ ਪ੍ਰਸਿੱਧੀਆਂ ਨਾਲ ਗੱਲਬਾਤ ਕਰੋ।
- ਮਜ਼ੇਦਾਰ ਅਤੇ ਮਨੋਰੰਜਕ ਕਹਾਣੀ, ਤੁਸੀਂ ਸਮੇਂ ਦੀ ਯਾਤਰਾ ਕਰ ਰਹੇ ਹੋ!
![ਪਾਤਰ](../../translated_images/pa/character.5c0dd8e067ffd693.webp)
![character](../../translated_images/pa/character.5c0dd8e067ffd693.webp)
ਹਰ ਪਾਠ ਵਿੱਚ ਇਕ ਅਸਾਈਨਮੈਂਟ, ਗਿਆਨ ਚੈੱਕ ਅਤੇ ਚੈਲੈਂਜ ਸ਼ਾਮਲ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਸਿਖਾਉਂਦਾ ਹੈ:
- ਪ੍ਰੰਪਟਿੰਗ ਅਤੇ ਪ੍ਰੰਪਟ ਇੰਜੀਨੀਅਰਿੰਗ
- ਟੈਕਸਟ ਅਤੇ ਚਿੱਤਰ ਐਪ ਤਿਆਰ ਕਰਨ
ਹਰ ਪਾਠ ਵਿੱਚ ਇਕ ਅਸਾਈਨਮੈਂਟ, ਗਿਆਨ ਚੈੱਕ ਅਤੇ ਇੱਕ ਚੈਲੰਜ ਸ਼ਾਮਲ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਵਿਸ਼ਿਆਂ ਵਿੱਚ ਸਿੱਖਣ ਲਈ ਮਦਦ ਕਰਦਾ ਹੈ:
- ਪ੍ਰਾਂਪਟਿੰਗ ਅਤੇ ਪ੍ਰਾਂਪਟ ਇੰਜੀਨੀਅਰਿੰਗ
- ਲਿਖਤ ਅਤੇ ਚਿੱਤਰ ਐਪ ਬਣਾਉਣ
- ਖੋਜ ਐਪ
ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਜਾਓ [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)!
## 🌱 ਸ਼ੁਰੂਆਤ
> **ਅਧਿਆਪਕ**, ਅਸੀਂ [ਕੁਝ ਸੁਝਾਵ](for-teachers.md) ਦਿੱਤੇ ਹਨ ਕਿ ਇਸ ਕੋਰਸ ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ। ਤੁਹਾਡੀ ਰਾਇ ਦੀ ਉਡੀਕ ਹੈ [ਸਾਡੇ ਚਰਚਾ ਫੋਰਮ ਵਿੱਚ](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **ਅਧਿਆਪਕ**, ਅਸੀਂ [ਇਸ ਸਿਲੇਬਸ ਦੀ ਵਰਤੋਂ ਦੇ ਤੱਤਾਂ](for-teachers.md) ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਹੈ। ਸਾਨੂੰ ਤੁਹਾਡਾ ਫੀਡਬੈਕ [ਸਾਡੇ ਚਰਚਾ ਫੋਰਮ](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) ਵਿੱਚ ਮਿਲੇਗਾ!
**[ਵਿਦਿਆਰਥੀ](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, ਹਰ ਪਾਠ ਲਈ, ਪਹਿਲਾਂ ਪ੍ਰੀ-ਲੈਕਚਰ ਕਵਿਜ਼ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਲੈਕਚਰ ਦਿੱਤੀ ਸਮੱਗਰੀ ਪੜ੍ਹੋ, ਵੱਖ-ਵੱਖ ਕਿਰਿਆਵਾਂ ਪੂਰੀਆਂ ਕਰੋ ਅਤੇ ਪੋਸਟ-ਲੈਕਚਰ ਕਵਿਜ਼ ਨਾਲ ਆਪਣੀ ਸਮਝ ਨੂੰ ਪਰਖੋ।
**[ਛਾਤਰ](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, ਹਰ ਪਾਠ ਲਈ, ਪਹਿਲਾਂ ਪ੍ਰੀ-ਲੈਕਚਰ ਕਵਿਜ਼ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਫਿਰ ਲੈਕਚਰ ਸਮੱਗਰੀ ਨੂੰ ਪੜ੍ਹੋ, ਵੱਖ-ਵੱਖ ਕਿਰਿਆਸ਼ੀਲਤਾਵਾਂ ਨੂੰ ਪੂਰਾ ਕਰੋ ਅਤੇ ਪੋਸਟ-ਲੈਕਚਰ ਕਵਿਜ਼ ਨਾਲ ਆਪਣੀ ਸਮਝ ਦੀ ਜਾਂਚ ਕਰੋ।
ਆਪਣੇ ਸਿੱਖਣ ਦੇ ਤਜ਼ੁਰਬੇ ਨੂੰ ਬਿਹਤਰ ਕਰਨ ਲਈ, ਆਪਣੇ ਸਾਥੀਆਂ ਨਾਲ ਮਿਲ ਕੇ ਪ੍ਰਾਜੈਕਟਾਂ 'ਤੇ ਕੰਮ ਕਰੋ! ਚਰਚਾ ਲਈ ਸਾਡਾ [ਚਰਚਾ ਫੋਰਮ](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) ਵਰਤੋ ਜਿੱਥੇ ਸਾਡੇ ਮੋਡਰੇਟਰ ਤੁਹਾਡੇ ਸਵਾਲਾਂ ਦੇ ਜਵਾਬ ਦੇਣ ਦੇ ਲਈ ਉਪਲਬਧ ਹੋਣਗੇ
ਆਪਣੇ ਸਿੱਖਣ ਦੇ ਅਨੁਭਵ ਨੂੰ ਵਧਾਉਣ ਲਈ, ਆਪਣੇ ਸਾਥੀਆਂ ਨਾਲ ਪ੍ਰੋਜੈਕਟਾਂ ਉੱਤੇ ਮਿਲ ਕੇ ਕੰਮ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰੋ! ਚਰਚਾ ਸਾਡੇ [ਚਰਚਾ ਫੋਰਮ](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) ਵਿੱਚ ਉਤਸ਼ਾਹਿਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਿੱਥੇ ਸਾਡੇ ਮਾਡਰੇਟਰਾਂ ਦੀ ਟੀਮ ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਨਾਂ ਦੇ ਜਵਾਬ ਦੇਣ ਲਈ ਉਪਲਬਧ ਰਹਿੰਦੀ ਹੈ
ਆਪਣੀ ਸਿੱਖਿਆ ਨੂੰ ਹੋਰ ਅੱਗੇ ਵਧਾਉਣ ਲਈ, ਅਸੀਂ ਸਿਫਾਰਿਸ਼ ਕਰਦੇ ਹਾਂ ਕਿ ਤੁਸੀਂ [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) ਤੋਂ ਵਾਧੂ ਪਾਠ-ਸਮੱਗਰੀ ਖੋਜੋ।
ਆਪਣੀ ਸਿੱਖਿਆ ਨੂੰ ਹੋਰ ਅੱਗੇ ਵਧਾਉਣ ਲਈ, ਅਸੀਂ ਸਿਫਾਰਸ਼ ਕਰਦੇ ਹਾਂ ਕਿ ਤੁਸੀਂ [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) ਵਿੱਚ ਹੋਰ ਅਧਿਐਨ ਸਮੱਗਰੀ ਦੀ ਖੋਜ ਕਰੋ।
### 📋 ਆਪਣੇ ਮਾਹੌਲ ਦੀ ਸੈਟਅਪਿੰਗ
### 📋 ਆਪਣਾ ਵਾਤਾਵਰਣ ਸੈੱਟ ਕਰੋ
ਇਸ ਕੋਰਸ ਲਈ ਇੱਕ ਵਿਕਾਸ ਮਾਹੌਲ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ! ਜਦੋਂ ਤੁਸੀਂ ਸ਼ੁਰੂ ਕਰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਕੋਰਸ ਨੂੰ [Codespace](https://github.com/features/codespaces/) ਵਿੱਚ ਚਲਾ ਸਕਦੇ ਹੋ (_ਇੱਕ ਬ੍ਰਾਉਜ਼ਰ-ਆਧਾਰਿਤ, ਕੋਈ ਇੰਸਟਾਲੇਸ਼ਨ ਨਾ ਚਾਹੀਦੀ ਮਾਹੌਲ_), ਜਾਂ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਆਪਣੇ ਕੰਪਿਊਟਰ 'ਤੇ [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ਵਰਗੇ ਟੈਕਸਟ ਐਡੀਟਰ ਨਾਲ ਚਲਾ ਸਕਦੇ ਹੋ।
ਇਸ ਸਿਲੇਬਸ ਲਈ ਵਿਕਾਸ ਦਾ ਵਾਤਾਵਰਣ ਤਿਆਰ ਹੈ! ਜਦੋਂ ਤੁਸੀਂ ਸ਼ੁਰੂ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਕੋਰਸ ਨੂੰ ਇੱਕ [Codespace](https://github.com/features/codespaces/) (_ਇੱਕ ਬਰਾਊਜ਼ਰ ਆਧਾਰਿਤ, ਕਿਸੇ ਸਥਾਪਨਾ ਦੀ ਲੋੜ ਨਹੀਂ ਵਾਤਾਵਰਣ_) ਵਿੱਚ ਚਲਾ ਸਕਦੇ ਹੋ, ਜਾਂ ਆਪਣੇ ਕੰਪਿਊਟਰ 'ਤੇ ਟੈਕਸਟ ਐਡੀਟਰ ਜਿਵੇਂ [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ਨਾਲ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਚਲਾ ਸਕਦੇ ਹੋ।
#### ਆਪਣ ਰਿਪੋਜ਼ਟਰੀ ਬਣਾਓ
ਆਪਣਾ ਕੰਮ ਬਚਾਉਣ ਲਈ, ਤੁਹਾਨੂੰ ਆਪਣੇ ਲਈ ਇਸ ਰਿਪੋਜ਼ਟਰੀ ਦੀ ਆਪਣੀ ਕਾਪੀ ਬਣਾਉਣੀ ਚਾਹੀਦੀ ਹੈ। ਇਹ ਤੁਸੀਂ ਸਫੇ ਦੇ ਉੱਪਰ "Use this template" ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰ ਕੇ ਕਰ ਸਕਦੇ ਹੋ। ਇਸ ਨਾਲ ਤੁਹਾਡੇ GitHub ਖਾਤੇ ਵਿੱਚ ਕੋਰਸ ਦੀ ਇੱਕ ਕਾਪੀ ਨਾਲ ਨਵੀਂ ਰਿਪੋਜ਼ਟਰੀ ਬਣ ਜਾਵੇਗੀ।
#### ਆਪਣ ਰਿਪੋਜ਼ਟਰੀ ਬਣਾਓ
ਆਪਣਾ ਕੰਮ ਆਸਾਨੀ ਨਾਲ ਸੇਵ ਕਰਨ ਲਈ, ਸਾਡੇ ਵਲੋਂ ਇਹ ਸੁਝਾਇਆ ਜਾਂਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਇਸ ਰਿਪੋਜ਼ਟਰੀ ਦੀ ਆਪਣੀ ਨਕਲ ਬਣਾਓ। ਇਹ ਕਰਨ ਲਈ, ਸਫ਼ੇ ਦੇ ਸਿਖਰ ਵਿੱਚ ਮੌਜੂਦ **Use this template** ਬਟਨ ਤੇ ਕਲਿਕ ਕਰੋ। ਇਸ ਨਾਲ ਤੁਹਾਡੇ GitHub ਖਾਤੇ ਵਿੱਚ ਇਸ ਕੋਰਸ ਦੀ ਇੱਕ ਨਕਲ ਵਾਲੀ ਨਵੀਂ ਰਿਪੋਜ਼ਟਰੀ ਬਣ ਜਾਵੇਗੀ।
ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ:
1. **ਰਿਪੋਜ਼ਟਰੀ ਫੋਰਕ ਕਰੋ**: ਇਸ ਸਫੇ ਦੇ ਸੱਜੇ-ਉੱਤਰ ਕੋਨੇ 'ਤੇ "Fork" ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।
ਹੇਠਾਂ ਦਿੱਤੇ ਕਦਮਾਂ ਦਾ ਪਾਲਣ ਕਰੋ:
1. **ਰਿਪੋਜ਼ਟਰੀ ਫੋਰਕ ਕਰੋ**: ਇਸ ਪੇਜ ਦੇ ਸੱਜੇ-ਉੱਪਰਲੇ ਕੋਣ 'Fork' ਬਟਨ ਤੇ ਕਲਿਕ ਕਰੋ।
2. **ਰਿਪੋਜ਼ਟਰੀ ਕਲੋਨ ਕਰੋ**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Codespace ਵਿੱਚ ਕੋਰਸ ਚਲਾਉਣਾ
#### ਕੋਡਸਪੇਸ ਵਿੱਚ ਕੋਰਸ ਚਲਾਉਣਾ
ਆਪਣੀ ਬਣਾਈ ਹੋਈ ਕਾਪੀ ਵਿੱਚ **Code** ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਅਤੇ **Open with Codespaces** ਚੁਣੋ। ਇਹ ਤੁਹਾਡੇ ਲਈ ਨਵਾਂ Codespace ਬਣਾਏਗਾ।
ਜੋ ਰਿਪੋਜ਼ਟਰੀ ਤੁਸੀਂ ਬਣਾਈ ਹੈ, ਉਸ ਵਿੱਚ **Code** ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ ਅਤੇ **Open with Codespaces** ਚੁਣੋ। ਇਹ ਤੁਹਾਡੇ ਲਈ ਇੱਕ ਨਵਾਂ Codespace ਬਣਾਏਗਾ।
![Codespace](../../translated_images/pa/createcodespace.0238bbf4d7a8d955.webp)
#### ਆਪਣੇ ਕੰਪਿਊਟਰ 'ਤੇ ਕੋਰਸ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਚਲਾਉਣਾ
#### ਆਪਣੇ ਕੰਪਿਊਟਰ ‘ਤੇ ਸਥਾਨਕ ਤੌਰ ‘ਤੇ ਕੋਰਸ ਚਲਾਉਣਾ
ਇਸ ਕੋਰਸ ਨੂੰ ਆਪਣੇ ਕੰਪਿਊਟਰ 'ਤੇ ਚਲਾਉਣ ਲਈ ਤੁਹਾਨੂੰ ਇੱਕ ਟੈਕਸਟ ਐਡੀਟਰ, ਬ੍ਰਾਉਜ਼ਰ ਅਤੇ ਕਮਾਂਡ ਲਾਈਨ ਟੂਲ ਦੀ ਲੋੜ ਪਵੇਗੀ। ਸਾਡੀ ਪਹਿਲੀ ਪਾਠ, [Introduction to Programming Languages and Tools of the Trade](../../1-getting-started-lessons/1-intro-to-programming-languages), ਤੁਹਾਨੂੰ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕਿਹੜਾ ਸਧਾਰਨ ਅਤੇ ਵਧੀਆ ਹੈ, ਚੁਣਨ ਵਿੱਚ ਮਦਦ ਕਰੇਗੀ
ਇਸ ਕੋਰਸ ਨੂੰ ਆਪਣੇ ਕੰਪਿਊਟਰ ‘ਤੇ ਚਲਾਉਣ ਲਈ, ਤੁਹਾਨੂੰ ਇੱਕ ਟੈਕਸਟ ਐਡੀਟਰ, ਇੱਕ ਬਰਾਊਜ਼ਰ ਅਤੇ ਇੱਕ ਕਮਾਂਡ ਲਾਈਨ ਟੂਲ ਦੀ ਲੋੜ ਪਏਗੀ। ਸਾਡਾ ਪਹਿਲਾ ਪਾਠ, [ਟ੍ਰੇਡ ਦੇ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਅਤੇ ਸੰਦਾਂ ਦਾ ਪਰਿਚਯ](../../1-getting-started-lessons/1-intro-to-programming-languages), ਤੁਹਾਡੇ ਲਈ ਹਰ ਜ਼ਰੂਰੀ ਵਾਪਰ ਅਤੇ ਵਿਕਲਪਾਂ ਨੂੰ ਪਰਤਾਲੇਗਾ ਤਾਂ ਜੋ ਤੁਸੀਂ ਆਪਣੇ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਅਸਲੀ ਟੂਲ ਚੁਣ ਸਕੋ
ਸਾਡੀ ਸਿਫਾਰਿਸ਼ ਹੈ ਕਿ ਤੁਸੀਂ [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ਵਰਤੋਂ, ਜਿਸ ਵਿੱਚ ਇਕ ਇੱਕीक੍ਰਿਤ [ਟਰਮੀਨਲ](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) ਵੀ ਹੈ। ਤੁਸੀਂ Visual Studio Code ਨੂੰ [ਥੇ ਡਾਊਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋ](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)।
1. ਆਪਣੇ ਕੰਪਿਊਟਰ 'ਤੇ ਆਪਣਾ ਰਿਪੋਜ਼ਿਟਰੀ ਕਲੋਨ ਕਰੋ। ਤੁਸੀਂ ਇਹ **Code** ਬਟਨ ਤੇ ਕਲਿਕ ਕਰਕੇ ਅਤੇ URL ਕਾਪੀ ਕਰਕੇ ਕਰ ਸਕਦੇ ਹੋ:
ਸਾਡੇ ਸੁਝਾਅ ਹੈ ਕਿ ਤੁਸੀਂ ਆਪਣੇ ਐਡੀਟਰ ਵਜੋਂ [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ਦੀ ਵਰਤੋਂ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਇੱਕ ਬਿਲਟ-ਇਨ [ਟਰਮੀਨਲ](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) ਵੀ ਹੁੰਦਾ ਹੈ। ਤੁਸੀਂ Visual Studio Code ਨੂੰ ਇਥੇ ਡਾਊਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋ: [https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)।
1. ਆਪਣੀ ਰਿਪੋਜ਼ਟਰੀ ਨੂੰ ਆਪਣੇ ਕੰਪਿਊਟਰ 'ਤੇ ਕਲੋਨ ਕਰੋ। ਤੁਸੀਂ ਇਹ **Code** ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਕੇ ਅਤੇ URL ਨਕਲ ਕਰਕੇ ਕਰ ਸਕਦੇ ਹੋ:
[CodeSpace](./images/createcodespace.png)
ਫਿਰ, [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ਵਿੱਚ [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) ਖੋਲ੍ਹੋ ਅਤੇ ਹੇਠਾਂ ਦਿੱਤਾ ਕਮਾਂਡ ਚਲਾਓ, ਆਪਣੀ ਕਾਪੀ ਕੀਤੀ URL, `<your-repository-url>` ਨਾਲ ਬਦਲਦਿਆਂ:
ਫਿਰ, [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ਵਿੱਚ [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) ਖੋਲ੍ਹੋ ਅਤੇ ਹੇਠਾਂ ਦਿੱਤਾ ਕਮਾਂਡ ਚਲਾਓ, `<your-repository-url>` ਨੂੰ ਉਸ URL ਨਾਲ ਬਦਲਦੇ ਹੋਏ ਜੋ ਤੁਸੀਂ ਹਾਲ ਹੀ ਵਿੱਚ ਕਾਪੀ ਕੀਤਾ ਹੈ:
```bash
git clone <your-repository-url>
```
2. Visual Studio Code ਵਿੱਚ ਫੋਲਡਰ ਖੋਲ੍ਹੋ। ਤੁਸੀਂ ਇਹ **File** > **Open Folder** 'ਤੇ ਕਲਿੱਕ ਕਰਕੇ ਅਤੇ ਹੁਣੇ ਕਲੋਨ ਕੀਤਾ ਫੋਲਡਰ ਚੁਣ ਕੇ ਕਰ ਸਕਦੇ ਹੋ।
2. ਫੋਲਡਰ ਨੂੰ Visual Studio Code ਵਿੱਚ ਖੋਲ੍ਹੋ। ਤੁਸੀਂ ਇਹ **File** > **Open Folder** 'ਤੇ ਕਲਿੱਕ ਕਰਕੇ ਅਤੇ ਜੋ ਫੋਲਡਰ ਤੁਸੀਂ ਕਲੋਨ ਕੀਤਾ ਹੈ, ਉਸਨੂੰ ਚੁਣ ਕੇ ਕਰ ਸਕਦੇ ਹੋ।
> ਸਿਫਾਰਸ਼ ਕੀਤੀਆਂ Visual Studio Code ਏਕਸਟੀੰਸ਼ਨ:
> ਸਿਫਾਰਸ਼ੀ Visual Studio Code ਐਕਸਟੇਂਸ਼ਨ:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - Visual Studio Code ਵਿੱਚ HTML ਪੰਨਿਆਂ ਦਾ ਪ੍ਰੀਵਿਊ ਕਰਨ ਲਈ
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - ਤੁਹਾਡੀ ਕੋਡ ਲਿਖਣ ਵਿੱਚ ਤੇਜ਼ੀ ਲਈ ਸਹਾਇਤਾ ਕਰਨ ਲਈ
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - Visual Studio Code ਵਿੱਚ HTML ਪੇਜ ਦੇਖਣ ਲਈ
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - ਤੁਹਾਨੂੰ ਜ਼ਿਆਦਾ ਤੇਜ਼ੀ ਨਾਲ ਕੋਡ ਲਿਖਣ ਵਿੱਚ ਮਦਦ ਲਈ
## 📂 ਹਰ ਪਾਠ ਵਿੱਚ ਸ਼ਾਮਿਲ ਹੈ:
## 📂 ਹਰ ਪਾਠ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ:
- ਵਿਕਲਪਿਕ ਸਕੈਚਨੋਟ
- ਵਿਕਲਪਿਕ ਸਹਾਇਕ ਵੀਡੀਓ
- ਪਾਠ ਤੋਂ ਪਹਿਲਾਂ ਵਾਲਾ ਵਾਰਮਅਪ ਕਵਿਜ਼
- ਲਿਖਿ ਪਾਠ
- ਪ੍ਰਾਜੈਕਟ-ਅਧਾਰਿਤ ਪਾਠਾਂ ਲਈ, ਪ੍ਰਾਜੈਕਟ ਬਣਾਉਣ ਲਈ ਕਦਮ-ਦਰ-कਦਮ ਮਾਰਗਦਰਸ਼ਿਕਾਵਾਂ
- ਗਿਆਨ ਦੀ ਜਾਂਚ
- ਪਾਠ ਤੋਂ ਪਹਿਲਾਂ ਤਿਆਰੀ ਕਵਿਜ਼
- ਲਿਖਿਆ ਹੋਇਆ ਪਾਠ
- ਪ੍ਰੋਜੈਕਟ-ਆਧਾਰਿਤ ਪਾਠਾਂ ਲਈ, ਪ੍ਰੋਜੈਕਟ ਬਣਾਉਣ ਲਈ ਕਦਮ-ਦਰ-कਦਮ ਗਾਈਡਾਂ
- ਗਿਆਨ ਦੀ ਜਾਂਚਾਂ
- ਇੱਕ ਚੁਣੌਤੀ
- ਸਹਾਇਕ ਪਾਠਨ
- ਸਹਾਇਕ ਪੜ੍ਹਾਈ
- ਅਸਾਈਨਮੈਂਟ
- [ਪਾਠ ਤੋਂ ਬਾਅਦ ਕਵਿਜ਼](https://ff-quizzes.netlify.app/web/)
- [ਪਾਠ ਬਾਅਦ ਵਾਲਾ ਕਵਿਜ਼](https://ff-quizzes.netlify.app/web/)
> **ਕਵਿਜ਼ ਬਾਰੇ ਇੱਕ ਨੋਟ**: ਸਾਰੇ ਕਵਿਜ਼, Quiz-app ਫੋਲਡਰ ਵਿੱਚ ਹਨ, ਜਿਸ ਵਿੱਚ ਹਰ ਇੱਕ ਵਿੱਚ 3 ਸਵਾਲਾਂ ਦੇ 48 ਕੁੱਲ ਕਵਿਜ਼ ਹਨ। ਉਹ ਉਪਲਬਧ ਹਨ [ਇੱਥੇ](https://ff-quizzes.netlify.app/web/)। ਕਵਿਜ਼ ਐਪ ਨੂੰ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਚਲਾਇਆ ਜਾਂ ਸਕਦਾ ਹੈ ਜਾਂ Azure ਤੇ ਤਾਇਨਾਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ; `quiz-app` ਫੋਲਡਰ ਵਿੱਚ ਦਿੱਤੇ ਹਿਦਾਇਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ।
> **ਕਵਿਜ਼ ਬਾਰੇ ਇੱਕ ਨੋਟ**: ਸਾਰੇ ਕਵਿਜ਼ Quiz-app ਫੋਲਡਰ ਵਿੱਚ ਹਨ, ਕੁੱਲ 48 ਕਵਿਜ਼ ਤਿੰਨ ਸਵਾਲਾਂ ਦੇ ਹਨ। ਉਹ ਇੱਥੇ ਉਪਲਬਧ ਹਨ [ਇੱਥੇ](https://ff-quizzes.netlify.app/web/)। ਕਵਿਜ਼ ਐਪ ਨੂੰ ਲੋਕਲ ਚਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ ਜਾਂ ਐਜ਼ੂਰ 'ਤੇ ਡਿਪਲੌਯ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ; `quiz-app` ਫੋਲਡਰ ਵਿੱਚ ਦੀਆਂ ਹਦਾਇਤਾਂ ਨੂੰ ਫਾਲੋ ਕਰੋ।
## 🗃️ ਪਾਠ
| | ਪ੍ਰਜੈਕਟ ਦਾ ਨਾਮ | ਸਿੱਖਾਏ ਗਏ ਸੰਕਲਪ | ਸਿੱਖਣ ਦੇ ਉਦੇਸ਼ | ਲਿੰਕ ਕੀਤਾ ਪਾਠ | ਲੇਖਕ |
| :-: | :---------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ | ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਅਤੇ ਸੰਦਾਂ ਦਾ ਪਾਰਚਾਰਿਕ ਜਾਇਜ਼ਾ | ਜਿਆਦਾਤਰ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਦੇ ਆਧਾਰ ਅਤੇ ਉਹ ਸਾਫਟਵੇਅਰ ਜੋ ਪ੍ਰੋਫੈਸ਼ਨਲ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਆਪਣੇ ਕੰਮ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦੇ ਹਨ, ਸਿੱਖੋ | [ਪਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਅਤੇ ਸੰਦਾਂ ਦਾ ਪਾਰਚਾਰਿਕ ਜਾਇਜ਼ਾ](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | ਜੈਸਮੀਨ |
| 02 | ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ | GitHub ਦੇ ਬੁਨਿਆਦੀ ਸਿਧਾਂਤ, ਟੀਮ ਨਾਲ ਕੰਮ ਕਰਨਾ | ਆਪਣੇ ਪ੍ਰਾਜੈਕਟ ਵਿੱਚ GitHub ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ, ਕਿਸੇ ਕੋਡ ਬੇਸ 'ਤੇ ਹੋਰਾਂ ਨਾਲ ਸਹਿਯੋਗ ਕਰਨਾ | [GitHub ਦਾ ਪਾਰਚਾਰਿਕ ਜਾਇਜ਼ਾ](./1-getting-started-lessons/2-github-basics/README.md) | ਫਲੋਰ |
| 03 | ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ | ਐਕਸੇਸਬਿਲਿਟੀ | ਵੈੱਬ ਐਕਸੇਸਬਿਲਿਟੀ ਦੇ ਮੁਢਲੇ ਸਿਧਾਂਤ ਸਿੱਖੋ | [ਐਕਸੇਸਬਿਲਿਟੀ ਮੁਢਲੇ ਬੁਨਿਆਦ](./1-getting-started-lessons/3-accessibility/README.md) | ਕ੍ਰਿਸਟੋਫ਼ਰ |
| 04 | JS ਬੁਨਿਆਦੀਆਂ | ਜਾਵਾਸਕ੍ਰਿਪਟ ਡਾਟਾ ਕਿਸਮਾਂ | ਜਾਵਾਸਕ੍ਰਿਪਟ ਡਾਟਾ ਕਿਸਮਾਂ ਦੀਆਂ ਮੁਢਲੀਆਂ ਸਮਝ | [ਡਾਟਾ ਕਿਸਮਾਂ](./2-js-basics/1-data-types/README.md) | ਜੈਸਮੀਨ |
| 05 | JS ਬੁਨਿਆਦੀਆਂ | ਫੰਕਸ਼ਨ ਅਤੇ ਮੈਥਡ | ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਲੋਜਿਕ ਫਲੋ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨ ਅਤੇ ਮੈਥਡ ਬਾਰੇ ਜ਼ਿਆਦਾ ਜਾਣੋ | [ਫੰਕਸ਼ਨ ਅਤੇ ਮੈਥਡ](./2-js-basics/2-functions-methods/README.md) | ਜੈਸਮੀਨ ਅਤੇ ਕ੍ਰਿਸਟੋਫ਼ਰ |
| 06 | JS ਬੁਨਿਆਦੀਆਂ | JS ਨਾਲ ਫੈਸਲੇ ਕਰਨਾ | ਫੈਸਲਾ ਲੈਣ ਵਾਲੇ ਤਰੀਕਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੇ ਕੋਡ ਵਿੱਚ ਸ਼ਰਤਾਂ ਕਿਵੇਂ ਬਣਾਉਣੀਆਂ ਹੈ, ਸਿੱਖੋ | [ਫੈਸਲੇ ਕਰਨਾ](./2-js-basics/3-making-decisions/README.md) | ਜੈਸਮੀਨ |
| 07 | JS ਬੁਨਿਆਦੀਆਂ | ਐਰੇ ਅਤੇ ਲੂਪ | ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਿੱਚ ਡਾਟਾ ਨਾਲ ਐਰੇ ਅਤੇ ਲੂਪਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ | [ਐਰੇ ਅਤੇ ਲੂਪ](./2-js-basics/4-arrays-loops/README.md) | ਜੈਸਮੀਨ |
| 08 | [ਟੈਰਾਰਿਯਮ](./3-terrarium/solution/README.md) | ਵੇਬ ਪੰਨੇ ਵਿੱਚ HTML | ਇੱਕ ਅਨਲਾਈਨ ਟੈਰਾਰਿਯਮ ਬਣਾਉਣ ਲਈ HTML ਤਿਆਰ ਕਰੋ, ਜਿੱਥੇ ਲੇਆਉਟ ਬਣਾਉਣ 'ਤੇ ਧਿਆਨ ਦਿੱਤਾ ਗਿਆ | [HTML ਦਾ ਪਾਰਚਾਰਿਕ ਜਾਇਜ਼ਾ](./3-terrarium/1-intro-to-html/README.md) | ਜੇਨ |
| 09 | [ਟੈਰਾਰਿਯਮ](./3-terrarium/solution/README.md) | CSS ਦਾ ਪਰਚਾਰ ਪ੍ਰਯੋਗ | ਅਨਲਾਈਨ ਟੈਰਾਰਿਯਮ ਨੂੰ ਸਵੈ-ਰੂਪ ਵਿੱਚ ਬਨਾਉਣ ਲਈ CSS ਬਣਾਉ, CSS ਦੇ ਮੁਢਲੇ ਬੁਨਿਆਦੀ ਤੱਤਾਂ ਸਮੇਤ | [CSS ਦਾ ਪਾਰਚਾਰਿਕ ਜਾਇਜ਼ਾ](./3-terrarium/2-intro-to-css/README.md) | ਜੇਨ |
| 10 | [ਟੈਰਾਰਿਯਮ](./3-terrarium/solution/README.md) | ਜਾਵਾਸਕ੍ਰਿਪਟ ਕਲੋਜ਼ਰ, DOM ਸੋਧ | ਡਰੈਗ/ਡ੍ਰੌਪ ਇੰਟਰਫੇਸ ਵਜੋਂ ਕਾਰਜ ਕਰਨ ਲਈ ਜਾਵਾਸਕ੍ਰਿਪਟ ਬਣਾਓ, ਜਿੱਥੇ ਕਲੋਜ਼ਰ ਅਤੇ DOM ਸੋਧ 'ਤੇ ਧਿਆਨ ਦਿੱਤਾ ਗਿਆ | [ਜਾਵਾਸਕ੍ਰਿਪਟ ਕਲੋਜ਼ਰ, DOM ਸੋਧ](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | ਜੇਨ |
| 11 | [ਟਾਈਪਿੰਗ ਖੇਡ](./4-typing-game/solution/README.md) | ਟਾਈਪਿੰਗ ਖੇਡ ਬਣਾਉਣਾ | ਆਪਣੇ ਜਾਵਾਸਕ੍ਰਿਪਟ ਐਪ ਦੇ ਲੋਜਿਕ ਨੂੰ ਗਤੀਸ਼ੀਲ ਕਰਨ ਲਈ ਕੀਬੋਰਡ ਇਵੈਂਟਸ ਦੀ ਵਰਤੋਂ ਸਿੱਖੋ | [ਈਵੈਂਟ-ਚਾਲਿਤ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ](./4-typing-game/typing-game/README.md) | ਕ੍ਰਿਸਟੋਫ਼ਰ |
| 12 | [ਗ੍ਰੀਨ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ](./5-browser-extension/solution/README.md) | ਬਰਾਊਜ਼ਰਾਂ ਦੇ ਨਾਲ ਕੰਮ | ਬਰਾਊਜ਼ਰਾਂ ਕਿਵੇਂ ਕੰਮ ਕਰਦੇ ਹਨ, ਉਹਨਾਂ ਦਾ ਇਤਿਹਾਸ ਅਤੇ ਪਹਿਲੀ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਤਿਆਰ ਕਰਨ ਦਾ ਢਾਂਚਾ ਸਿੱਖੋ | [ਬ੍ਰਾਊਜ਼ਰ ਬਾਰੇ](./5-browser-extension/1-about-browsers/README.md) | ਜੇਨ |
| 13 | [ਗ੍ਰੀਨ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ](./5-browser-extension/solution/README.md) | ਫੋਰਮ ਬਣਾਉਣਾ, API ਕਾਲ ਕਰਨਾ ਤੇ ਲੋਕਲ ਸਟੋਰੇਜ ਵਿੱਚ ਵੈਰੀਏਬਲ ਸਟੋਰ ਕਰਨਾ | API ਕਾਲ ਕਰਨ ਲਈ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਦੇ ਜਾਵਾਸਕ੍ਰਿਪਟ ਤੱਤ ਬਣਾ ਕੇ ਲੋਕਲ ਸਟੋਰੇਜ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਵੈਰੀਏਬਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ | [API, ਫੋਰਮ ਅਤੇ ਲੋਕਲ ਸਟੋਰੇਜ](./5-browser-extension/2-forms-browsers-local-storage/README.md) | ਜੇਨ |
| 14 | [ਗ੍ਰੀਨ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ](./5-browser-extension/solution/README.md) | ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਬੈਕਗ੍ਰਾਊਂਡ ਪ੍ਰਕਿਰਿਆਵਾਂ, ਵੈੱਬ ਦક્ષਤਾ | ਐਕਸਟੈਂਸ਼ਨ ਦੇ ਆਇਕਨ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਲਈ ਬ੍ਰਾਊਜ਼ਰ ਦੀ ਬੈਕਗ੍ਰਾਊਂਡ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ; ਵੈੱਬ ਦੱਖਤਾ ਅਤੇ ਕੁਝ ਵਿਕਾਸਕਾਰੀ ਤਰੀਕੇ ਸਿੱਖੋ | [ਬੈਕਗ੍ਰਾਊਂਡ ਕੰਮ ਅਤੇ ਦੱਖਤਾ](./5-browser-extension/3-background-tasks-and-performance/README.md) | ਜੇਨ |
| 15 | [ਸਪੇਸ ਖੇਡ](./6-space-game/solution/README.md) | ਜਾਵਾਸਕ੍ਰਿਪਟ ਨਾਲ ਪ੍ਰਗਟੀ ਖੇਡ ਵਿਕਾਸ ਦਾ ਅਗਲਾ ਪੜਾਅ | ਕਲਾਸਾਂ ਅਤੇ ਕੰਪੋਜ਼ੀਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਿਰਾਸਤ ਅਤੇ ਪਬ/ਸਬ ਪੈਟਰਨ ਬਾਰੇ ਜਾਣੋ, ਖੇਡ ਬਣਾਉਣ ਦੀ ਤਿਆਰੀ ਲਈ | [ਪ੍ਰਗਟੀ ਖੇਡ ਵਿਕਾਸ ਦਾ ਪਾਰਚਾਰਿਕ ਜਾਇਜ਼ਾ](./6-space-game/1-introduction/README.md) | ਕ੍ਰਿਸ |
| 16 | [ਸਪੇਸ ਖੇਡ](./6-space-game/solution/README.md) | ਕੈਨਵਸ 'ਤੇ ਡਰਾਇੰਗ | ਕੈਨਵਸ API ਬਾਰੇ ਜਾਣੋ, ਜੋ ਸਕ੍ਰੀਨ ਉੱਤੇ ਤੱਤ ਡਰਾਇੰਗ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ | [ਕੈਨਵਾਸ 'ਤੇ ਡਰਾਇੰਗ](./6-space-game/2-drawing-to-canvas/README.md) | ਕ੍ਰਿਸ |
| 17 | [ਸਪੇਸ ਖੇਡ](./6-space-game/solution/README.md) | ਸਕ੍ਰੀਨ 'ਤੇ ਤੱਤਾਂ ਦੀ ਹਿਲਚਲ | ਕਾਰਟੇਸ਼ੀਅਨ ਕੋਆਰਡੀਨੇਟਸ ਅਤੇ ਕੈਨਵਾਸ API ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪਤਾ ਲਗਾਓ ਕਿ ਤੱਤ ਕਿਸ ਤਰ੍ਹਾਂ ਗਤੀਸ਼ੀਲ ਹੋ ਸਕਦੇ ਹਨ | [ਤੱਤਾਂ ਨੂੰ ਹਿਲਾਉਣਾ](./6-space-game/3-moving-elements-around/README.md) | ਕ੍ਰਿਸ |
| 18 | [ਸਪੇਸ ਖੇਡ](./6-space-game/solution/README.md) | ਟੱਕਰ ਦੀ ਪਹਿਚਾਨ | ਕੀਪ੍ਰੈਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਤੱਤਾਂ ਨੂੰ ਇੱਕ ਦੂਜੇ ਨਾਲ ਟੱਕਰ ਕਰਨ ਅਤੇ ਪ੍ਰਤੀਕ੍ਰਿਆ ਦੇਣ ਨਾਲ ਖੇਡ ਦੀ ਕਾਰਕਿਰਦਗੀ ਯਕੀਨੀ ਬਣਾਓ | [ਟੱਕਰ ਦੀ ਪਹਿਚਾਨ](./6-space-game/4-collision-detection/README.md) | ਕ੍ਰਿਸ |
| 19 | [ਸਪੇਸ ਖੇਡ](./6-space-game/solution/README.md) | ਸਕੋਰ ਰੱਖਣਾ | ਖੇਡ ਦੀ ਸਥਿਤੀ ਅਤੇ ਕੰਮਕਾਜ ਦੇ ਆਧਾਰ 'ਤੇ ਗਣਿਤ ਧਾਰਣਾ ਕਰੋ | [ਸਕੋਰ ਰੱਖਣਾ](./6-space-game/5-keeping-score/README.md) | ਕ੍ਰਿਸ |
| 20 | [ਸਪੇਸ ਖੇਡ](./6-space-game/solution/README.md) | ਖੇਡ ਖਤਮ ਤੇ ਮੁੜ ਸ਼ੁਰੂ ਕਰਨਾ | ਖੇਡ ਦੇ ਖਤਮ ਹੋਣ ਅਤੇ ਮੁੜ ਸ਼ੁਰੂ ਕਰਨ ਬਾਰੇ ਜਾਣੋ, ਜਿਸ ਵਿੱਚ ਸਾਮੱਗਰੀ ਸਾਫ ਕਰਨ ਅਤੇ ਵੈਰੀਏਬਲ ਮੁੱਲਾਂ ਨੂੰ ਰੀਸੈਟ ਕਰਨਾ ਸ਼ਾਮਿਲ ਹੈ | [ਖੇਡ ਦਾ ਖਤਮ ਹੋਣ ਵਾਲਾ ਹਾਲਤ](./6-space-game/6-end-condition/README.md) | ਕ੍ਰਿਸ |
| 21 | [ਬੈਂਕਿੰਗ ਐਪ](./7-bank-project/solution/README.md) | ਵੈੱਬ ਐਪ ਵਿੱਚ HTML ਟੈਂਪਲੇਟ ਅਤੇ ਰੂਟਸ | ਰੂਟਿੰਗ ਅਤੇ HTML ਟੈਂਪਲੇਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਈ-ਪੰਨੇ ਦੀ ਵੈੱਬਸਾਈਟ ਦੀ ਸੰਰਚਨਾ ਬਣਾਉਣ ਬਾਰੇ ਸਿੱਖੋ | [HTML ਟੈਂਪਲੇਟ ਅਤੇ ਰੂਟਸ](./7-bank-project/1-template-route/README.md) | ਯੋਹਾਨ |
| 22 | [ਬੈਂਕਿੰਗ ਐਪ](./7-bank-project/solution/README.md) | ਲਾਗਇਨ ਅਤੇ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਫਾਰਮ ਬਣਾਉਣਾ | ਫਾਰਮ ਬਣਾਉਣ ਅਤੇ ਵੈਧਤਾ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਹੈਂਡਲ ਕਰਨ ਬਾਰੇ ਜਾਣੋ | [ਫਾਰਮ](./7-bank-project/2-forms/README.md) | ਯੋਹਾਨ |
| 23 | [ਬੈਂਕਿੰਗ ਐਪ](./7-bank-project/solution/README.md) | ਡਾਟਾ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਵਰਤਣ ਦੇ ਤਰੀਕੇ | ਕਿਵੇਂ ਤੁਹਾਡੀ ਐਪ ਵਿੱਚ ਡਾਟਾ ਆਉਂਦੀ ਅਤੇ ਜਾਂਦੀ ਹੈ, ਇਹ ਕਿਵੇਂ ਲਿਆਉਣਾ, ਸਟੋਰ ਕਰਨਾ ਅਤੇ ਨਿਕਾਲਣਾ ਹੈ | [ਡਾਟਾ](./7-bank-project/3-data/README.md) | ਯੋਹਾਨ |
| 24 | [ਬੈਂਕਿੰਗ ਐਪ](./7-bank-project/solution/README.md) | ਸਟੇਟ ਮੈਨੇਜਮੈਂਟ ਦੇ ਸੰਕਲਪ | ਆਪਣੀ ਐਪ ਸਟੇਟ ਨੂੰ ਕਿਵੇਂ ਧਾਰਨ ਕਰਦੀ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਪ੍ਰੋਗਰਾਮਾਤਮਕ ਤਰ੍ਹਾਂ ਕਿਵੇਂ ਪ੍ਰਬੰਧਿਤ ਕਰਨਾ ਹੈ | [ਸਟੇਟ ਮੈਨੇਜਮੈਂਟ](./7-bank-project/4-state-management/README.md) | ਯੋਹਾਨ |
| 25 | [Browser/VScode Code](../../8-code-editor) | VScode ਨਾਲ ਕੰਮ ਕਰਨਾ | ਕੋਡ ਐਡੀਟਰ ਦੀ ਵਰਤੋਂ ਸਿੱਖੋ | [VScode ਕੋਡ ਐਡੀਟਰ ਦੀ ਵਰਤੋਂ](./8-code-editor/1-using-a-code-editor/README.md) | ਕ੍ਰਿਸ |
| 26 | [AI ਸਹਾਇਕ](./9-chat-project/README.md) | AI ਨਾਲ ਕੰਮ ਕਰਨਾ | ਆਪਣਾ ਖੁਦ ਦਾ AI ਸਹਾਇਕ ਬਣਾਉਣਾ ਸਿੱਖੋ | [AI ਸਹਾਇਕ ਪ੍ਰਾਜੈਕਟ](./9-chat-project/README.md) | ਕ੍ਰਿਸ |
## 🏫 ਸਿੱਖਣ ਦੀ ਵਿਧ
ਸਾਡਾ ਕਰਿਕੁਲਮ ਦੋ ਪ੍ਰਮੁੱਖ ਸਿੱਖਣ-ਸੰਬੰਧੀ ਸਿਧਾਂਤਾਂ ਦੇ ਨਾਲ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ:
* ਪ੍ਰਾਜੈਕਟ-ਅਧਾਰਿਤ ਸਿੱਖਣ
| | ਪ੍ਰਜੈਕਟ ਦਾ ਨਾਮ | ਸਿੱਖਾਏ ਗਏ ਸਿਧਾਂਤ | ਸਿੱਖਣ ਦੇ ਉਦੇਸ਼ | ਲਿੰਕ ਕੀਤਾ ਪਾਠ | ਲੇਖਕ |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | ਸ਼ੁਰੂਆਤ ਕਰਨਾ | ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਅਤੇ ਟੂਲਜ਼ ਦਾ ਪਰਿਚય | ਜ਼ਿਆਦਾਤਰ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਦੇ ਮੂਲ ਸਿਧਾਂਤ ਅਤੇ ਉਹ ਸਾਫਟਵੇਅਰ ਜਿਸ ਨਾਲ ਪੇਸ਼ੇਵਰ ਡਿਵੈਲਪਰ ਆਪਣਾ ਕੰਮ ਕਰਦੇ ਹਨ ਨੂੰ ਸਮਝੋ | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | ਸ਼ੁਰੂਆਤ ਕਰਨਾ | GitHub ਦੇ ਬੁਨਿਆਦੀ, ਟੀਮ ਨਾਲ ਕੰਮ ਕਰਨ ਸਮੇਤ | ਆਪਣੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ GitHub ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ, ਇੱਕ ਕੋਡ ਆਧਾਰ 'ਤੇ ਦੂਜਿਆਂ ਨਾਲ ਸਹਿਯੋਗ ਕਿਵੇਂ ਕਰਨਾ ਹੈ | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | ਸ਼ੁਰੂਆਤ ਕਰਨਾ | ਐਕਸੈੱਸਬਿਲਿਟੀ | ਵੈੱਬ ਐਕਸੈੱਸਬਿਲਿਟੀ ਦੇ ਮੂਢ ਸਿੱਧਾਂਤ ਸਿੱਖੋ | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS ਬੁਨਿਆਦੀ | ਜਾਵਾਸਕ੍ਰਿਪਟ ਡਾਟਾ ਟਾਈਪ | ਜਾਵਾਸਕ੍ਰਿਪਟ ਡਾਟਾ ਟਾਈਪ ਦੇ ਬੁਨਿਆਦੀ | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS ਬੁਨਿਆਦੀ | ਫੰਕਸ਼ਨ ਅਤੇ ਮੈਥਡ | ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਲੌਜਿਕ ਫਲੋ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਲਈ ਫੰਕਸ਼ਨ ਅਤੇ ਮੈਥਡ ਬਾਰੇ ਸਿੱਖੋ | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine ਅਤੇ Christopher |
| 06 | JS ਬੁਨਿਆਦੀ | JS ਨਾਲ ਫੈਸਲੇ ਲੈਣਾ | ਫੈਸਲੇ ਲੈਣ ਦੇ ਤਰੀਕੇ ਵਰਤ ਕੇ ਆਪਣੇ ਕੋਡ ਵਿੱਚ ਸ਼ਰਤਾਂ ਕਿਵੇਂ ਬਣਾਉਣੀਆਂ ਹ ਸਿੱਖੋ | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS ਬੁਨਿਆਦੀ | ਐਰੇ ਅਤੇ ਲੂਪ | ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਿੱਚ ਐਰੇ ਅਤੇ ਲੂਪ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰੋ | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML ਅਮਲੀਅਤ ਵਿੱਚ | ਇੱਕ ਔਨਲਾਈਨ ਟੇਰੀਰੀਅਮ ਬਣਾਉਣ ਲਈ HTML ਤਿਆਰ ਕਰੋ, ਖਾਸ ਤੌਰ 'ਤੇ ਲੇਆਉਟ 'ਤੇ ਧਿਆਨ ਕੇਂਦ੍ਰਿਤ ਕਰਕੇ | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS ਅਮਲੀਅਤ ਵਿੱਚ | ਔਨਲਾਈਨ ਟੇਰੀਰੀਅਮ ਨੂੰ ਸਜਾਉਣ ਲਈ CSS ਤਿਆਰ ਕਰੋ, CSS ਦੇ ਮੁਢਲੀ ਅਸਲੀਅਤ ਸਮੇਤ ਪੰਨਾ ਰਿਸਪਾਂਸਿਵ ਬਣਾਉਣ 'ਤੇ ਧਿਆਨ ਕੇਂਦ੍ਰਿਤ ਕਰਕੇ | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | ਜਾਵਾਸਕ੍ਰਿਪਟ ਕਲੋਜ਼ਰ, DOM ਪਰਬੰਧਨ | ਟੇਰੀਰੀਅਮ ਨੂੰ ਡਰੈਗ/ਡ੍ਰਾਪ ਇੰਟਰਫੇਸ ਵਜੋਂ ਕੰਮ ਕਰਨ ਲਈ ਜਾਵਾਸਕ੍ਰਿਪਟ ਬਣਾਓ, ਕਲੋਜ਼ਰ ਅਤੇ DOM ਪਰਬੰਧਨ 'ਤੇ ਧਿਆਨ ਕੇਂਦ੍ਰਿਤ ਕਰਕੇ | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | ਟਾਈਪਿੰਗ ਗੇਮ ਬਣਾਉਣਾ | ਕੀਬੋਰਡ ਇਵੈਂਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੀ ਜਾਵਾਸਕ੍ਰਿਪਟ ਐਪ ਦੀ ਲਾਜਿਕ ਚਲਾਉਣਾ ਸਿੱਖੋ | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ਬਰਾਊਜ਼ਰਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ | ਬਰਾਊਜ਼ਰ ਕਿਵੇਂ ਕੰਮ ਕਰਦੇ ਹਨ, ਉਹਨਾਂ ਦਾ ਇਤਿਹਾਸ, ਅਤੇ ਇੱਕ ਬਰਾਊਜ਼ਰ ਵਿਸਥਾਰ ਦੇ ਪਹਿਲੇ ਤੱਤਾਂ ਨੂੰ ਕਿਵੇਂ ਤਿਆਰ ਕਰਨਾ ਸਿੱਖੋ | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ਫਾਰਮ ਬਣਾਉਣਾ, API ਕਾਲ ਕਰਨਾ ਤੇ ਲੋਕਲ ਸਟੋਰੇਜ ਵਿੱਚ ਵੇਰੀਏਬਲ ਸੰਭਾਲਣਾ | ਆਪਣੇ ਬਰਾਊਜ਼ਰ ਵਿਸਥਾਰ ਦੇ ਜਾਵਾਸਕ੍ਰਿਪਟ ਤੱਤ ਬਣਾਓ ਅਤੇ ਲੋਕਲ ਸਟੋਰੇਜ਼ ਵਿੱਚ ਸੰਭਾਲੇ ਵੇਰੀਏਬਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ API ਕਾਲ ਕਰੋ | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ਬਰਾਊਜ਼ਰ ਦੀ ਪਿਛੋਕੜ ਦੀ ਪ੍ਰਕਿਰਿਆਵਾਂ, ਵੈੱਬ ਪ੍ਰਦਰਸ਼ਨ | ਵਰਸਤਾਰ ਦੇ ਆਈਕਨ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰਨ ਲਈ ਬਰਾਊਜ਼ਰ ਦੀ ਪਿਛੋਕੜ ਦੀ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ; ਵੈੱਬ ਪ੍ਰਦਰਸ਼ਨ ਬਾਰੇ ਜਾਣੋ ਅਤੇ ਕੁਝOptਮਾਈਜ਼ੇਸ਼ਨ ਬਾਰੇ ਵੀ ਸਿੱਖੋ | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | ਜਾਵਾਸਕ੍ਰਿਪਟ ਨਾਲ ਹੋਰ ਉੱਚ ਪੱਧਰ ਦਾ ਗੇਮ ਵਿਕਾਸ | ਇਨਹੈਰੀਟੈਂਸ ਬਾਰੇ ਜਾਣੋ ਜੋ ਕਲਾਸਾਂ ਅਤੇ ਕੰਪੋਜ਼ੀਸ਼ਨ ਨਾਲ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਪਬ/ਸਬ ਪੈਟਰਨ, ਗੇਮ ਬਣਾਉਣ ਦੀ ਤਿਆਰੀ ਲਈ | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | ਕੈਨਵਸ 'ਤੇ ਡਰਾਇੰਗ | ਕੈਨਵਸ API ਬਾਰੇ ਜਾਣੋ, ਜੋ ਸਕ੍ਰੀਨ 'ਤੇ ਤੱਤਾਂ ਨੂੰ ਡ੍ਰਾਇ ਕਰਦਾ ਹੈ | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | ਸਕ੍ਰੀਨ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਤੱਤਾਂ ਨੂੰ ਹਿਲਾਉਣਾ | ਦਿਖੋ ਕਿ ਤੱਤ Cartesian ਕੋਆਰਡੀਨੇਟ ਅਤੇ ਕੈਨਵਸ API ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਿਵੇਂ ਮੋਸ਼ਨ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਨ | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | ਟਕਰਾਅ ਦੀ ਪਛਾਣ | ਤੱਤਾਂ ਨੂੰ ਇੱਕ-ਦੂਜੇ ਨਾਲ ਟਕਰਾਉਣ ਅਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਨ ਲਈ ਕੀ-ਪ੍ਰੈੱਸ ਦੀ ਵਰਤੋਂ ਕਰੋ ਅਤੇ ਇੱਕ ਕੂਲਡਾਊਨ ਫੰਕਸ਼ਨ ਪ੍ਰਦਾਨ ਕਰੋ ਤਾਂ ਜੋ ਗੇਮ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਯਕੀਨੀ ਹੋ ਜਾਵੇ | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | ਸਕੋਰ ਰੱਖਣਾ | ਗੇਮ ਦੀ ਸਥਿਤੀ ਅਤੇ ਕਾਰਗੁਜ਼ਾਰੀ ਦੇ ਆਧਾਰ 'ਤੇ ਗਣਿਤ ਮੁਕੰਮਲ ਕਰੋ | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | ਗੇਮ ਦਾ ਅੰਤ ਅਤੇ ਮੁੜ ਸ਼ੁਰੂ ਕਰਨਾ | ਗੇਮ ਖਤਮ ਕਰਨ ਅਤੇ ਮੁੜ ਸ਼ੁਰੂ ਕਰਨ ਬਾਰੇ ਸਿੱਖੋ, ਜਿਸ ਵਿੱਚ ਅਧਾਰਸ਼ਾਂ ਸਾਫ਼ ਕਰਨਾ ਅਤੇ ਵੇਰੀਏਬਲ ਮੁੱਲ ਰੀਸੈੱਟ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | ਵੈੱਬ ਐਪ ਵਿੱਚ HTML ਟੈਂਪਲੇਟ ਅਤੇ ਰੂਟਸ | ਰੂਟਿੰਗ ਅਤੇ HTML ਟੈਂਪਲੇਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬਹੁ-ਪੰਨਾ ਵੈੱਬਸਾਈਟ ਦੀ ਢਾਂਚਾ ਬਣਾਉਣਾ ਸਿੱਖੋ | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | ਲਾਗਇਨ ਅਤੇ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਫਾਰਮ ਬਣਾਉਣਾ | ਫਾਰਮ ਬਣਾਉਣ ਅਤੇ ਵੈਧਤਾ ਚਲਾਉਣ ਬਾਰੇ ਸਿੱਖੋ | [Forms](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | ਡਾਟਾ ਲੈਣ ਅਤੇ ਵਰਤਣ ਦੇ ਤਰੀਕੇ | ਤੁਹਾਡੇ ਐਪ ਵਿੱਚ ਡਾਟਾ ਕਿਵੇਂ ਆਉਂਦਾ ਅਤੇ ਜਾਂਦਾ ਹੈ, ਇਸਨੂੰ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕਰਨਾ, ਸਟੋਰ ਕਰਨਾ ਅਤੇ ਖਤਮ ਕਰਨਾ ਸਿੱਖੋ | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | ਸਟੇਟ ਪ੍ਰਬੰਧਨ ਦੇ ਸਿਧਾਂਤ | ਜਾਣੋ ਕਿ ਤੁਹਾਡਾ ਐਪ ਸਟੇਟ ਨੂੰ ਕਿਵੇਂ ਰੱਖਦਾ ਹੈ ਅਤੇ ਪ੍ਰੋਗਰਾਮਾਤਮਕ ਤੌਰ 'ਤੇ ਇਸਦਾ ਪ੍ਰਬੰਧਨ ਕਿਵੇਂ ਕਰਨਾ ਹੈ | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | VScode ਨਾਲ ਕੰਮ ਕਰਨਾ | ਜਾਣੋ ਕਿਵੇਂ ਇੱਕ ਕੋਡ ਐਡੀਟਰ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਹੈ | [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | AI ਨਾਲ ਕੰਮ ਕਰਨਾ | ਆਪਣਾ ਖੁਦ ਦਾ AI ਸਹਾਇਕ ਬਣਾਉਣਾ ਸਿੱਖੋ | [AI Assistant project](./9-chat-project/README.md) | Chris |
## 🏫 ਪੈਡਾਗੋਜ
ਸਾਡੇ ਕੋਰਸ ਨੂੰ ਦੋ ਮੁੱਖ ਪੈਡਾਗੋਜੀਕਲ ਸਿਧਾਂਤਾਂ ਦੇ ਧਿਆਨ ਨਾਲ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ:
* ਪ੍ਰੋਜੈਕਟ-ਆਧਾਰਿਤ ਸਿੱਖਿਆ
* ਬਾਰੰਬਾਰ ਕਵਿਜ਼
ਇਹ ਪ੍ਰੋਗਰਾਮ ਜਾਵਾਸਕ੍ਰਿਪਟ, HTML ਅਤੇ CSS ਦੇ ਮੂਲ ਭਾਗ ਸਿੱਖਾਉਂਦਾ ਹੈ, ਨਾਲ ਹੀ ਅੱਜ ਦੇ ਵੈੱਬ ਡਿਵੈਲਪਰਾਂ ਵੱਲੋਂ ਵਰਤੇ ਜਾਂਦੇ ਸਾਬਕਾ ਸੰਦ ਤੇ ਤਕਨੀਕਾਂ। ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਟਾਈਪਿੰਗ ਖੇਡ, ਵਰਚੁਅਲ ਟੈਰਾਰਿਯਮ, ਇੰਨੀ-ਮਿਤ੍ਰ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ, ਸਪੇਸ-ਇਨਵੇਡਰ-ਸ਼ੈਲੀ ਖੇਡ ਅਤੇ ਕਾਰੋਬਾਰ ਲਈ ਬੈਂਕਿੰਗ ਐਪ ਬਣਾਉਣ ਦੇ ਜ਼ਰੀਏ ਹੱਥ-ਅਨੁਭਵ ਦੇਣ ਦਾ ਮੌਕਾ ਮਿਲੇਗਾ। ਸੀਰੀਜ਼ ਦੇ ਅੰਤ ਤੱਕ, ਵਿਦਿਆਰਥੀ ਵੈੱਬ ਵਿਕਾਸ ਦਾ ਇੱਕ ਮਜ਼ਬੂਤ ਸਮਝ ਪ੍ਰਾਪਤ ਕਰ ਲੈਣਗੇ।
ਇਹ ਕਾਰਜਕ੍ਰਮ ਜਾਵਾਸਕ੍ਰਿਪਟ, HTML, ਅਤੇ CSS ਦੇ ਮੂਲ ਤੱਤ ਅਤੇ ਅੱਜ ਦੇ ਵੈੱਬ ਡਿਵੈਲਪਰਾਂ ਵੱਲੋਂ ਇਸਤੇਮਾਲ ਹੋਣ ਵਾਲੇ ਤਾਜ਼ਾ ਟੂਲ ਅਤੇ ਤਕਨੀਕਾਂ ਸਿੱਖਾਉਂਦਾ ਹੈ। ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਹੱਥ-ਮੇਂਹਦੇ ਤਜਰਬਾ ਪ੍ਰਾਪਤ ਕਰਨ ਦਾ ਮੌਕਾ ਮਿਲੇਗਾ, ਜਿਸ ਵਿੱਚ ਇਕ ਟਾਈਪਿੰਗ ਗੇਮ, ਵਰਚੁਅਲ ਟੇਰੀਰੀਅਮ, ਪਰਿਵਾਰਕ ਬਰਾਊਜ਼ਰ ਵਿਸਥਾਰ, ਸਪੇਸ-ਇਨਵੇਡਰ-ਸਟੀਲ ਗੇਮ, ਅਤੇ ਵਿਅਵਸਾਈਆਂ ਲਈ ਬੈਂਕਿੰਗ ਐਪ ਤਿਆਰ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ। ਸਿਰੀਜ਼ ਦੇ ਅੰਤ ਤੱਕ, ਵਿਦਿਆਰਥੀ ਵੈੱਬ ਵਿਕਾਸ ਬਾਰੇ ਪੱਕੀ ਸਮਝ ਪ੍ਰਾਪਤ ਕਰ ਚੁੱਕਣਗੇ।
> 🎓 ਤੁਸੀਂ ਇਸ ਕਰਿਕੁਲਮ ਵਿੱਚ ਪਹਿਲੇ ਕੁਝ ਪਾਠ https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) 'ਤੇ [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) ਵਜੋਂ ਲੈ ਸਕਦੇ ਹੋ!
> 🎓 ਤੁਸੀਂ ਇਸ ਕੋਰਸ ਦੇ ਪਹਿਲੇ ਕੁਝ ਪਾਠਾਂ ਨੂੰ Microsoft Learn 'ਤੇ [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) ਵਜੋਂ ਵੀ ਲੈ ਸਕਦੇ ਹੋ!
ਇਸ ਗੱਲ ਨੂੰ ਯਕੀਨ ਬਣਾਕੇ ਕਿ ਸਮੱਗਰੀ ਪ੍ਰਾਜੈਕਟਾਂ ਨਾਲ ਮੇਲ ਖਾਂਦੀ ਹੈ, ਇਹ ਪ੍ਰਕਿਰਿਆ ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਜ਼ਿਆਦਾ ਰੁਚਿਕਰ ਬਣਾਈ ਜਾਂਦੀ ਹੈ ਅਤੇ ਸੰਕਲਪਾਂ ਦੀ ਯਾਦਗਾਰੀ ਵਧਾਏਗੀ। ਅਸੀਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਬੁਨਿਆਦੀਆਂ ਵਿੱਚ ਕੁਝ ਸ਼ੁਰੂਆਤੀ ਪਾਠ ਵੀ ਲਿਖੇ ਹਨ ਜੋ ਸੰਕਲਪਾਂ ਨੂੰ ਜਾਣੂ ਕਰਵਾਉਂਦੇ ਹਨ, "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" ਵੀਡੀਓ ਟਿਊਟੋਰਿਯਲ ਕਲੇਕਸ਼ਨ ਦੇ ਨਾਲ, ਜਿਸ ਵਿੱਚ ਕੁਝ ਲੇਖਕਾਂ ਨੇ ਇਸ ਕਰਿਕੁਲਮ ਵਿੱਚ ਯੋਗਦਾਨ ਦਿੱਤਾ ਹੈ।
ਜਦੋਂ ਸਮੱਗਰੀ ਪ੍ਰੋਜੈਕਟਾਂ ਨਾਲ ਸੰਗਤ ਹੁੰਦੀ ਹੈ, ਤਦ ਪ੍ਰਕਿਰਿਆ ਵਿਦਿਆਰਥੀਆਂ ਲਈ ਹੋਰ ਰੁਚਿਕਰ ਬਣਦੀ ਹੈ ਅਤੇ ਸਿਧਾਂਤਾਂ ਦਾ ਧਿਆਨ ਜ਼ਿਆਦਾ ਸਮੇਂ ਤੱਕ ਰਹਿੰਦਾ ਹੈ। ਅਸੀਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਦੇ ਬੁਨਿਆਦੀ ਪਾਠਾਂ ਦੀਆਂ ਕਈ ਸ਼ੁਰੂਆਤੀ ਪਾਠਾਂ ਲਿਖੀਆਂ ਹਨ, ਜੋ ਕੁਝ ਵੀਡੀਓਜ਼ "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" ਤੋਂ ਮਿਲ ਕੇ ਸਿੱਖਦੇ ਹਨ, ਜਿਨ੍ਹਾਂ ਦੇ ਲੇਖਕਾਂ ਨੇ ਇਸ ਕੋਰਸ ਵਿੱਚ ਯੋਗਦਾਨ ਦਿੱਤਾ ਹੈ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਇੱਕ ਨੀਵਣ-ਦਰਜੇ ਦਾ ਕਵਿਜ਼ ਕਲਾਸ ਤੋਂ ਪਹਿਲਾਂ ਵਿਦਿਆਰਥੀ ਦੀ ਇੱਕ ਟਾਪਿਕ ਵੱਲ ਇਰਾਦਾ ਬਣਾਉਂਦਾ ਹੈ, ਜਦਕਿ ਦੂਜਾ ਕਵਿਜ਼ ਕਲਾਸ ਤੋਂ ਬਾਅਦ ਹੋਰ ਯਾਦਦਾਸ਼ਤ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ। ਇਸ ਕਰਿਕੁਲਮ ਨੂੰ ਲਚਕੀਲਾ ਅਤੇ ਮਨੋਰੰਜਕ ਬਣਾਉਣ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਪੂਰੇ ਜਾਂ ਹਿੱਸਾ ਵਜੋਂ ਲਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਪ੍ਰਾਜੈਕਟ ਛੋਟੇ ਹੁੰਦੇ ਹਨ ਅਤੇ 12 ਹਫ਼ਤੇ ਦੀ ਸਾਈਕਲ ਦੇ ਅੰਤ ਤੱਕ ਵੱਧ ਕੇ ਪੇਚੀਦਾ ਹੁੰਦੇ ਜਾਂਦੇ ਹਨ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਕਲਾਸ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਘੱਟ-ਦਬਾਅ ਵਾਲਾ ਕਵਿਜ਼ ਵਿਦਿਆਰਥੀ ਦੇ ਸਿੱਖਣ ਦਾ ਮਕਸਦ ਸੈਟ ਕਰਦਾ ਹੈ, ਜਦਕਿ ਕਲਾਸ ਤੋਂ ਬਾਅਦ ਦੂਜਾ ਕਵਿਜ਼ ਹੋਰ ਕਨਸੈਪਟਾਂ ਦੀ ਸਮਝ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ ਕੋਰਸ ਲਚਕੀਲਾ ਅਤੇ ਮਨੋਰੰਜਕ ਬਣਾਉਣ ਲਈ ਬਣਾਇਆ ਗਿਆ ਹੈ ਅਤੇ ਇਸਨੂੰ ਪੂਰਾ ਜਾਂ ਹਿੱਸਾ-ਹਿੱਸਾ ਲਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਪ੍ਰੋਜੈਕਟ ਛੋਟੇ ਸ਼ੁਰੂ ਹੁੰਦੇ ਹਨ ਅਤੇ 12 ਹਫਤਿਆਂ ਦੇ ਚੱਕਰ ਦੇ ਅੰਤ ਤੱਕ ਵੱਧ ਸਖ਼ਤ ਹੋ ਜਾਂਦੇ ਹਨ।
ਜਦ ਕਿ ਅਸੀਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਫਰੇਮਵਰਕਾਂ ਨੂੰ ਬੁਨਿਆਦੀ ਹੁਨਰਾਂ 'ਤੇ ਫੋਕਸ ਕਰਨ ਲਈ ਇੱਛਾ ਸਹਿਤ ਨਹੀਂ ਸ਼ਾਮਿਲ ਕੀਤਾ ਹੈ, ਪਰ ਇਸ ਕਰਿਕੁਲਮ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਅਗਲਾ ਚੰਗਾ ਕਦਮ ਹੋਵੇਗਾ Node.js ਬਾਰੇ ਹੋਰ ਵੀਡੀਓਜ਼ ਦੀ ਇੱਕ ਕਲੈਕਸ਼ਨ "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)" ਰਾਹੀਂ ਸਿੱਖਣਾ।
ਜਦ ਕਿ ਅਸੀਂ ਜਾਵਾਸਕ੍ਰਿਪਟ ਫਰੇਮਵਰਕਾਂ ਨੂੰ ਜਾਣ-ਬੁਝ ਕੇ ਇਸ ਕੋਰਸ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਤਾਕਿ ਇੱਕ ਵੈੱਬ ਡਿਵੈਲਪਰ ਲਈ ਬੁਨਿਆਦੀ ਕੌਸ਼ਲਾਂ ਉੱਤੇ ਧਿਆਨ ਦਿੱਤਾ ਜਾ ਸਕੇ, ਇਸ ਕੋਰਸ ਨੂੰ ਪੂਰਾ ਕਰਨ ਦਾ ਅਗਲਾ ਵਧੀਆ ਕਦਮ ਹੋਵੇਗਾ Node.js ਬਾਰੇ ਹੋਰ ਵੀਡੀਓਜ਼ ਦੀ ਕਲੈਕਸ਼ਨ "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)" ਤੋਂ ਸਿੱਖਣਾ।
> ਸਾਡੇ [ਸੰਚਾਲਨ ਕੋਡ](CODE_OF_CONDUCT.md) ਅਤੇ [ਯੋਗਦਾਨ ਦੇਣ ਵਾਲੇ](CONTRIBUTING.md) ਸੂਚਕਾਂਕਾਂ 'ਤੇ ਜਾਓ। ਅਸੀਂ ਤੁਹਾਡੇ ਸਹਿਯੋਗੀ ਫੀਡਬੈਕ ਦਾ ਸਵਾਗਤ ਕਰਦੇ ਹਾਂ!
> ਸਾਡੇ [Code of Conduct](CODE_OF_CONDUCT.md) ਅਤੇ [Contributing](CONTRIBUTING.md) ਨਿਦੇਸ਼ਾਂ ਨੂੰ ਜ਼ਰੂਰ ਵੇਖੋ। ਅਸੀਂ ਤੁਹਾਡੇ ਸਰਗਰਮ ਸੁਝਾਵਾਂ ਦਾ ਸਵਾਗਤ ਕਰਦੇ ਹਾਂ!
## 🧭 ਆਫਲਾਈਨ ਪਹੁੰਚ
ਤੁਸੀਂ [Docsify](https://docsify.js.org/#/) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਸ ਡੌਕੂਮੈਂਟੇਸ਼ਨ ਨੂੰ ਆਫਲਾਈਨ ਚਲਾ ਸਕਦੇ ਹੋ। ਇਸ ਰਿਪੋ ਨੂੰ ਫੋਰਕ ਕਰੋ, ਆਪਣੇ ਸਥਾਨਕ ਮਸ਼ੀਨ 'ਤੇ [Docsify ਇੰਸਟਾਲ](https://docsify.js.org/#/quickstart) ਕਰੋ, ਅਤੇ ਫਿਰ ਇਸ ਰਿਪੋ ਦੇ ਰੂਟ ਫੋਲਡਰ ਵਿੱਚ `docsify serve` ਟਾਈਪ ਕਰੋ। ਵੈੱਬਸਾਈਟ ਤੁਹਾਡੇ ਲੋਕਲਹੋਸਟ ਦੇ ਪੋਰਟ 3000 'ਤੇ ਸਰਵ ਕੀਤੀ ਜਾਵੇਗੀ: `localhost:3000`
ਤੁਸੀਂ [Docsify](https://docsify.js.org/#/) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਸ ਡੌਕੂਮੈਂਟੇਸ਼ਨ ਨੂੰ ਆਫਲਾਈਨ ਚਲਾ ਸਕਦੇ ਹੋ। ਇਸ ਰਿਪੋ ਨੂੰ ਫੋਰਕ ਕਰੋ, [Docsify ਇੰਸਟਾਲ ਕਰੋ](https://docsify.js.org/#/quickstart) ਆਪਣੇ ਲੋਕਲ ਮਸ਼ੀਨ 'ਤੇ, ਅਤੇ ਫਿਰ ਇਸ ਰਿਪੋ ਦੇ ਰੂਟ ਫੋਲਡਰ ਵਿੱਚ `docsify serve` ਲਿਖੋ। ਵੈੱਬਸਾਈਟ ਤੁਹਾਡੇ ਲੋਕਲਸਰਵਰ 'ਤੇ ਪੋਰਟ 3000 'ਤੇ ਚਲੇਗੀ: `localhost:3000`
## 📘 PDF
ਭ ਪਾਠਾਂ ਦੀ ਇੱਕ PDF [ਇਥੇ](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf) ਮਿਲ ਸਕਦੀ ਹੈ
ਾਰੇ ਪਾਠਾਂ ਦੀ PDF ਤੁਸੀਂ [ਇਥੇ](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf) ਲੱਭ ਸਕਦੇ ਹੋ
## 🎒 ਹੋਰ ਕੋਰਸ
ਸਾਡੀ ਟੀਮ ਹੋਰ ਕੋਰਸ ਤਿਆਰ ਕਰਦੀ ਹੈ! ਦੇਖੋ:
ਸਾਡੀ ਟੀਮ ਹੋਰ ਕੋਰਸ ਵੀ ਬਣਾਉਂਦੀ ਹੈ! ਚੈੱਕ ਕਰੋ:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -241,7 +240,7 @@
---
### Core Learning
### ਕੋਰ ਸਿੱਖਿਆ
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@ -252,29 +251,25 @@
---
### Copilot Series
### ਕੋਪਾਇਲਟ ਸੀਰੀਜ਼
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## ਸਹਾਇਤਾ ਪ੍ਰਾਪਤ ਕਰਨਾ
## ਮਦਦ ਪ੍ਰਾਪਤ ਕਰਨਾ
ਜੇ ਤੁਸੀਂ ਅਟਕੇ ਹੋ ਜਾਂ AI ਐਪ ਬਣਾਉਣ ਬਾਰੇ ਕੋਈ ਸਵਾਲ ਹੈ। MCP ਬਾਰੇ ਵਿਚਾਰ-ਵਟਾਂਦਰਾ ਕਰਨ ਲਈ ਸਾਥੀ ਸਿੱਖਣ ਵਾਲੇ ਅਤੇ ਤਜਰਬੇਕਾਰ ਡਿਵੈਲਪਰਾਂ ਨਾਲ ਜੁੜੋ। ਇਹ ਇੱਕ ਸਮਰਥਕ ਭਾਈਚਾਰਾ ਹੈ ਜਿੱਥੇ ਸਵਾਲਾਂ ਦਾ ਸਵਾਗਤ ਹੈ ਅਤੇ ਗਿਆਨ ਖੁੱਲ੍ਹ ਕੇ ਸਾਂਝਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਜੇ ਤੁਸੀਂ ਫਸ ਜਾਂਦੇ ਹੋ ਜਾਂ AI ਐਪ ਬਣਾਉਣ ਬਾਰੇ ਕੋਈ ਸਵਾਲ ਹੈ, ਤਾਂ MCP ਬਾਰੇ ਚਰਚਾਵਾਂ ਵਿੱਚ ਸਿਖਿਅਰਥੀਆਂ ਅਤੇ ਅਨੁਭਵੀ ਵਿਕਾਸਕਾਰਾਂ ਨਾਲ ਜੁੜੋ। ਇਹ ਇਕ ਸਮਰਥਕ ਸਮੁਦਾਇ ਹੈ ਜਿੱਥੇ ਸਵਾਲ ਸਵਾਗਤਯੋਗ ਹਨ ਅਤੇ ਗਿਆਨ ਖੁੱਲ੍ਹੇ ਮਨ ਨਾਲ ਸਾਂਝਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਉਤਪਾਦ ਫੀਡਬੈਕ ਜਾਂ ਗਲਤੀਆਂ ਹਨ ਤਾਂ:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## ਲਾਇਸੈਂਸ
ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਉਤਪਾਦ ਫੀਡਬੈਕ ਜਾਂ ਬਨਾਉਣ ਦੌਰਾਨ ਕੋਈ ਗਲਤੀਆਂ ਹਨ ਤਾਂ ਦੇਖੋ:
ਇਹ ਰਿਪੋਜ਼ਿਟਰੀ MIT ਲਾਇਸੈਂਸ ਅਧੀਨ ਹੈ। ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ [LICENSE](../../LICENSE) ਫਾਈਲ ਵੇਖੋ।
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Devel
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ਅਸਵੀਕਾਰੋਪਣ**:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [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-03-27T22:32:42+00:00",
"translation_date": "2026-04-06T16:40:43+00:00",
"source_file": "AGENTS.md",
"language_code": "pt-BR"
},
@ -516,8 +516,8 @@
"language_code": "pt-BR"
},
"README.md": {
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T12:37:46+00:00",
"original_hash": "b885c87c7544109b78d6684daad6cba6",
"translation_date": "2026-04-06T16:37:04+00:00",
"source_file": "README.md",
"language_code": "pt-BR"
},

@ -2,29 +2,29 @@
## Visão Geral do Projeto
Este é um repositório de currículo educacional para ensinar fundamentos de desenvolvimento web para iniciantes. O currículo é um curso abrangente de 12 semanas desenvolvido pelos Microsoft Cloud Advocates, contendo 24 aulas práticas com JavaScript, CSS e HTML.
Este é um repositório educacional para ensinar fundamentos de desenvolvimento web para iniciantes. O currículo é um curso completo de 12 semanas desenvolvido pelos Microsoft Cloud Advocates, com 24 aulas práticas cobrindo JavaScript, CSS e HTML.
### Componentes Principais
- **Conteúdo Educacional**: 24 aulas estruturadas organizadas em módulos baseados em projetos
- **Projetos Práticos**: Terrarium, Jogo de Digitação, Extensão de Navegador, Jogo Espacial, Aplicativo Bancário, Editor de Código e Assistente de Chat com IA
- **Quizzes Interativos**: 48 quizzes com 3 perguntas cada (avaliações pré e pós-aula)
- **Suporte Multilíngue**: Traduções automáticas para mais de 50 idiomas via GitHub Actions
- **Questionários Interativos**: 48 questionários com 3 perguntas cada (avaliações pré/pós-aula)
- **Suporte Multilíngue**: Traduções automatizadas para mais de 50 idiomas via GitHub Actions
- **Tecnologias**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para projetos de IA)
### Arquitetura
- Repositório educacional com estrutura baseada em aulas
- Cada pasta de aula contém README, exemplos de código e soluções
- Projetos independentes em diretórios separados (quiz-app, vários projetos das aulas)
- Projetos independentes em diretórios separados (quiz-app, vários projetos de aulas)
- Sistema de tradução usando GitHub Actions (co-op-translator)
- Documentação servida via Docsify e disponível em PDF
## Comandos de Configuração
Este repositório é principalmente para consumo de conteúdo educacional. Para trabalhar com projetos específicos:
Este repositório é voltado principalmente para consumo de conteúdo educacional. Para trabalhar com projetos específicos:
### Configuração Principal do Repositório
### Configuração do Repositório Principal
```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 # Iniciar servidor de desenvolvimento
npm run build # Compilar para produção
npm run build # Construir para produção
npm run lint # Executar ESLint
```
@ -48,7 +48,7 @@ cd 7-bank-project/api
npm install
npm start # Iniciar servidor API
npm run lint # Executar ESLint
npm run format # Formatado com Prettier
npm run format # Formatar com Prettier
```
### Projetos de Extensão de Navegador
@ -59,7 +59,7 @@ npm install
# Siga as instruções específicas do navegador para carregar extensões
```
### Projetos do Jogo Espacial
### Projetos de Jogo Espacial
```bash
cd 6-space-game/solution
@ -72,30 +72,30 @@ npm install
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Defina a variável de ambiente GITHUB_TOKEN
# Definir variável de ambiente GITHUB_TOKEN
python api.py
```
## Fluxo de Desenvolvimento
## Fluxo de Trabalho para Desenvolvimento
### Para Contribuidores de Conteúdo
1. **Faça fork do repositório** para sua conta no GitHub
1. **Faça um fork do repositório** para sua conta no GitHub
2. **Clone seu fork** localmente
3. **Crie um novo branch** para suas mudanças
4. Faça alterações no conteúdo das aulas ou nos exemplos de código
5. Teste quaisquer alterações de código nos diretórios dos projetos relevantes
3. **Crie um novo branch** para suas alterações
4. Faça alterações no conteúdo das aulas ou exemplos de código
5. Teste quaisquer mudanças de código nos diretórios relevantes do projeto
6. Envie pull requests seguindo as diretrizes de contribuição
### Para Aprendizes
### Para Estudantes
1. Faça fork ou clone o repositório
2. Navegue sequencialmente pelos diretórios das aulas
2. Navegue pelas pastas das aulas sequencialmente
3. Leia os arquivos README de cada aula
4. Complete os quizzes pré-aula em https://ff-quizzes.netlify.app/web/
4. Complete os questionários pré-aula em https://ff-quizzes.netlify.app/web/
5. Trabalhe nos exemplos de código nas pastas das aulas
6. Complete as tarefas e desafios
7. Faça os quizzes pós-aula
6. Complete tarefas e desafios
7. Faça os questionários pós-aula
### Desenvolvimento ao Vivo
@ -104,22 +104,22 @@ python api.py
- **Projetos**: Use a extensão Live Server do VS Code para projetos HTML
- **Projetos API**: Execute `npm start` nos diretórios das APIs correspondentes
## Instruções de Testes
## Instruções de Teste
### Teste do Quiz App
```bash
cd quiz-app
npm run lint # Verificar problemas de estilo de código
npm run build # Verificar se a compilação é bem-sucedida
npm run lint # Verifique problemas de estilo de código
npm run build # Verifique se a compilação é bem-sucedida
```
### Teste da API Bancária
```bash
cd 7-bank-project/api
npm run lint # Verifique problemas de estilo de código
node server.js # Verifique se o servidor inicia sem erros
npm run lint # Verificar problemas de estilo de código
node server.js # Verificar se o servidor inicia sem erros
```
### Abordagem Geral de Testes
@ -128,24 +128,24 @@ node server.js # Verifique se o servidor inicia sem erros
- Testes manuais focam em:
- Exemplos de código executam sem erros
- Links na documentação funcionam corretamente
- Builds dos projetos completam com sucesso
- Exemplos seguem as melhores práticas
- Builds dos projetos concluem com sucesso
- Exemplos seguem boas práticas
### Verificações Pré-Envio
### Checagens Antes do Envio
- Execute `npm run lint` nos diretórios com package.json
- Execute `npm run lint` em diretórios com package.json
- Verifique se os links em markdown são válidos
- Teste exemplos de código no navegador ou Node.js
- Verifique se traduções mantêm a estrutura correta
- Verifique se as traduções mantêm a estrutura correta
## Diretrizes de Estilo de Código
### JavaScript
- Utilize sintaxe moderna ES6+
- Siga configurações padrão ESLint providas nos projetos
- Use sintaxe moderna ES6+
- Siga as configurações padrão do ESLint fornecidas nos projetos
- Use nomes de variáveis e funções significativos para clareza educacional
- Adicione comentários explicando conceitos para os aprendizes
- Adicione comentários explicando conceitos para estudantes
- Formate usando Prettier onde configurado
### HTML/CSS
@ -153,13 +153,13 @@ node server.js # Verifique se o servidor inicia sem erros
- Elementos semânticos HTML5
- Princípios de design responsivo
- Convenções claras de nomenclatura de classes
- Comentários explicando técnicas CSS para aprendizes
- Comentários explicando técnicas CSS para estudantes
### Python
- Diretrizes de estilo PEP 8
- Exemplos de código claros e educativos
- Anotações de tipos onde forem úteis para aprendizado
- Exemplos claros e educacionais
- Anotações de tipo úteis para aprendizado
### Documentação Markdown
@ -167,36 +167,36 @@ node server.js # Verifique se o servidor inicia sem erros
- Blocos de código com especificação de linguagem
- Links para recursos adicionais
- Capturas de tela e imagens nas pastas `images/`
- Texto alternativo para imagens para acessibilidade
- Texto alternativo para acessibilidade das imagens
### Organização de Arquivos
- Aulas numeradas sequencialmente (1-getting-started-lessons, 2-js-basics, etc.)
- Cada projeto tem diretórios `solution/` e frequentemente `start/` ou `your-work/`
- Imagens armazenadas em pastas `images/` específicas de cada aula
- Cada projeto possui diretórios `solution/` e frequentemente `start/` ou `your-work/`
- Imagens armazenadas em pastas específicas `images/` de cada aula
- Traduções na estrutura `translations/{language-code}/`
## Build e Implantação
### Implantação do Quiz App (Azure Static Web Apps)
O quiz-app está configurado para implantação em Azure Static Web Apps:
O quiz-app está configurado para implantação no Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Cria a pasta dist/
# Implanta via workflow do GitHub Actions ao fazer push para o main
# Faz o deploy via workflow do GitHub Actions ao enviar para a branch main
```
Configuração Azure Static Web Apps:
Configuração do Azure Static Web Apps:
- **Localização do app**: `/quiz-app`
- **Localização da saída**: `dist`
- **Localização de saída**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Geração de PDF da Documentação
```bash
npm install # Instale o docsify-to-pdf
npm install # Instale docsify-to-pdf
npm run convert # Gere PDF a partir do docs
```
@ -207,23 +207,23 @@ npm install -g docsify-cli # Instalar Docsify globalmente
docsify serve # Servir em localhost:3000
```
### Builds Específicos de Projetos
### Builds Específicos por Projeto
Cada diretório de projeto pode ter seu próprio processo de build:
- Projetos Vue: `npm run build` cria bundles de produção
- Projetos estáticos: Sem etapa de build, servem arquivos diretamente
- Projetos Vue: `npm run build` cria pacotes de produção
- Projetos estáticos: Sem passo de build, sirva os arquivos diretamente
## Diretrizes para Pull Requests
### Formato do Título
Use títulos claros e descritivos indicando a área da mudança:
- `[Quiz-app] Adicionar novo quiz para a aula X`
- `[Quiz-app] Adicionar novo quiz para a lição X`
- `[Lesson-3] Corrigir erro de digitação no projeto terrarium`
- `[Translation] Adicionar tradução em espanhol para a aula 5`
- `[Translation] Adicionar tradução para espanhol na lição 5`
- `[Docs] Atualizar instruções de configuração`
### Verificações Obrigatórias
### Verificações Necessárias
Antes de enviar um PR:
@ -231,50 +231,50 @@ Antes de enviar um PR:
- Execute `npm run lint` nos diretórios dos projetos afetados
- Corrija todos os erros e avisos do lint
2. **Verificação de Build**:
2. **Verificação do Build**:
- Execute `npm run build` se aplicável
- Garanta que não haja erros no build
3. **Validação de Links**:
- Teste todos os links markdown
- Verifique as referências de imagens
- Teste todos os links em markdown
- Verifique se referências de imagens funcionam
4. **Revisão de Conteúdo**:
4. **Revisão do Conteúdo**:
- Revise ortografia e gramática
- Assegure que os exemplos de código estejam corretos e educacionais
- Confirme que traduções mantenham o significado original
- Assegure que exemplos de código estão corretos e educacionais
- Verifique se traduções mantêm o significado original
### Requisitos de Contribuição
### Requisitos para Contribuição
- Aceite o CLA da Microsoft (checagem automática no primeiro PR)
- Siga o [Código de Conduta de Código Aberto da Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Veja [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Faça referência aos números de issues na descrição do PR, se aplicável
- Aceitar a CLA da Microsoft (verificação automática no primeiro PR)
- Seguir o [Código de Conduta de Código Aberto da Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Ver [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Referenciar números de issues na descrição do PR, se aplicável
### Processo de Revisão
- PRs revisados por mantenedores e comunidade
- Clareza educacional é priorizada
- Exemplos de código devem seguir as melhores práticas atuais
- Traduções revisadas quanto à precisão e adequação cultural
- Exemplos de código devem seguir melhores práticas atuais
- Traduções revisadas quanto a precisão e adequação cultural
## Sistema de Tradução
### Tradução Automatizada
- Usa GitHub Actions com workflow co-op-translator
- Traduz para mais de 50 idiomas automaticamente
- Arquivos-fonte nos diretórios principais
- Arquivos traduzidos nas pastas `translations/{language-code}/`
- Traduz automaticamente para mais de 50 idiomas
- Arquivos fonte nos diretórios principais
- Arquivos traduzidos em `translations/{language-code}/`
### Adição de Melhorias Manuais nas Traduções
### Adicionando Melhorias Manuais na Tradução
1. Localize o arquivo em `translations/{language-code}/`
2. Faça melhorias preservando a estrutura
3. Certifique-se de que exemplos de código continuem funcionais
4. Teste conteúdos de quiz localizados
3. Certifique-se que exemplos de código continuam funcionais
4. Teste qualquer conteúdo localizado dos quizzes
### Metadados das Traduções
### Metadados da Tradução
Arquivos traduzidos incluem cabeçalho de metadados:
```markdown
@ -299,37 +299,37 @@ CO_OP_TRANSLATOR_METADATA:
- Verifique conflitos de porta (padrão: Vite usa porta 5173)
**Servidor API não inicia**:
- Verifique se a versão do Node.js atende ao mínimo (node >=10)
- Cheque se a porta já está em uso
- Assegure que todas as dependências foram instaladas com `npm install`
- Confirme que Node.js atende o mínimo (node >=10)
- Verifique se a porta já não está em uso
- Garanta que todas as dependências estejam instaladas com `npm install`
**Extensão de navegador não carrega**:
**Extensão do navegador não carrega**:
- Verifique se o manifest.json está formatado corretamente
- Verifique a console do navegador para erros
- Siga as instruções específicas do navegador para instalação de extensões
- Confira o console do navegador para erros
- Siga as instruções específicas para instalação da extensão no navegador
**Problemas no projeto de chat Python**:
- Certifique-se de que o pacote OpenAI está instalado: `pip install openai`
- Assegure que o pacote OpenAI está instalado: `pip install openai`
- Verifique se a variável de ambiente GITHUB_TOKEN está definida
- Verifique as permissões de acesso aos GitHub Models
- Confirme permissões de acesso aos GitHub Models
**Docsify não serve a documentação**:
- Instale docsify-cli globalmente: `npm install -g docsify-cli`
- Instale globalmente o docsify-cli: `npm install -g docsify-cli`
- Execute a partir do diretório raiz do repositório
- Verifique se `docs/_sidebar.md` existe
- Verifique se o arquivo `docs/_sidebar.md` existe
### Dicas para o Ambiente de Desenvolvimento
### Dicas para Ambiente de Desenvolvimento
- Use VS Code com extensão Live Server para projetos HTML
- Instale as extensões ESLint e Prettier para formatação consistente
- Use as DevTools do navegador para debugar JavaScript
- Use VS Code com a extensão Live Server para projetos HTML
- Instale extensões ESLint e Prettier para formatação consistente
- Use DevTools do navegador para depurar JavaScript
- Para projetos Vue, instale a extensão Vue DevTools no navegador
### Considerações de Performance
- Grande número de arquivos traduzidos (50+ idiomas) torna clonagens completas grandes
- Use clone shallow se estiver trabalhando apenas com conteúdo: `git clone --depth 1`
- Exclua traduções de buscas ao trabalhar com conteúdo em inglês
- Grande número de arquivos traduzidos (mais de 50 idiomas) torna clones completos grandes
- Use clone superficial se trabalhar somente com conteúdo: `git clone --depth 1`
- Exclua traduções das buscas ao trabalhar com conteúdo em inglês
- Processos de build podem ser lentos na primeira execução (npm install, build Vite)
## Considerações de Segurança
@ -337,20 +337,20 @@ CO_OP_TRANSLATOR_METADATA:
### Variáveis de Ambiente
- Chaves de API nunca devem ser commitadas no repositório
- Use arquivos `.env` (já estão no `.gitignore`)
- Documente variáveis de ambiente necessárias nos READMEs dos projetos
- Use arquivos `.env` (já no `.gitignore`)
- Documente variáveis de ambiente necessárias nos README dos projetos
### Projetos Python
- Use ambientes virtuais: `python -m venv venv`
- Mantenha dependências atualizadas
- Tokens GitHub devem ter permissões mínimas necessárias
- Tokens do GitHub devem ter permissões mínimas necessárias
### Acesso aos GitHub Models
- Tokens de Acesso Pessoal (PAT) requeridos para GitHub Models
- Tokens devem ser armazenados como variáveis de ambiente
- Nunca commit tokens ou credenciais
- Tokens de Acesso Pessoal (PAT) são necessários para GitHub Models
- Armazene tokens como variáveis de ambiente
- Nunca faça commit de tokens ou credenciais
## Notas Adicionais
@ -358,51 +358,51 @@ CO_OP_TRANSLATOR_METADATA:
- Iniciantes completos em desenvolvimento web
- Estudantes e autodidatas
- Professores que usam o currículo em sala de aula
- Conteúdo desenhado para acessibilidade e construção gradual de habilidades
- Professores usando o currículo em salas de aula
- Conteúdo projetado para acessibilidade e construção gradual de habilidades
### Filosofia Educacional
- Abordagem baseada em projetos
- Abordagem de aprendizado baseado em projetos
- Verificações frequentes de conhecimento (quizzes)
- Exercícios práticos de codificação
- Exemplos de aplicação no mundo real
- Foco nos fundamentos antes dos frameworks
- Foco nos fundamentos antes de frameworks
### Manutenção do Repositório
- Comunidade ativa de aprendizes e contribuidores
- Atualizações regulares de dependências e conteúdo
- Issues e discussões monitoradas pelos mantenedores
- Issues e discussões monitoradas por mantenedores
- Atualizações de tradução automatizadas via GitHub Actions
### Recursos Relacionados
- [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) recomendado para aprendizes
- [Módulos Microsoft Learn](https://docs.microsoft.com/learn/)
- [Recursos do Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recomendado para estudantes
- Cursos adicionais: AI Generativa, Ciência de Dados, ML, IoT disponíveis
### Trabalhando com Projetos Específicos
Para instruções detalhadas sobre projetos individuais, consulte os arquivos README em:
- `quiz-app/README.md` - Aplicação de quiz em Vue 3
- `7-bank-project/README.md` - Aplicativo bancário com autenticação
- `5-browser-extension/README.md` - Desenvolvimento de extensão de navegador
- `6-space-game/README.md` - Desenvolvimento de jogo baseado em canvas
- `9-chat-project/README.md` - Projeto de assistente de chat com IA
- `quiz-app/README.md` - aplicação de quiz Vue 3
- `7-bank-project/README.md` - aplicativo bancário com autenticação
- `5-browser-extension/README.md` - desenvolvimento de extensão de navegador
- `6-space-game/README.md` - desenvolvimento de jogo baseado em canvas
- `9-chat-project/README.md` - projeto assistente de chat com IA
### Estrutura Monorepo
Embora não seja um monorepo tradicional, este repositório contém múltiplos projetos independentes:
- Cada aula é autocontida
- Cada aula é autossuficiente
- Projetos não compartilham dependências
- Trabalhe em projetos individuais sem afetar outros
- Clone o repositório inteiro para a experiência completa do currículo
- Clone o repositório completo para a experiência do curso completo
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Aviso Legal**:
Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos empenhemos pela precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em sua língua nativa deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional feita por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução.
Este documento foi traduzido usando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se a tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,6 +1,6 @@
[![Licença GitHub](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE)
[![Contribuidores GitHub](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![Issues GitHub](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![Colaboradores GitHub](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![Problemas GitHub](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![Pull requests GitHub](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
[![PRs Bem-vindos](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
@ -12,27 +12,27 @@
# Desenvolvimento Web para Iniciantes - Um Currículo
Aprenda os fundamentos do desenvolvimento web com nosso curso abrangente de 12 semanas ministrado pelos Microsoft Cloud Advocates. Cada uma das 24 aulas mergulha em JavaScript, CSS e HTML por meio de projetos práticos como terrários, extensões de navegador e jogos espaciais. Participe de quizzes, discussões e tarefas práticas. Aprimore suas habilidades e otimize a retenção do conhecimento com nossa eficaz pedagogia baseada em projetos. Comece sua jornada de programação hoje!
Aprenda os fundamentos do desenvolvimento web com nosso curso abrangente de 12 semanas ministrado pelos Advocates da Microsoft Cloud. Cada uma das 24 aulas explora JavaScript, CSS e HTML por meio de projetos práticos como terrários, extensões de navegador e jogos espaciais. Envolva-se com quizzes, discussões e tarefas práticas. Aprimore suas habilidades e otimize a retenção de conhecimento com nossa pedagógica eficaz baseada em projetos. Comece sua jornada de programação hoje!
Participe da Comunidade Azure AI Foundry no Discord
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Siga estas etapas para começar a usar esses recursos:
Siga estes passos para começar a usar esses recursos:
1. **Faça um Fork do Repositório**: Clique em [![Forks GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Clone o Repositório**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Junte-se ao Azure AI Foundry no Discord e conheça especialistas e outros desenvolvedores**](https://discord.com/invite/ByRwuEEgH4)
3. [**Participe do Discord Azure AI Foundry e conheça especialistas e outros desenvolvedores**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Suporte a Múltiplos Idiomas
### 🌐 Suporte Multilíngue
#### Suportado via GitHub Action (Automatizado & Sempre Atualizado)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Árabe](../ar/README.md) | [Bengali](../bn/README.md) | [Búlgaro](../bg/README.md) | [Birmanês (Myanmar)](../my/README.md) | [Chinês (Simplificado)](../zh-CN/README.md) | [Chinês (Tradicional, Hong Kong)](../zh-HK/README.md) | [Chinês (Tradicional, Macau)](../zh-MO/README.md) | [Chinês (Tradicional, Taiwan)](../zh-TW/README.md) | [Croata](../hr/README.md) | [Tcheco](../cs/README.md) | [Dinamarquês](../da/README.md) | [Holandês](../nl/README.md) | [Estoniano](../et/README.md) | [Finlandês](../fi/README.md) | [Francês](../fr/README.md) | [Alemão](../de/README.md) | [Grego](../el/README.md) | [Hebraico](../he/README.md) | [Hindi](../hi/README.md) | [Húngaro](../hu/README.md) | [Indonésio](../id/README.md) | [Italiano](../it/README.md) | [Japonês](../ja/README.md) | [Kannada](../kn/README.md) | [Coreano](../ko/README.md) | [Lituano](../lt/README.md) | [Malaio](../ms/README.md) | [Malaiala](../ml/README.md) | [Marata](../mr/README.md) | [Nepali](../ne/README.md) | [Pidgin Nigeriano](../pcm/README.md) | [Norueguês](../no/README.md) | [Persa (Farsi)](../fa/README.md) | [Polonês](../pl/README.md) | [Português (Brasil)](./README.md) | [Português (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romeno](../ro/README.md) | [Russo](../ru/README.md) | [Sérvio (Cirílico)](../sr/README.md) | [Eslovaco](../sk/README.md) | [Esloveno](../sl/README.md) | [Espanhol](../es/README.md) | [Suaíli](../sw/README.md) | [Sueco](../sv/README.md) | [Tagalo (Filipino)](../tl/README.md) | [Tâmil](../ta/README.md) | [Telugu](../te/README.md) | [Tailandês](../th/README.md) | [Turco](../tr/README.md) | [Ucraniano](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamita](../vi/README.md)
[Árabe](../ar/README.md) | [Bengali](../bn/README.md) | [Búlgaro](../bg/README.md) | [Birmanês (Myanmar)](../my/README.md) | [Chinês (Simplificado)](../zh-CN/README.md) | [Chinês (Tradicional, Hong Kong)](../zh-HK/README.md) | [Chinês (Tradicional, Macau)](../zh-MO/README.md) | [Chinês (Tradicional, Taiwan)](../zh-TW/README.md) | [Croata](../hr/README.md) | [Tcheco](../cs/README.md) | [Dinamarquês](../da/README.md) | [Holandês](../nl/README.md) | [Estoniano](../et/README.md) | [Finlandês](../fi/README.md) | [Francês](../fr/README.md) | [Alemão](../de/README.md) | [Grego](../el/README.md) | [Hebraico](../he/README.md) | [Hindi](../hi/README.md) | [Húngaro](../hu/README.md) | [Indonésio](../id/README.md) | [Italiano](../it/README.md) | [Japonês](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Coreano](../ko/README.md) | [Lituano](../lt/README.md) | [Malaio](../ms/README.md) | [Malaiala](../ml/README.md) | [Marata](../mr/README.md) | [Nepalês](../ne/README.md) | [Pidgin Nigeriano](../pcm/README.md) | [Norueguês](../no/README.md) | [Persa (Farsi)](../fa/README.md) | [Polonês](../pl/README.md) | [Português (Brasil)](./README.md) | [Português (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romeno](../ro/README.md) | [Russo](../ru/README.md) | [Sérvio (Cirílico)](../sr/README.md) | [Eslovaco](../sk/README.md) | [Esloveno](../sl/README.md) | [Espanhol](../es/README.md) | [Suaíli](../sw/README.md) | [Sueco](../sv/README.md) | [Tagalo (Filipino)](../tl/README.md) | [Tâmil](../ta/README.md) | [Telugu](../te/README.md) | [Tailandês](../th/README.md) | [Turco](../tr/README.md) | [Ucraniano](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamita](../vi/README.md)
> **Prefere Clonar Localmente?**
> **Prefere clonar localmente?**
>
> Este repositório contém mais de 50 traduções de idiomas que aumentam significativamente o tamanho do download. Para clonar sem traduções, use sparse checkout:
> Este repositório inclui mais de 50 traduções de idiomas, o que aumenta significativamente o tamanho do download. Para clonar sem as traduções, use sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
@ -48,26 +48,26 @@ Siga estas etapas para começar a usar esses recursos:
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Isso fornece tudo o que você precisa para completar o curso com um download muito mais rápido.
> Isso fornece tudo que você precisa para completar o curso com um download muito mais rápido.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Se você deseja que línguas adicionais sejam suportadas, elas estão listadas [aqui](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Se desejar que línguas adicionais sejam suportadas, elas estão listadas [aqui](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[![Abrir no Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _Você é estudante?_
Visite a [**página Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) onde você encontrará recursos para iniciantes, pacotes para estudantes e até formas de obter um voucher de certificado gratuito. Esta é a página que você deve adicionar aos favoritos e consultar de tempos em tempos, pois atualizamos o conteúdo mensalmente.
Visite a [**página Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) onde você encontrará recursos para iniciantes, pacotes estudantis e até maneiras de obter um voucher gratuito para certificação. Esta é a página que você deve salvar nos favoritos e consultar de tempos em tempos, pois o conteúdo é atualizado mensalmente.
### 📣 Anúncio - Novos desafios no modo GitHub Copilot Agent para completar!
### 📣 Anúncio - Novos desafios do modo GitHub Copilot Agent para completar!
Novo desafio adicionado, procure por "GitHub Copilot Agent Challenge 🚀" na maioria dos capítulos. Este é um novo desafio para você completar usando GitHub Copilot e o modo Agent. Se você nunca usou o modo Agent, ele é capaz não apenas de gerar texto, mas também criar e editar arquivos, executar comandos e muito mais.
Novo desafio adicionado, procure por "GitHub Copilot Agent Challenge 🚀" na maioria dos capítulos. É um novo desafio para você completar usando o GitHub Copilot e o modo Agent. Se você nunca usou o modo Agent antes, ele é capaz não apenas de gerar texto, mas também criar e editar arquivos, executar comandos e muito mais.
### 📣 Anúncio - _Novo Projeto para construir usando IA Generativa_
Novo projeto de Assistente de IA adicionado, confira o [projeto](./9-chat-project/README.md)
Novo projeto Assistente de IA adicionado, confira o [projeto](./9-chat-project/README.md)
### 📣 Anúncio - _Novo Currículo_ sobre IA Generativa para JavaScript foi lançado
### 📣 Anúncio - _Novo Currículo_ sobre IA Generativa para JavaScript acaba de ser lançado
Não perca nosso novo currículo de IA Generativa!
@ -75,17 +75,17 @@ Visite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para com
![Fundo](../../translated_images/pt-BR/background.148a8d43afde5730.webp)
- Aulas cobrindo desde os fundamentos até RAG.
- Interaja com personagens históricos usando GenAI e nosso app companion.
- Aulas cobrindo tudo desde o básico até RAG.
- Interaja com personagens históricos usando GenAI e nosso aplicativo acompanhante.
- Narrativa divertida e envolvente, você vai viajar no tempo!
![personagem](../../translated_images/pt-BR/character.5c0dd8e067ffd693.webp)
Cada aula inclui uma tarefa para completar, um teste de conhecimento e um desafio para guiar você em temas como:
Cada aula inclui uma tarefa para completar, uma verificação de conhecimento e um desafio para orientar você em tópicos como:
- Prompting e engenharia de prompt
- Geração de apps de texto e imagem
- Apps de busca
- Geração de aplicativos de texto e imagem
- Aplicativos de busca
Visite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para começar!
@ -93,20 +93,20 @@ Visite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para com
## 🌱 Começando
> **Professores**, incluímos [algumas sugestões](for-teachers.md) de como usar este currículo. Adoraríamos seu feedback [em nosso fórum de discussões](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Professores**, incluímos [algumas sugestões](for-teachers.md) sobre como usar este currículo. Adoraríamos seu feedback [em nosso fórum de discussões](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Alunos](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, para cada aula, comece com um quiz pré-aula e siga com a leitura do material da aula, completando as diversas atividades e verifique seu entendimento com o quiz pós-aula.
**[Alunos](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, para cada aula, comece com um quiz pré-aula e continue lendo o material da aula, completando as várias atividades e verificando seu entendimento com o quiz pós-aula.
Para aprimorar sua experiência de aprendizado, conecte-se com seus colegas para trabalhar nos projetos juntos! Discussões são incentivadas em nosso [fórum de discussões](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) onde nossa equipe de moderadores estará disponível para responder suas perguntas.
Para aprimorar sua experiência de aprendizado, conecte-se com seus colegas para trabalharem juntos nos projetos! Discussões são incentivadas em nosso [fórum de discussões](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) onde nossa equipe de moderadores estará disponível para responder suas perguntas.
Para avançar em seus estudos, recomendamos fortemente explorar [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) para materiais de estudo adicionais.
Para aprofundar sua educação, recomendamos fortemente explorar o [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) para materiais adicionais de estudo.
### 📋 Configurando seu ambiente
Este currículo já possui um ambiente de desenvolvimento pronto para usar! Ao começar, você pode optar por executar o currículo em um [Codespace](https://github.com/features/codespaces/) (_um ambiente baseado em navegador, sem necessidade de instalação_), ou localmente em seu computador usando um editor de texto como [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Este currículo já possui um ambiente de desenvolvimento pronto para uso! Ao começar, você pode escolher executar o currículo em um [Codespace](https://github.com/features/codespaces/) (_um ambiente baseado em navegador, sem necessidade de instalações_), ou localmente em seu computador usando um editor de texto como o [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Crie seu repositório
Para que você possa salvar seu trabalho facilmente, é recomendado que crie sua própria cópia deste repositório. Você pode fazer isso clicando no botão **Use this template** no topo da página. Isso criará um novo repositório em sua conta do GitHub com uma cópia do currículo.
Para facilitar o salvamento do seu trabalho, recomenda-se criar sua própria cópia deste repositório. Você pode fazer isso clicando no botão **Use this template** no topo da página. Isso criará um novo repositório em sua conta do GitHub com uma cópia do currículo.
Siga estes passos:
1. **Faça um Fork do Repositório**: Clique no botão "Fork" no canto superior direito desta página.
@ -120,10 +120,10 @@ Na sua cópia deste repositório que você criou, clique no botão **Code** e se
#### Executando o currículo localmente no seu computador
Para executar este currículo localmente no seu computador, você precisará de um editor de texto, um navegador e uma ferramenta de linha de comando. Nossa primeira aula, [Introdução a Linguagens de Programação e Ferramentas do Ofício](../../1-getting-started-lessons/1-intro-to-programming-languages), orientará você por várias opções para cada uma dessas ferramentas para você escolher o que melhor funciona para você.
Para executar este currículo localmente no seu computador, você precisará de um editor de texto, um navegador e uma ferramenta de linha de comando. Nossa primeira aula, [Introdução às Linguagens de Programação e Ferramentas do Ofício](../../1-getting-started-lessons/1-intro-to-programming-languages), apresentará várias opções para cada uma dessas ferramentas para você escolher a que melhor funciona para você.
Nossa recomendação é usar o [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) como seu editor, que também possui um [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) embutido. Você pode baixar o Visual Studio Code [aqui](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Clone o seu repositório para o seu computador. Você pode fazer isso clicando no botão **Code** e copiando a URL:
Nossa recomendação é usar o [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) como seu editor, que também possui um [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) integrado. Você pode baixar o Visual Studio Code [aqui](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Clone seu repositório para o seu computador. Você pode fazer isso clicando no botão **Code** e copiando a URL:
[CodeSpace](./images/createcodespace.png)
@ -133,81 +133,82 @@ Nossa recomendação é usar o [Visual Studio Code](https://code.visualstudio.co
git clone <your-repository-url>
```
2. Abra a pasta no Visual Studio Code. Você pode fazer isso clicando em **File** > **Open Folder** e selecionando a pasta que acabou de clonar.
2. Abra a pasta no Visual Studio Code. Você pode fazer isso clicando em **File** > **Open Folder** e selecionando a pasta que você acabou de clonar.
> Extensões recomendadas para Visual Studio Code:
> Extensões recomendadas para o Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - para pré-visualizar páginas HTML dentro do Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - para ajudar você a escrever código mais rápido
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - para ajudar a escrever código mais rápido
## 📂 Cada aula inclui:
## 📂 Cada lição inclui:
- sketchnote opcional
- vídeo suplementar opcional
- quiz de aquecimento pré-aula
- aula escrita
- para aulas baseadas em projeto, guias passo a passo sobre como construir o projeto
- verificações de conhecimento
- quiz de aquecimento pré-licão
- lição escrita
- para lições baseadas em projeto, guias passo a passo sobre como construir o projeto
- checagens de conhecimento
- um desafio
- leitura suplementar
- tarefa
- [quiz pós-aula](https://ff-quizzes.netlify.app/web/)
> **Uma nota sobre quizzes**: Todos os quizzes estão contidos na pasta Quiz-app, totalizando 48 quizzes com três perguntas cada. Eles estão disponíveis [aqui](https://ff-quizzes.netlify.app/web/). O aplicativo de quiz pode ser executado localmente ou implantado no Azure; siga as instruções na pasta `quiz-app`.
## 🗃️ Aulas
| | Nome do Projeto | Conceitos Ensinados | Objetivos de Aprendizagem | Aula Correspondente | Autor |
| :-: | :---------------------------------------------------------: | :------------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Começando | Introdução à Programação e Ferramentas da Área | Aprender os fundamentos básicos por trás da maioria das linguagens de programação e sobre softwares que ajudam desenvolvedores profissionais | [Introdução a Linguagens de Programação e Ferramentas da Área](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Começando | Noções básicas de GitHub, incluindo trabalho em equipe | Como usar o GitHub em seu projeto, como colaborar com outros em uma base de código | [Introdução ao GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Começando | Acessibilidade | Aprender o básico sobre acessibilidade na web | [Fundamentos de Acessibilidade](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Fundamentos de JS | Tipos de Dados em JavaScript | O básico sobre tipos de dados em JavaScript | [Tipos de Dados](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Fundamentos de JS | Funções e Métodos | Aprender sobre funções e métodos para gerenciar o fluxo lógico de uma aplicação | [Funções e Métodos](./2-js-basics/2-functions-methods/README.md) | Jasmine e Christopher |
| 06 | Fundamentos de JS | Tomando Decisões com JS | Aprender como criar condições no código usando métodos de tomada de decisão | [Tomando Decisões](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Fundamentos de JS | Arrays e Loops | Trabalhar com dados usando arrays e loops em JavaScript | [Arrays e Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrário](./3-terrarium/solution/README.md) | HTML na Prática | Construir o HTML para criar um terrário online, com foco em construção de layout | [Introdução ao HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrário](./3-terrarium/solution/README.md) | CSS na Prática | Construir o CSS para estilizar o terrário online, focando no básico do CSS, incluindo tornar a página responsiva | [Introdução ao CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrário](./3-terrarium/solution/README.md) | Closures em JavaScript, manipulação do DOM | Construir o JavaScript para fazer o terrário funcionar como uma interface drag/drop, focando em closures e manipulação do DOM | [Closures em JavaScript, manipulação do DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Jogo de Digitação](./4-typing-game/solution/README.md) | Construindo um Jogo de Digitação | Aprender a usar eventos de teclado para controlar a lógica do seu aplicativo em JavaScript | [Programação Orientada a Eventos](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Extensão Verde para Navegador](./5-browser-extension/solution/README.md) | Trabalhando com Navegadores | Aprender como os navegadores funcionam, sua história e como estruturar os primeiros elementos de uma extensão de navegador | [Sobre Navegadores](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Extensão Verde para Navegador](./5-browser-extension/solution/README.md) | Construindo um formulário, chamando uma API e armazenando variáveis no armazenamento local | Construir os elementos JavaScript da sua extensão de navegador para chamar uma API usando variáveis armazenadas no armazenamento local | [APIs, Formulários e Armazenamento Local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Extensão Verde para Navegador](./5-browser-extension/solution/README.md) | Processos em segundo plano no navegador, desempenho da web | Usar os processos em segundo plano do navegador para gerenciar o ícone da extensão; aprender sobre desempenho web e algumas otimizações | [Tarefas em Segundo Plano e Desempenho](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Jogo Espacial](./6-space-game/solution/README.md) | Desenvolvimento de Jogos mais Avançado com JavaScript | Aprender sobre Herança usando Classes e Composição e o padrão Pub/Sub, em preparação para construir um jogo | [Introdução ao Desenvolvimento Avançado de Jogos](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Jogo Espacial](./6-space-game/solution/README.md) | Desenhando na tela | Aprender sobre a API Canvas, usada para desenhar elementos na tela | [Desenhando na Tela](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Jogo Espacial](./6-space-game/solution/README.md) | Movendo elementos na tela | Descobrir como elementos podem ganhar movimento usando coordenadas cartesianas e a API Canvas | [Movendo Elementos na Tela](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Jogo Espacial](./6-space-game/solution/README.md) | Detecção de colisões | Fazer elementos colidirem e reagirem uns aos outros usando pressionamentos de tecla e fornecer uma função cooldown para garantir desempenho | [Detecção de Colisões](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Jogo Espacial](./6-space-game/solution/README.md) | Manter a pontuação | Realizar cálculos matemáticos com base no status e desempenho do jogo | [Mantendo a Pontuação](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Jogo Espacial](./6-space-game/solution/README.md) | Encerrar e reiniciar o jogo | Aprender sobre encerrar e reiniciar o jogo, incluindo limpeza de ativos e reinicialização de valores das variáveis | [Condição de Encerramento](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Aplicativo Bancário](./7-bank-project/solution/README.md) | Templates HTML e Rotas em um Aplicativo Web | Aprender a criar a estrutura arquitetônica de um site multipágina usando roteamento e templates HTML | [Templates HTML e Rotas](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Aplicativo Bancário](./7-bank-project/solution/README.md) | Construir Formulário de Login e Registro | Aprender sobre construção de formulários e rotinas de validação | [Formulários](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Aplicativo Bancário](./7-bank-project/solution/README.md) | Métodos de Obtenção e Uso de Dados | Como os dados fluem dentro e fora do seu app, como buscá-los, armazená-los e descartá-los | [Dados](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Aplicativo Bancário](./7-bank-project/solution/README.md) | Conceitos de Gerenciamento de Estado | Aprender como seu aplicativo retém o estado e como gerenciá-lo programaticamente | [Gerenciamento de Estado](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Código Browser/VScode](../../8-code-editor) | Trabalhando com VScode | Aprender a usar um editor de código | [Usar Editor de Código VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Assistentes de IA](./9-chat-project/README.md) | Trabalhando com IA | Aprender a construir seu próprio assistente de IA | [Projeto Assistente de IA](./9-chat-project/README.md) | Chris |
- [quiz pós-lição](https://ff-quizzes.netlify.app/web/)
> **Uma nota sobre quizzes**: Todos os quizzes estão contidos na pasta Quiz-app, totalizando 48 quizzes com três perguntas cada. Eles estão disponíveis [aqui](https://ff-quizzes.netlify.app/web/); o aplicativo de quiz pode ser executado localmente ou implantado no Azure; siga as instruções na pasta `quiz-app`.
## 🗃️ Lições
| | Nome do Projeto | Conceitos Ensinados | Objetivos de Aprendizagem | Lição Vinculada | Autor |
| :-: | :---------------------------------------------------------: | :------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Getting Started | Introdução à Programação e Ferramentas do Ofício | Aprender os fundamentos básicos por trás da maioria das linguagens de programação e sobre software que ajuda desenvolvedores profissionais | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Getting Started | Noções básicas do GitHub, inclui trabalho em equipe | Como usar o GitHub em seu projeto, como colaborar com outros em uma base de código | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Getting Started | Acessibilidade | Aprender o básico sobre acessibilidade web | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Basics | Tipos de Dados em JavaScript | Os fundamentos dos tipos de dados em JavaScript | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Basics | Funções e Métodos | Aprender sobre funções e métodos para gerenciar o fluxo lógico de uma aplicação | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine e Christopher |
| 06 | JS Basics | Tomando Decisões com JS | Aprender como criar condições no seu código usando métodos de tomada de decisão | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Basics | Arrays e Loops | Trabalhar com dados usando arrays e loops em JavaScript | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML na Prática | Construir o HTML para criar um terrário online, focando na construção de um layout | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS na Prática | Criar o CSS para estilizar o terrário online, focando no básico do CSS, incluindo tornar a página responsiva | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Closures em JavaScript, manipulação do DOM | Construir o JavaScript para fazer o terrário funcionar como uma interface de arrastar e soltar, focando em closures e manipulação do DOM | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Construindo um Jogo de Digitação | Aprender a usar eventos do teclado para conduzir a lógica do seu app em JavaScript | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Trabalhando com Navegadores | Aprender como os navegadores funcionam, sua história e como estruturar os primeiros elementos de uma extensão de navegador | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Construindo um formulário, chamada a uma API e armazenamento local | Construir os elementos em JavaScript da sua extensão para navegador para chamar uma API usando variáveis armazenadas localmente | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Processos em segundo plano no navegador, desempenho web | Usar processos em segundo plano do navegador para gerenciar o ícone da extensão; aprender sobre desempenho web e algumas otimizações para melhorar | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | Desenvolvimento de Jogos Mais Avançado com JavaScript | Aprender sobre Herança usando Classes e Composição e o padrão Pub/Sub, preparando para construir um jogo | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Desenho no canvas | Aprender sobre a API Canvas, usada para desenhar elementos na tela | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Movendo elementos na tela | Descobrir como elementos podem se mover usando coordenadas cartesianas e a API Canvas | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Detecção de colisões | Fazer elementos colidirem e reagirem uns aos outros usando pressionamento de teclas e fornecer uma função cooldown para garantir o desempenho do jogo | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Mantendo a pontuação | Realizar cálculos matemáticos baseados no status e desempenho do jogo | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Finalizando e reiniciando o jogo | Aprender sobre encerrar e reiniciar o jogo, incluindo limpar ativos e redefinir valores de variáveis | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | Templates HTML e Rotas em um App Web | Aprender a criar a estrutura arquitetural de um website multipáginas usando roteamento e templates HTML | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Construir um Formulário de Login e Registro | Aprender sobre construção de formulários e rotinas de validação | [Forms](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Métodos para Buscar e Usar Dados | Como os dados fluem para dentro e fora do seu app, como buscá-los, armazená-los e descartá-los | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Conceitos de Gerenciamento de Estado | Aprender como seu app mantém o estado e como gerenciá-lo programaticamente | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Trabalhando com VScode | Aprender a usar um editor de código | [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Trabalhando com IA | Aprender a construir seu próprio assistente de IA | [AI Assistant project](./9-chat-project/README.md) | Chris |
## 🏫 Pedagogia
Nosso currículo é projetado com dois princípios pedagógicos-chave:
Nosso currículo é projetado com dois princípios pedagógicos principais em mente:
* aprendizagem baseada em projetos
* quizzes frequentes
O programa ensina os fundamentos de JavaScript, HTML e CSS, assim como as ferramentas e técnicas mais recentes usadas pelos desenvolvedores web hoje. Os estudantes terão a oportunidade de adquirir experiência prática construindo um jogo de digitação, um terrário virtual, uma extensão de navegador ecológica, um jogo estilo invasores espaciais e um aplicativo bancário para negócios. Ao final da série, os alunos terão uma compreensão sólida do desenvolvimento web.
O programa ensina os fundamentos de JavaScript, HTML e CSS, bem como as ferramentas e técnicas mais recentes usadas pelos desenvolvedores web atuais. Os alunos terão a oportunidade de adquirir experiência prática construindo um jogo de digitação, terrário virtual, extensão de navegador ecológica, jogo no estilo space-invader e um aplicativo bancário para empresas. Ao final da série, os alunos terão uma sólida compreensão do desenvolvimento web.
> 🎓 Você pode realizar as primeiras aulas deste currículo como um [Caminho de Aprendizagem](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) no Microsoft Learn!
> 🎓 Você pode fazer as primeiras aulas deste currículo como um [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) no Microsoft Learn!
Ao garantir que o conteúdo esteja alinhado a projetos, o processo se torna mais envolvente para os alunos e a retenção de conceitos será aprimorada. Também escrevemos várias aulas iniciais sobre os fundamentos de JavaScript para introduzir conceitos, acompanhadas de um vídeo da coleção "[Série para Iniciantes em: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", alguns dos quais tiveram autores que contribuíram com este currículo.
Ao garantir que o conteúdo esteja alinhado com projetos, o processo torna-se mais envolvente para os alunos e a retenção dos conceitos será aumentada. Também escrevemos várias lições iniciais sobre conceitos básicos de JavaScript para introduzir conceitos, combinadas com um vídeo da coleção de tutoriais em vídeo "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", alguns dos autores dos quais contribuíram para este currículo.
Além disso, um quiz de baixa pressão antes da aula define a intenção do aluno em aprender um tópico, enquanto um segundo quiz após a aula assegura retenção adicional. Este currículo foi projetado para ser flexível e divertido, podendo ser realizado na íntegra ou em partes. Os projetos começam pequenos e se tornam progressivamente mais complexos ao longo do ciclo de 12 semanas.
Além disso, um quiz de baixo impacto antes da aula define a intenção do aluno em aprender um tema, enquanto um segundo quiz após a aula assegura maior retenção. Este currículo foi projetado para ser flexível e divertido e pode ser feito inteiro ou em partes. Os projetos começam pequenos e tornam-se progressivamente mais complexos ao longo do ciclo de 12 semanas.
Embora tenhamos evitado propositalmente introduzir frameworks JavaScript para concentrar nas habilidades básicas necessárias para um desenvolvedor web antes de adotar um framework, um próximo passo adequado para completar este currículo seria aprender sobre Node.js por meio de outra coleção de vídeos: "[Série para Iniciantes em: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Embora tenhamos evitado propositalmente a introdução de frameworks JavaScript para concentrar-se nas habilidades básicas necessárias para um desenvolvedor web antes de adotar um framework, um próximo passo interessante para completar este currículo seria aprender sobre Node.js por meio de outra coleção de vídeos: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Visite nosso [Código de Conduta](CODE_OF_CONDUCT.md) e as diretrizes de [Contribuição](CONTRIBUTING.md). Agradecemos seu feedback construtivo!
> Visite nossas diretrizes de [Código de Conduta](CODE_OF_CONDUCT.md) e [Contribuição](CONTRIBUTING.md). Agradecemos seu feedback construtivo!
## 🧭 Acesso offline
Você pode executar esta documentação offline usando [Docsify](https://docsify.js.org/#/). Faça um fork deste repositório, [instale o Docsify](https://docsify.js.org/#/quickstart) em sua máquina local e então na pasta raiz deste repositório digite `docsify serve`. O site será servido na porta 3000 no seu localhost: `localhost:3000`.
## 🧭 Acesso Offline
Você pode executar esta documentação offline usando o [Docsify](https://docsify.js.org/#/). Faça um fork deste repositório, [instale o Docsify](https://docsify.js.org/#/quickstart) em sua máquina local e então, na pasta raiz deste repositório, digite `docsify serve`. O site será servido na porta 3000 no seu localhost: `localhost:3000`.
## 📘 PDF
Um PDF de todas as lições pode ser encontrado [aqui](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
@ -224,7 +225,7 @@ Nossa equipe produz outros cursos! Confira:
[![LangChain para Iniciantes](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
### Azure / Edge / MCP / Agentes
[![AZD para Iniciantes](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI para Iniciantes](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP para Iniciantes](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
@ -240,7 +241,7 @@ Nossa equipe produz outros cursos! Confira:
---
### Aprendizado Básico
### Aprendizado Fundamental
[![ML para Iniciantes](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Ciência de Dados para Iniciantes](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![IA para Iniciantes](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@ -252,20 +253,20 @@ Nossa equipe produz outros cursos! Confira:
---
### Série Copilot
[![Copilot para Programação em Par com IA](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot para Programação Emparelhada com IA](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot para C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Aventura Copilot](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Obter Ajuda
Se você ficar travado ou tiver alguma dúvida sobre como criar aplicativos de IA, junte-se a outros alunos e desenvolvedores experientes em discussões sobre MCP. É uma comunidade acolhedora onde perguntas são bem-vindas e o conhecimento é compartilhado livremente.
Se você ficar travado ou tiver dúvidas sobre como construir aplicativos de IA, junte-se a outros aprendizes e desenvolvedores experientes em discussões sobre MCP. É uma comunidade receptiva onde perguntas são bem-vindas e o conhecimento é compartilhado livremente.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Se você tiver feedback sobre o produto ou erros durante o desenvolvimento, visite:
Se você tiver feedback sobre o produto ou encontrar erros durante a criação, visite:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
[![Fórum de Desenvolvedores Microsoft Foundry](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## Licença
@ -274,6 +275,6 @@ Este repositório está licenciado sob a licença MIT. Veja o arquivo [LICENSE](
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Aviso Legal**:
Este documento foi traduzido utilizando o serviço de tradução automática [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos pela precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original, em sua língua nativa, deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.
**Aviso Legal**:
Este documento foi traduzido usando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, por favor, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional feita por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-03-27T22:31:52+00:00",
"translation_date": "2026-04-06T16:39:35+00:00",
"source_file": "AGENTS.md",
"language_code": "pt-PT"
},
@ -516,8 +516,8 @@
"language_code": "pt-PT"
},
"README.md": {
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T12:32:31+00:00",
"original_hash": "b885c87c7544109b78d6684daad6cba6",
"translation_date": "2026-04-06T16:35:12+00:00",
"source_file": "README.md",
"language_code": "pt-PT"
},

@ -2,27 +2,27 @@
## Visão Geral do Projeto
Este é um repositório de currículo educacional para ensinar os fundamentos do desenvolvimento web a iniciantes. O currículo é um curso abrangente de 12 semanas desenvolvido pelos Microsoft Cloud Advocates, com 24 aulas práticas que abrangem JavaScript, CSS e HTML.
Este é um repositório de currículo educativo para ensinar os fundamentos do desenvolvimento web a iniciantes. O currículo é um curso abrangente de 12 semanas desenvolvido pelos Microsoft Cloud Advocates, com 24 lições práticas que cobrem JavaScript, CSS e HTML.
### Componentes Principais
- **Conteúdo Educacional**: 24 lições estruturadas organizadas em módulos baseados em projetos
- **Projetos Práticos**: Terrário, Jogo de Digitação, Extensão de Navegador, Jogo Espacial, Aplicação Bancária, Editor de Código e Assistente de Chat AI
- **Questionários Interativos**: 48 questionários com 3 perguntas cada (avaliações pré e pós aula)
- **Suporte Multilíngue**: Traduções automáticas para mais de 50 idiomas através do GitHub Actions
- **Tecnologias**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para projetos de AI)
- **Conteúdo Educativo**: 24 lições estruturadas organizadas em módulos baseados em projetos
- **Projetos Práticos**: Terrário, Jogo de Digitação, Extensão de Navegador, Jogo Espacial, Aplicação Bancária, Editor de Código e Assistente de Chat de IA
- **Questionários Interativos**: 48 questionários com 3 perguntas cada (avaliações pré e pós-lição)
- **Suporte Multilíngue**: Traduções automáticas para mais de 50 idiomas via GitHub Actions
- **Tecnologias**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para projetos de IA)
### Arquitetura
- Repositório educacional com estrutura baseada em lições
- Repositório educativo com estrutura baseada em lições
- Cada pasta de lição contém README, exemplos de código e soluções
- Projetos independentes em diretórios separados (quiz-app, vários projetos de lições)
- Sistema de tradução usando GitHub Actions (co-op-translator)
- Projetos autónomos em diretórios separados (quiz-app, vários projetos de lições)
- Sistema de tradução utilizando GitHub Actions (co-op-translator)
- Documentação servida via Docsify e disponível em PDF
## Comandos de Configuração
Este repositório destina-se principalmente ao consumo de conteúdo educacional. Para trabalhar com projetos específicos:
Este repositório destina-se principalmente ao consumo de conteúdo educativo. Para trabalhar com projetos específicos:
### Configuração Principal do Repositório
@ -31,7 +31,7 @@ git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Configuração da Aplicação de Quiz (Vue 3 + Vite)
### Configuração da Quiz App (Vue 3 + Vite)
```bash
cd quiz-app
@ -48,7 +48,7 @@ cd 7-bank-project/api
npm install
npm start # Iniciar servidor API
npm run lint # Executar ESLint
npm run format # Formatado com Prettier
npm run format # Formatar com Prettier
```
### Projetos de Extensão de Navegador
@ -59,7 +59,7 @@ npm install
# Siga as instruções específicas do navegador para carregar extensões
```
### Projetos de Jogo Espacial
### Projetos do Jogo Espacial
```bash
cd 6-space-game/solution
@ -67,7 +67,7 @@ npm install
# Abra index.html no navegador ou use Live Server
```
### Projeto de Chat (Backend Python)
### Projeto de Chat (Backend em Python)
```bash
cd 9-chat-project/solution/backend/python
@ -80,41 +80,41 @@ python api.py
### Para Contribuidores de Conteúdo
1. **Faça fork do repositório** para a sua conta do GitHub
1. **Faça fork do repositório** para sua conta GitHub
2. **Clone o seu fork** localmente
3. **Crie uma nova branch** para as suas alterações
4. Faça alterações no conteúdo das lições ou exemplos de código
5. Teste quaisquer alterações de código nas pastas de projetos relevantes
6. Envie pull requests seguindo as diretrizes de contribuição
3. **Crie uma nova branch** para suas alterações
4. Faça alterações no conteúdo das lições ou nos exemplos de código
5. Teste quaisquer alterações de código nos diretórios dos projetos relevantes
6. Submeta pull requests seguindo as diretrizes de contribuição
### Para Aprendizes
1. Faça fork ou clone do repositório
2. Navegue pelas pastas de lições sequencialmente
3. Leia os arquivos README de cada lição
4. Complete os questionários pré-licão em https://ff-quizzes.netlify.app/web/
5. Trabalhe com os exemplos de código nas pastas de lição
1. Fork ou clone o repositório
2. Navegue pelas pastas das lições sequencialmente
3. Leia os ficheiros README de cada lição
4. Complete os questionários pré-lição em https://ff-quizzes.netlify.app/web/
5. Trabalhe nos exemplos de código nas pastas das lições
6. Complete tarefas e desafios
7. Faça os questionários pós-lição
### Desenvolvimento em Tempo Real
- **Documentação**: Execute `docsify serve` na raiz (porta 3000)
- **Aplicação de Quiz**: Execute `npm run dev` na pasta quiz-app
- **Quiz App**: Execute `npm run dev` na pasta quiz-app
- **Projetos**: Use a extensão Live Server do VS Code para projetos HTML
- **Projetos API**: Execute `npm start` nas pastas das APIs respetivas
- **Projetos API**: Execute `npm start` nos respetivos diretórios API
## Instruções de Teste
## Instruções de Testes
### Teste da Aplicação de Quiz
### Testes da Quiz App
```bash
cd quiz-app
npm run lint # Verificar problemas de estilo de código
npm run build # Verificar se a compilação é bem-sucedida
npm run build # Verificar se a compilação tem sucesso
```
### Teste da API Bancária
### Testes da API Bancária
```bash
cd 7-bank-project/api
@ -124,68 +124,68 @@ node server.js # Verificar se o servidor inicia sem erros
### Abordagem Geral de Testes
- Este é um repositório educacional sem testes automatizados abrangentes
- O teste manual foca em:
- Este é um repositório educativo sem testes automáticos abrangentes
- Testes manuais focam em:
- Exemplos de código executam sem erros
- Links na documentação funcionam corretamente
- Builds de projetos completam com sucesso
- Construções dos projetos completam com sucesso
- Exemplos seguem as melhores práticas
### Verificações Pré-Envio
### Verificações Pré-envio
- Execute `npm run lint` nas pastas com package.json
- Verifique se os links markdown são válidos
- Teste exemplos de código no navegador ou Node.js
- Confirme que traduções mantêm a estrutura correta
- Teste os exemplos de código no navegador ou Node.js
- Confirme que as traduções mantêm a estrutura correta
## Diretrizes de Estilo de Código
### JavaScript
- Use sintaxe moderna ES6+
- Siga configurações padrão do ESLint fornecidas nos projetos
- Use nomes significativos para variáveis e funções para clareza educacional
- Adicione comentários explicativos para os alunos
- Siga as configurações padrão ESLint fornecidas nos projetos
- Use nomes de variáveis e funções significativos para clareza educativa
- Adicione comentários explicando conceitos para os aprendizes
- Formate usando Prettier onde configurado
### HTML/CSS
- Elementos semânticos HTML5
- Princípios de design responsivo
- Convenções claras de nomes de classes
- Comentários explicando técnicas CSS para aprendizes
- Convenções claras de nomenclatura de classes
- Comentários explicando técnicas CSS para os aprendizes
### Python
- Diretrizes de estilo PEP 8
- Exemplos de código claros e educativos
- Anotações de tipo onde úteis para o aprendizado
- Anotações de tipos onde úteis para o aprendizado
### Documentação Markdown
- Hierarquia clara de títulos
- Blocos de código com especificação da linguagem
- Links para recursos adicionais
- Capturas de ecrã e imagens nas pastas `images/`
- Capturas de tela e imagens nas pastas `images/`
- Texto alternativo para imagens para acessibilidade
### Organização de Ficheiros
- Lição numeradas sequencialmente (1-getting-started-lessons, 2-js-basics, etc.)
- Cada projeto tem diretórios `solution/` e muitas vezes `start/` ou `your-work/`
- Lições numeradas sequencialmente (1-getting-started-lessons, 2-js-basics, etc.)
- Cada projeto possui diretórios `solution/` e frequentemente `start/` ou `your-work/`
- Imagens armazenadas em pastas `images/` específicas de cada lição
- Traduções em estrutura `translations/{language-code}/`
## Construção e Implantação
## Construção e Deploy
### Implantação da Aplicação de Quiz (Azure Static Web Apps)
### Deploy da Quiz App (Azure Static Web Apps)
A aplicação quiz-app está configurada para implantação em Azure Static Web Apps:
A quiz-app está configurada para deployment em Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Cria a pasta dist/
# Desdobra via workflow do GitHub Actions em push para a main
# Faz o deploy através do workflow do GitHub Actions ao fazer push para a main
```
Configuração Azure Static Web Apps:
@ -203,23 +203,23 @@ npm run convert # Gerar PDF a partir do docs
### Documentação Docsify
```bash
npm install -g docsify-cli # Instalar Docsify globalmente
npm install -g docsify-cli # Instalar o Docsify globalmente
docsify serve # Servir em localhost:3000
```
### Builds Específicos de Projetos
Cada diretório de projeto pode ter seu próprio processo de build:
- Projetos Vue: `npm run build` cria bundles de produção
- Projetos estáticos: Sem passo de build, serve arquivos diretamente
- Projetos Vue: `npm run build` cria bundles para produção
- Projetos estáticos: Sem etapa de build, servir ficheiros diretamente
## Diretrizes para Pull Requests
### Formato do Título
Use títulos claros e descritivos a indicar a área da alteração:
- `[Quiz-app] Adicionar novo quiz para lição X`
- `[Lesson-3] Corrigir erro de digitação no projeto terrarium`
Use títulos claros e descritivos indicando a área da alteração:
- `[Quiz-app] Adicionar novo quiz para a lição X`
- `[Lesson-3] Corrigir erro tipográfico no projeto terrarium`
- `[Translation] Adicionar tradução em espanhol para a lição 5`
- `[Docs] Atualizar instruções de configuração`
@ -227,36 +227,36 @@ Use títulos claros e descritivos a indicar a área da alteração:
Antes de submeter um PR:
1. **Qualidade do Código**:
- Execute `npm run lint` nas pastas do projeto afetadas
- Corrija todos os erros e avisos do lint
1. **Qualidade de Código**:
- Execute `npm run lint` nos diretórios dos projetos afetados
- Corrija todos os erros e avisos de linting
2. **Verificação do Build**:
2. **Verificação de Build**:
- Execute `npm run build` se aplicável
- Garanta que não há erros de build
- Assegure que não existem erros no build
3. **Validação de Links**:
- Teste todos os links markdown
- Verifique as referências de imagens
- Teste todos os links de markdown
- Verifique referências de imagens funcionais
4. **Revisão de Conteúdo**:
- Revise ortografia e gramática
- Garanta que exemplos de código estão corretos e educativos
- Confirme que traduções mantêm o significado original
- Confirme que exemplos de código estão corretos e educativos
- Verifique que traduções mantêm o significado original
### Requisitos para Contribuição
### Requisitos de Contribuição
- Concordar com o Microsoft CLA (verificação automática no primeiro PR)
- Aceitar o CLA da Microsoft (verificação automática no 1.º PR)
- Seguir o [Código de Conduta Open Source da Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Ver [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Referenciar números de issues na descrição do PR, se aplicável
### Processo de Revisão
- PRs revisados por mantenedores e comunidade
- Clareza educacional é prioridade
- PRs são revistos pelos mantenedores e comunidade
- Clareza educativa é prioritária
- Exemplos de código devem seguir as melhores práticas atuais
- Traduções revisadas quanto à precisão e adequação cultural
- Traduções são revistas para precisão e adequação cultural
## Sistema de Tradução
@ -264,15 +264,15 @@ Antes de submeter um PR:
- Usa GitHub Actions com workflow co-op-translator
- Tradução automática para mais de 50 idiomas
- Ficheiros fonte nos diretórios principais
- Ficheiros traduzidos em pastas `translations/{language-code}/`
- Ficheiros originais nos diretórios principais
- Ficheiros traduzidos em `translations/{language-code}/`
### Adicionar Melhorias de Tradução Manualmente
### Adicionar Melhorias Manuais às Traduções
1. Localize o ficheiro em `translations/{language-code}/`
2. Faça melhorias preservando a estrutura
2. Faça melhorias mantendo a estrutura
3. Assegure que exemplos de código continuam funcionais
4. Teste quaisquer conteúdos de quiz localizados
4. Teste qualquer conteúdo local de quiz
### Metadados de Tradução
@ -293,62 +293,62 @@ CO_OP_TRANSLATOR_METADATA:
### Problemas Comuns
**Aplicação de quiz não inicia**:
- Verifique a versão do Node.js (recomendado v14+)
**Quiz app não inicia**:
- Verifique versão do Node.js (recomendado v14+)
- Apague `node_modules` e `package-lock.json`, execute `npm install` novamente
- Verifique conflitos de porta (padrão: Vite usa a porta 5173)
- Verifique conflitos de porta (padrão: Vite usa porta 5173)
**Servidor API não inicia**:
- Verifique se a versão do Node.js cumpre o mínimo (node >=10)
- Confirme que versão do Node.js é mínima (node >=10)
- Verifique se a porta já está em uso
- Certifique-se de que todas as dependências estão instaladas com `npm install`
- Assegure que todas as dependências estão instaladas com `npm install`
**Extensão de navegador não carrega**:
- Verifique se o manifest.json está formatado corretamente
- Veja erros no console do navegador
- Siga as instruções específicas para instalação da extensão no navegador
**Extensão do navegador não carrega**:
- Verifique se o manifest.json está corretamente formatado
- Consulte a consola do navegador para erros
- Siga instruções específicas do navegador para instalação da extensão
**Problemas no projeto de chat Python**:
- Certifique-se que o pacote OpenAI está instalado: `pip install openai`
- Verifique se a variável de ambiente GITHUB_TOKEN está definida
- Verifique permissões de acesso aos modelos GitHub
**Problemas no projeto de chat em Python**:
- Assegure que o pacote OpenAI está instalado: `pip install openai`
- Verifique variável de ambiente GITHUB_TOKEN definida
- Verifique permissões de acesso do GitHub Models
**Docsify não serve documentação**:
- Instale docsify-cli globalmente: `npm install -g docsify-cli`
- Execute a partir da raiz do repositório
- Execute a partir do diretório raiz do repositório
- Verifique que `docs/_sidebar.md` existe
### Dicas para Ambiente de Desenvolvimento
### Dicas de Ambiente de Desenvolvimento
- Use VS Code com extensão Live Server para projetos HTML
- Instale extensões ESLint e Prettier para formatação consistente
- Use DevTools do navegador para depurar JavaScript
- Para projetos Vue, instale a extensão Vue DevTools no navegador
- Para projetos Vue, instale extensão Vue DevTools no navegador
### Considerações de Performance
- Grande número de ficheiros traduzidos (50+ idiomas) faz com que clones completos sejam grandes
- Use clone superficial se estiver a trabalhar só conteúdo: `git clone --depth 1`
- Exclua traduções das pesquisas ao trabalhar em conteúdo em inglês
- Os processos de build podem ser lentos na primeira execução (npm install, build Vite)
- Grande número de ficheiros traduzidos (mais de 50 idiomas) torna clones completos grandes
- Use clone superficial se trabalhar apenas com conteúdo: `git clone --depth 1`
- Exclua traduções de pesquisas ao trabalhar no conteúdo em inglês
- Processos de build podem ser lentos na primeira execução (npm install, build Vite)
## Considerações de Segurança
### Variáveis de Ambiente
- Chaves de API nunca devem ser comitadas no repositório
- Use ficheiros `.env` (já incluídos no `.gitignore`)
- Documente variáveis de ambiente necessárias nos READMEs dos projetos
- Chaves de API nunca devem ser commitadas no repositório
- Use ficheiros `.env` (já em `.gitignore`)
- Documente variáveis de ambiente requeridas nos READMEs do projeto
### Projetos Python
### Projetos em Python
- Use ambientes virtuais: `python -m venv venv`
- Mantenha dependências atualizadas
- Tokens GitHub devem ter permissões mínimas necessárias
### Acesso aos Modelos GitHub
### Acesso a GitHub Models
- Tokens de Acesso Pessoal (PAT) necessários para os Modelos GitHub
- Necessários Personal Access Tokens (PAT) para GitHub Models
- Tokens devem ser guardados como variáveis de ambiente
- Nunca comite tokens ou credenciais
@ -358,12 +358,12 @@ CO_OP_TRANSLATOR_METADATA:
- Iniciantes completos em desenvolvimento web
- Estudantes e autodidatas
- Professores usando o currículo em sala de aula
- Conteúdo projetado para acessibilidade e construção gradual de competências
- Professores a usar o currículo em salas de aula
- Conteúdo desenhado para acessibilidade e desenvolvimento gradual de competências
### Filosofia Educacional
### Filosofia Educativa
- Método de aprendizagem baseado em projetos
- Abordagem baseada em projetos
- Verificações frequentes de conhecimento (quizzes)
- Exercícios práticos de codificação
- Exemplos de aplicação no mundo real
@ -371,26 +371,26 @@ CO_OP_TRANSLATOR_METADATA:
### Manutenção do Repositório
- Comunidade ativa de aprendizes e contribuintes
- Comunidade ativa de aprendizes e contribuidores
- Atualizações regulares de dependências e conteúdo
- Issues e discussões monitoradas por mantenedores
- Issues e discussões monitorizadas pelos mantenedores
- Atualizações de tradução automatizadas via GitHub Actions
### Recursos Relacionados
- [Módulos Microsoft Learn](https://docs.microsoft.com/learn/)
- [Recursos Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [Recursos do Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recomendado para aprendizes
- Cursos adicionais: AI Generativa, Ciência de Dados, ML, currículos IoT disponíveis
- Cursos adicionais: Currículos de IA Generativa, Ciência de Dados, ML, IoT disponíveis
### Trabalhar com Projetos Específicos
Para instruções detalhadas sobre projetos individuais, consulte os arquivos README em:
Para instruções detalhadas sobre projetos individuais, consulte os ficheiros README em:
- `quiz-app/README.md` - Aplicação de quiz Vue 3
- `7-bank-project/README.md` - Aplicação bancária com autenticação
- `5-browser-extension/README.md` - Desenvolvimento de extensão de navegador
- `6-space-game/README.md` - Desenvolvimento de jogo baseado em Canvas
- `9-chat-project/README.md` - Projeto de assistente de chat AI
- `6-space-game/README.md` - Desenvolvimento de jogo em Canvas
- `9-chat-project/README.md` - Projeto assistente de chat IA
### Estrutura Monorepo
@ -398,11 +398,11 @@ Embora não seja um monorepo tradicional, este repositório contém múltiplos p
- Cada lição é autónoma
- Projetos não partilham dependências
- Trabalhe em projetos individuais sem afetar os outros
- Clone o repositório completo para a experiência do currículo completo
- Clone o repositório completo para a experiência total do currículo
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Aviso Legal**:
Este documento foi traduzido utilizando o serviço de tradução automática [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos pela precisão, por favor esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original, na sua língua nativa, deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações erradas resultantes do uso desta tradução.
Este documento foi traduzido utilizando o serviço de tradução automática [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos pela precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações erradas decorrentes do uso desta tradução.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -12,27 +12,27 @@
# Desenvolvimento Web para Iniciantes - Um Currículo
Aprenda os fundamentos do desenvolvimento web com o nosso curso abrangente de 12 semanas pelos Microsoft Cloud Advocates. Cada uma das 24 aulas mergulha em JavaScript, CSS e HTML através de projetos práticos como terrários, extensões de navegador e jogos espaciais. Participe em questionários, discussões e tarefas práticas. Melhore as suas competências e otimize a retenção do seu conhecimento com a nossa pedagógica eficaz baseada em projetos. Comece hoje mesmo a sua jornada de programação!
Aprende os fundamentos do desenvolvimento web com o nosso curso abrangente de 12 semanas pelos Microsoft Cloud Advocates. Cada uma das 24 lições aprofunda JavaScript, CSS e HTML através de projetos práticos como terrários, extensões de navegador e jogos espaciais. Participa em questionários, discussões e tarefas práticas. Melhora as tuas competências e otimiza a tua retenção de conhecimento com a nossa pedagógica eficaz baseada em projetos. Começa a tua jornada de programação hoje!
Junte-se à Comunidade Azure AI Foundry no Discord
Junta-te à Comunidade Discord do Azure AI Foundry
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Siga estes passos para começar a usar estes recursos:
1. **Faça Fork do Repositório**: Clique [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Clone o Repositório**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Junte-se ao Azure AI Foundry Discord e conheça especialistas e outros programadores**](https://discord.com/invite/ByRwuEEgH4)
Segue estes passos para começar a usar estes recursos:
1. **Faz Fork do Repositório**: Clica [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Clona o Repositório**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Junta-te ao Discord do Azure AI Foundry e conhece especialistas e outros programadores**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Suporte Multilíngue
#### Suportado via GitHub Action (Automatizado e Sempre Atualizado)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Árabe](../ar/README.md) | [Bengali](../bn/README.md) | [Búlgaro](../bg/README.md) | [Birmanês (Myanmar)](../my/README.md) | [Chinês (Simplificado)](../zh-CN/README.md) | [Chinês (Tradicional, Hong Kong)](../zh-HK/README.md) | [Chinês (Tradicional, Macau)](../zh-MO/README.md) | [Chinês (Tradicional, Taiwan)](../zh-TW/README.md) | [Croata](../hr/README.md) | [Checo](../cs/README.md) | [Dinamarquês](../da/README.md) | [Holandês](../nl/README.md) | [Estónio](../et/README.md) | [Finlandês](../fi/README.md) | [Francês](../fr/README.md) | [Alemão](../de/README.md) | [Grego](../el/README.md) | [Hebraico](../he/README.md) | [Hindi](../hi/README.md) | [Húngaro](../hu/README.md) | [Indonésio](../id/README.md) | [Italiano](../it/README.md) | [Japonês](../ja/README.md) | [Kannada](../kn/README.md) | [Coreano](../ko/README.md) | [Lituano](../lt/README.md) | [Malaio](../ms/README.md) | [Malaiala](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Pidgin Nigeriano](../pcm/README.md) | [Norueguês](../no/README.md) | [Persa (Farsi)](../fa/README.md) | [Polaco](../pl/README.md) | [Português (Brasil)](../pt-BR/README.md) | [Português (Portugal)](./README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romeno](../ro/README.md) | [Russo](../ru/README.md) | [Sérvio (Cirílico)](../sr/README.md) | [Eslovaco](../sk/README.md) | [Esloveno](../sl/README.md) | [Espanhol](../es/README.md) | [Suaíli](../sw/README.md) | [Sueco](../sv/README.md) | [Tagalo (Filipino)](../tl/README.md) | [Tâmil](../ta/README.md) | [Telugu](../te/README.md) | [Tailandês](../th/README.md) | [Turco](../tr/README.md) | [Ucraniano](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamita](../vi/README.md)
[Árabe](../ar/README.md) | [Bengali](../bn/README.md) | [Búlgaro](../bg/README.md) | [Birmanês (Myanmar)](../my/README.md) | [Chinês (Simplificado)](../zh-CN/README.md) | [Chinês (Tradicional, Hong Kong)](../zh-HK/README.md) | [Chinês (Tradicional, Macau)](../zh-MO/README.md) | [Chinês (Tradicional, Taiwan)](../zh-TW/README.md) | [Croata](../hr/README.md) | [Checo](../cs/README.md) | [Dinamarquês](../da/README.md) | [Holandês](../nl/README.md) | [Estónio](../et/README.md) | [Finlandês](../fi/README.md) | [Francês](../fr/README.md) | [Alemão](../de/README.md) | [Grego](../el/README.md) | [Hebraico](../he/README.md) | [Hindi](../hi/README.md) | [Húngaro](../hu/README.md) | [Indonésio](../id/README.md) | [Italiano](../it/README.md) | [Japonês](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Coreano](../ko/README.md) | [Lituano](../lt/README.md) | [Malaio](../ms/README.md) | [Malaiala](../ml/README.md) | [Marata](../mr/README.md) | [Nepalês](../ne/README.md) | [Pidgin Nigeriano](../pcm/README.md) | [Norueguês](../no/README.md) | [Persa (Farsi)](../fa/README.md) | [Polaco](../pl/README.md) | [Português (Brasil)](../pt-BR/README.md) | [Português (Portugal)](./README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romeno](../ro/README.md) | [Russo](../ru/README.md) | [Sérvio (Cirílico)](../sr/README.md) | [Eslovaco](../sk/README.md) | [Esloveno](../sl/README.md) | [Espanhol](../es/README.md) | [Suaíli](../sw/README.md) | [Sueco](../sv/README.md) | [Tagalo (Filipino)](../tl/README.md) | [Tâmil](../ta/README.md) | [Telugu](../te/README.md) | [Tailandês](../th/README.md) | [Turco](../tr/README.md) | [Ucraniano](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamita](../vi/README.md)
> **Prefere Clonar Localmente?**
>
> Este repositório inclui traduções em mais de 50 idiomas o que aumenta significativamente o tamanho do download. Para clonar sem traduções, utilize o sparse checkout:
> Este repositório inclui traduções em mais de 50 idiomas, o que aumenta significativamente o tamanho do download. Para clonar sem traduções, usa sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
@ -48,85 +48,86 @@ Siga estes passos para começar a usar estes recursos:
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Isto fornece tudo o que precisa para completar o curso com um download muito mais rápido.
> Isto dá-te tudo o que precisas para completar o curso com um download muito mais rápido.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Se desejar que sejam suportados idiomas adicionais, estes encontram-se listados [aqui](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Se desejas que idiomas adicionais sejam suportados, estão listados [aqui](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[![Abrir no Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _É estudante?_
#### 🧑‍🎓 _És estudante?_
Visite a [**página Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) onde encontrará recursos para principiantes, pacotes para estudantes e até formas de obter um voucher de certificado gratuito. Esta é a página que deve guardar nos favoritos e consultar de vez em quando, pois atualizamos o conteúdo mensalmente.
Visita a [**página Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) onde encontrarás recursos para iniciantes, pacotes para estudantes e até formas de obter um voucher gratuito para certificado. Esta é a página que deves guardar nos favoritos e consultar de vez em quando, pois o conteúdo é atualizado mensalmente.
### 📣 Anúncio - Novos desafios do modo Agente GitHub Copilot para completar!
### 📣 Anúncio - Novos desafios modo Agente GitHub Copilot para completar!
Novo desafio adicionado, procure "GitHub Copilot Agent Challenge 🚀" em maioria dos capítulos. É um novo desafio para completar usando o GitHub Copilot e o modo Agente. Se nunca usou o modo Agente antes, ele é capaz não só de gerar texto, mas também criar e editar ficheiros, executar comandos e muito mais.
Novo desafio adicionado, procura por "GitHub Copilot Agent Challenge 🚀" na maioria dos capítulos. É um novo desafio para completares usando GitHub Copilot e o modo Agente. Se nunca usaste o modo Agente, ele pode não só gerar texto como criar e editar ficheiros, executar comandos e muito mais.
### 📣 Anúncio - _Novo Projeto para construir usando IA Generativa_
### 📣 Anúncio - _Novo projeto para construir usando IA Generativa_
Novo projeto de Assistente AI acabado de adicionar, veja o [projeto](./9-chat-project/README.md)
Novo projeto Assistente IA acaba de ser adicionado, confere o [projeto](./9-chat-project/README.md)
### 📣 Anúncio - _Novo Currículo_ sobre IA Generativa para JavaScript acabou de ser lançado
### 📣 Anúncio - _Novo Currículo_ sobre IA Generativa para JavaScript foi lançado
Não perca o nosso novo currículo de IA Generativa!
Não percas o nosso novo currículo de IA Generativa!
Visite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para começar!
Visita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para começares!
![Background](../../translated_images/pt-PT/background.148a8d43afde5730.webp)
- Aulas que abrangem tudo desde os conceitos básicos até RAG.
- Interaja com personagens históricos usando GenAI e a nossa app acompanhante.
- Narrativa divertida e envolvente, viaje no tempo!
- Lições que cobrem tudo, desde o básico até RAG.
- Interage com personagens históricos usando GenAI e a nossa aplicação acompanhante.
- Narrativa divertida e envolvente, estarás a viajar no tempo!
![character](../../translated_images/pt-PT/character.5c0dd8e067ffd693.webp)
Cada aula inclui uma tarefa para completar, um controlo de conhecimento e um desafio para guiá-lo na aprendizagem de tópicos como:
Cada lição inclui um exercício para completares, um teste de conhecimento e um desafio para te guiar na aprendizagem de tópicos como:
- Prompting e engenharia de prompts
- Geração de aplicações de texto e imagem
- Aplicações de pesquisa
Visite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para começar!
Visita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para começares!
## 🌱 Começar
> **Professores**, incluímos [algumas sugestões](for-teachers.md) sobre como utilizar este currículo. Adoraríamos o seu feedback [no nosso fórum de discussão](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Professores**, incluímos [algumas sugestões](for-teachers.md) sobre como usar este currículo. Adoraríamos o vosso feedback [no nosso fórum de discussão](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Alunos](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, para cada aula, comece com um questionário pré-aula, siga lendo o material da aula, complete as várias atividades e verifique a sua compreensão com o questionário pós-aula.
**[Estudantes](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, para cada lição, começa com um questionário pré-lectura e segue lendo o material da aula, completando as várias atividades e verifica a tua compreensão com o questionário pós-lectura.
Para melhorar a sua experiência de aprendizagem, conecte-se com seus colegas para trabalharem juntos nos projetos! Discussões são incentivadas no nosso [fórum de discussão](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) onde a nossa equipa de moderadores estará disponível para responder às suas perguntas.
Para melhorar a tua experiência de aprendizagem, conecta-te com os seus pares para trabalharem juntos nos projetos! As discussões são encorajadas no nosso [fórum de discussão](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) onde a nossa equipa de moderadores estará disponível para responder às tuas perguntas.
Para aprofundar a sua educação, recomendamos vivamente explorar o [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) para materiais de estudo adicionais.
Para aprofundares a tua educação, recomendamos vivamente que explores o [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) para materiais de estudo adicionais.
### 📋 Configurar o seu ambiente
### 📋 Configurar o teu ambiente
Este currículo tem um ambiente de desenvolvimento pronto a usar! À medida que começa pode optar por executar o currículo num [Codespace](https://github.com/features/codespaces/) (_um ambiente baseado em browser, sem necessidade de instalações_), ou localmente no seu computador usando um editor de texto como o [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Este currículo tem um ambiente de desenvolvimento pronto a usar! Ao começares, podes optar por executar o currículo num [Codespace](https://github.com/features/codespaces/) (_um ambiente baseado no navegador, sem necessidade de instalações_), ou localmente no teu computador usando um editor de texto como o [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Crie o seu repositório
Para guardar facilmente o seu trabalho, é recomendado que crie a sua própria cópia deste repositório. Pode fazê-lo clicando no botão **Usar este modelo** no topo da página. Isto criará um novo repositório na sua conta GitHub com uma cópia do currículo.
#### Cria o teu repositório
Para guardares facilmente o teu trabalho, recomenda-se que cries a tua própria cópia deste repositório. Podes fazer isso clicando no botão **Use this template** no topo da página. Isso criará um novo repositório na tua conta GitHub com uma cópia do currículo.
Siga estes passos:
1. **Faça Fork do Repositório**: Clique no botão "Fork" no canto superior direito desta página.
2. **Clone o Repositório**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
Segue estes passos:
1. **Faz Fork do Repositório**: Clica no botão "Fork" no canto superior direito desta página.
2. **Clona o Repositório**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Executar o currículo num Codespace
Na sua cópia deste repositório que criou, clique no botão **Code** e selecione **Open with Codespaces**. Isto criará um novo Codespace para trabalhar.
Na tua cópia do repositório que criaste, clica no botão **Code** e seleciona **Open with Codespaces**. Isso criará um novo Codespace para trabalhares.
![Codespace](../../translated_images/pt-PT/createcodespace.0238bbf4d7a8d955.webp)
#### Executar o currículo localmente no seu computador
#### Executar o currículo localmente no teu computador
Para executar este currículo localmente no seu computador, vai precisar de um editor de texto, um navegador e uma ferramenta de linha de comandos. A nossa primeira aula, [Introdução às Linguagens de Programação e Ferramentas do Ofício](../../1-getting-started-lessons/1-intro-to-programming-languages), orienta-o através das várias opções para cada uma destas ferramentas para que escolha a que funciona melhor para si.
Para executares este currículo localmente no teu computador, precisas de um editor de texto, um navegador e uma ferramenta de linha de comandos. A nossa primeira lição, [Introdução às Linguagens de Programação e Ferramentas do Ofício](../../1-getting-started-lessons/1-intro-to-programming-languages), irá guiar-te por várias opções para cada uma destas ferramentas para selecionares o que melhor te convém.
A nossa recomendação é usar o [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) como seu editor, que também tem um [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) incorporado. Pode fazer o download do Visual Studio Code [aqui](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Clone o seu repositório para o seu computador. Pode fazer isto clicando no botão **Code** e copiando o URL:
A nossa recomendação é usar o [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) como editor, que também tem um [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) incorporado. Podes descarregar o Visual Studio Code [aqui](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Clone o seu repositório para o seu computador. Pode fazer isto clicando no botão **Code** e copiando a URL:
[CodeSpace](./images/createcodespace.png)
Depois, abra o [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) dentro do [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) e execute o seguinte comando, substituindo `<your-repository-url>` pelo URL que acabou de copiar:
Depois, abra o [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) dentro do [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) e execute o seguinte comando, substituindo `<your-repository-url>` pela URL que acabou de copiar:
```bash
git clone <your-repository-url>
@ -135,79 +136,79 @@ A nossa recomendação é usar o [Visual Studio Code](https://code.visualstudio.
2. Abra a pasta no Visual Studio Code. Pode fazer isto clicando em **File** > **Open Folder** e selecionando a pasta que acabou de clonar.
> Extensões recomendadas do Visual Studio Code:
> Extensões recomendadas para o Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - para pré-visualizar páginas HTML dentro do Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - para ajudar a escrever código mais rapidamente
## 📂 Cada lição inclui:
## 📂 Cada aula inclui:
- sketchnote opcional
- vídeo suplementar opcional
- questionário pré-aula
- lição escrita
- para lições baseadas em projetos, guias passo a passo para construir o projeto
- quiz de aquecimento pré-aula
- aula escrita
- para aulas baseadas em projetos, guias passo-a-passo sobre como construir o projeto
- verificações de conhecimento
- um desafio
- leitura suplementar
- tarefa
- [questionário pós-aula](https://ff-quizzes.netlify.app/web/)
> **Uma nota sobre os questionários**: Todos os questionários estão contidos na pasta Quiz-app, totalizando 48 questionários com três perguntas cada. Estão disponíveis [aqui](https://ff-quizzes.netlify.app/web/), a aplicação de questionários pode ser executada localmente ou implantada no Azure; siga as instruções na pasta `quiz-app`.
## 🗃️ Lições
| | Nome do Projeto | Conceitos Ensinados | Objetivos de Aprendizagem | Lição Ligada | Autor |
| :-: | :---------------------------------------------------------: | :------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Getting Started | Introdução à Programação e Ferramentas do Ofício | Aprender os fundamentos básicos da maioria das linguagens de programação e sobre o software que ajuda os programadores profissionais | [Introdução a Linguagens de Programação e Ferramentas do Ofício](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Getting Started | Noções básicas de GitHub, inclui trabalho em equipa | Como usar o GitHub no seu projeto, como colaborar com outros numa base de código | [Introdução ao GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Getting Started | Acessibilidade | Aprender os conceitos básicos de acessibilidade na web | [Fundamentos de Acessibilidade](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Basics | Tipos de Dados em JavaScript | Os conceitos básicos dos tipos de dados em JavaScript | [Tipos de Dados](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Basics | Funções e Métodos | Aprender sobre funções e métodos para gerir o fluxo lógico de uma aplicação | [Funções e Métodos](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | JS Basics | Tomar Decisões com JS | Aprender a criar condições no seu código usando métodos de tomada de decisão | [Tomar Decisões](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Basics | Arrays e Loops | Trabalhar com dados utilizando arrays e loops em JavaScript | [Arrays e Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML na Prática | Construir o HTML para criar um terrário online, focando na criação de um layout | [Introdução ao HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS na Prática | Construir o CSS para estilizar o terrário online, focando nos conceitos básicos de CSS incluindo tornar a página responsiva | [Introdução ao CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Fechos JavaScript, manipulação do DOM | Construir o JavaScript para fazer o terrário funcionar como uma interface drag/drop, focando em fechamentos e manipulação do DOM | [Fechos JavaScript, manipulação do DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Construir um Jogo de Digitação | Aprender a usar eventos do teclado para conduzir a lógica da sua app em JavaScript | [Programação Orientada a Eventos](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Extensão de Navegador Verde](./5-browser-extension/solution/README.md) | Trabalhar com Navegadores | Aprender como os navegadores funcionam, a sua história e como criar os primeiros elementos de uma extensão para navegador | [Sobre Navegadores](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Extensão de Navegador Verde](./5-browser-extension/solution/README.md) | Construir um formulário, chamar uma API e armazenar variáveis em armazenamento local | Construir os elementos JavaScript da sua extensão para navegador para chamar uma API usando variáveis armazenadas localmente | [APIs, Formulários e Armazenamento Local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Extensão de Navegador Verde](./5-browser-extension/solution/README.md) | Processos em segundo plano no navegador, desempenho web | Usar os processos em segundo plano do navegador para gerir o ícone da extensão; aprender sobre desempenho web e algumas otimizações | [Tarefas em Segundo Plano e Desempenho](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Jogo Espacial](./6-space-game/solution/README.md) | Desenvolvimento de Jogos Mais Avançado em JavaScript | Aprender sobre Herança utilizando Classes e Composição e o padrão Pub/Sub, em preparação para criar um jogo | [Introdução ao Desenvolvimento Avançado de Jogos](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Jogo Espacial](./6-space-game/solution/README.md) | Desenhar no canvas | Aprender sobre a API Canvas, usada para desenhar elementos num ecrã | [Desenhar no Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Jogo Espacial](./6-space-game/solution/README.md) | Mover elementos pelo ecrã | Descobrir como os elementos podem ganhar movimento usando coordenadas cartesianas e a API Canvas | [Mover Elementos](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Jogo Espacial](./6-space-game/solution/README.md) | Detetar colisões | Fazer elementos colidirem e reagirem entre si usando pressionar de teclas e fornecer uma função de cooldown para garantir o desempenho | [Deteção de Colisões](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Jogo Espacial](./6-space-game/solution/README.md) | Manter a pontuação | Realizar cálculos matemáticos baseados no estado e desempenho do jogo | [Manter Pontuação](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Jogo Espacial](./6-space-game/solution/README.md) | Terminar e reiniciar o jogo | Aprender sobre terminar e reiniciar o jogo, incluindo limpeza de recursos e reposição de valores de variáveis | [A Condição de Fim](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [App Bancária](./7-bank-project/solution/README.md) | Modelos HTML e Rotas numa Aplicação Web | Aprender a criar a estrutura de arquitetura de um site multipágina usando roteamento e modelos HTML | [Modelos HTML e Rotas](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [App Bancária](./7-bank-project/solution/README.md) | Construir um Formulário de Login e Registo | Aprender sobre construção de formulários e rotinas de validação | [Formulários](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [App Bancária](./7-bank-project/solution/README.md) | Métodos de Obtenção e Uso de Dados | Como os dados entram e saem da sua aplicação, como os obter, armazenar e descartar | [Dados](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [App Bancária](./7-bank-project/solution/README.md) | Conceitos de Gestão de Estado | Aprender como a sua app mantém o estado e como geri-lo programaticamente | [Gestão de Estado](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Código Browser/VScode](../../8-code-editor) | Trabalhar com VScode | Aprender a usar um editor de código| [Usar Editor de Código VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Assistentes AI](./9-chat-project/README.md) | Trabalhar com AI | Aprender a construir o seu próprio assistente AI | [Projeto Assistente AI](./9-chat-project/README.md) | Chris |
- [quiz pós-aula](https://ff-quizzes.netlify.app/web/)
> **Uma nota sobre quizzes**: Todos os quizzes estão contidos na pasta Quiz-app, com um total de 48 quizzes de três perguntas cada. Estão disponíveis [aqui](https://ff-quizzes.netlify.app/web/) e a aplicação de quiz pode ser executada localmente ou implantada no Azure; siga as instruções na pasta `quiz-app`.
## 🗃️ Aulas
| | Nome do Projeto | Conceitos Ensinados | Objetivos de Aprendizagem | Aula Ligada | Autor |
| :-: | :---------------------------------------------------------: | :------------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | A Começar | Introdução à Programação e Ferramentas do Ofício | Aprender os fundamentos básicos por trás da maioria das linguagens de programação e sobre o software que ajuda desenvolvedores profissionais a fazerem o seu trabalho | [Introdução a Linguagens de Programação e Ferramentas do Ofício](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | A Começar | Noções básicas de GitHub, inclui trabalho em equipa | Como usar o GitHub no seu projeto, como colaborar com outros numa base de código | [Introdução ao GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | A Começar | Acessibilidade | Aprender os fundamentos da acessibilidade web | [Fundamentos da Acessibilidade](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Fundamentos de JS | Tipos de Dados em JavaScript | Os fundamentos dos tipos de dados em JavaScript | [Tipos de Dados](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Fundamentos de JS | Funções e Métodos | Aprender sobre funções e métodos para gerir o fluxo lógico de uma aplicação | [Funções e Métodos](./2-js-basics/2-functions-methods/README.md) | Jasmine e Christopher |
| 06 | Fundamentos de JS | Tomando Decisões com JS | Aprender a criar condições no seu código usando métodos de tomada de decisão | [Tomando Decisões](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Fundamentos de JS | Arrays e Loops | Trabalhar com dados usando arrays e loops em JavaScript | [Arrays e Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrário](./3-terrarium/solution/README.md) | HTML na Prática | Construir o HTML para criar um terrário online, focando na construção do layout | [Introdução ao HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrário](./3-terrarium/solution/README.md) | CSS na Prática | Construir o CSS para estilizar o terrário online, focando no básico do CSS incluindo tornar a página responsiva | [Introdução ao CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrário](./3-terrarium/solution/README.md) | Closures em JavaScript, manipulação do DOM | Construir o JavaScript para fazer o terrário funcionar como uma interface de arrastar e largar, focando em closures e manipulação do DOM | [Closures em JavaScript, manipulação do DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Jogo de Digitação](./4-typing-game/solution/README.md) | Construir um Jogo de Digitação | Aprender a usar eventos do teclado para conduzir a lógica da sua app em JavaScript | [Programação Orientada a Eventos](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Extensão Verde para Navegador](./5-browser-extension/solution/README.md) | Trabalhar com Browsers | Aprender como os browsers funcionam, a sua história, e como estruturar os primeiros elementos de uma extensão de browser | [Sobre Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Extensão Verde para Navegador](./5-browser-extension/solution/README.md) | Construir um formulário, chamar uma API e armazenar variáveis localmente | Construir os elementos JavaScript da extensão do browser para chamar uma API usando variáveis armazenadas em local storage | [APIs, Formulários e Armazenamento Local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Extensão Verde para Navegador](./5-browser-extension/solution/README.md) | Processos em background no browser, performance web | Usar os processos em background do browser para gerir o ícone da extensão; aprender sobre performance web e algumas otimizações para melhorar | [Tarefas em Background e Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Jogo Espacial](./6-space-game/solution/README.md) | Desenvolvimento Avançado de Jogos com JavaScript | Aprender sobre Herança usando Classes e Composição e o padrão Pub/Sub, em preparação para construir um jogo | [Introdução ao Desenvolvimento Avançado de Jogos](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Jogo Espacial](./6-space-game/solution/README.md) | Desenhar no canvas | Aprender sobre a API Canvas, usada para desenhar elementos num ecrã | [Desenhar no Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Jogo Espacial](./6-space-game/solution/README.md) | Mover elementos pelo ecrã | Descobrir como os elementos podem ganhar movimento usando coordenadas cartesianas e a API Canvas | [Mover Elementos](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Jogo Espacial](./6-space-game/solution/README.md) | Detetar colisões | Fazer os elementos colidirem e reagirem uns aos outros usando pressionar de teclas e fornecer uma função de cooldown para garantir o desempenho do jogo | [Deteção de Colisões](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Jogo Espacial](./6-space-game/solution/README.md) | Contabilizar pontos | Realizar cálculos matemáticos baseados no estado e desempenho do jogo | [Contabilização de Pontos](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Jogo Espacial](./6-space-game/solution/README.md) | Terminar e reiniciar o jogo | Aprender sobre terminar e reiniciar o jogo, incluindo limpar recursos e reiniciar valores de variáveis | [Condição de Termino](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [App Bancária](./7-bank-project/solution/README.md) | Templates HTML e Rotas numa Web App | Aprender como criar a estrutura da arquitetura de um website multipágina usando rotas e templates HTML | [Templates HTML e Rotas](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [App Bancária](./7-bank-project/solution/README.md) | Construir um Formulário de Login e Registro | Aprender sobre construir formulários e gerir rotinas de validação | [Formulários](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [App Bancária](./7-bank-project/solution/README.md) | Métodos de Obter e Usar Dados | Como os dados entram e saem da aplicação, como obtê-los, armazená-los e descartá-los | [Dados](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [App Bancária](./7-bank-project/solution/README.md) | Conceitos de Gestão de Estado | Aprender como a sua app mantém estado e como gerir isso programaticamente | [Gestão de Estado](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Código do Browser/VScode](../../8-code-editor) | Trabalhar com VScode | Aprender a usar um editor de código| [Usar Editor de Código VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Assistentes de IA](./9-chat-project/README.md) | Trabalhar com IA | Aprender a construir o seu próprio assistente de IA | [Projeto Assistente de IA](./9-chat-project/README.md) | Chris |
## 🏫 Pedagogia
O nosso currículo foi desenhado com dois princípios pedagógicos chave em mente:
O nosso currículo foi concebido com dois princípios pedagógicos fundamentais em mente:
* aprendizagem baseada em projetos
* questionários frequentes
* quizzes frequentes
O programa ensina os fundamentos de JavaScript, HTML e CSS, bem como as ferramentas e técnicas mais recentes usadas pelos programadores web atuais. Os estudantes terão a oportunidade de adquirir experiência prática construindo um jogo de digitação, um terrário virtual, uma extensão de navegador amiga do ambiente, um jogo ao estilo space-invader e uma app bancária para negócios. Ao final da série, os estudantes terão adquirido uma compreensão sólida do desenvolvimento web.
O programa ensina os fundamentos de JavaScript, HTML e CSS, bem como as últimas ferramentas e técnicas usadas pelos desenvolvedores web de hoje. Os alunos terão a oportunidade de desenvolver experiência prática construindo um jogo de digitação, um terrário virtual, uma extensão de browser ecológica, um jogo estilo invasores do espaço e uma app bancária para negócios. No final da série, os alunos terão adquirido uma sólida compreensão do desenvolvimento web.
> 🎓 Pode fazer as primeiras lições deste currículo como um [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) na Microsoft Learn!
> 🎓 Pode fazer as primeiras aulas deste currículo como um [Caminho de Aprendizagem](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) na Microsoft Learn!
Ao garantir que o conteúdo está alinhado com os projetos, o processo torna-se mais envolvente para os estudantes e a retenção dos conceitos será aumentada. Também escrevemos várias lições introdutórias de JavaScript para introduzir conceitos, acompanhadas por um vídeo da coleção de tutoriais "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", alguns dos autores dos quais contribuíram para este currículo.
Ao garantir que o conteúdo está alinhado com projetos, o processo torna-se mais envolvente para os alunos e a retenção de conceitos será aumentada. Também escrevemos várias aulas introdutórias aos fundamentos de JavaScript para introduzir conceitos, combinadas com um vídeo da coleção de tutoriais em vídeo "[Série para Iniciantes em: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", alguns dos quais os autores contribuíram para este currículo.
Além disso, um questionário de baixo risco antes da aula estabelece a intenção do estudante em aprender um tema, enquanto um segundo questionário após a aula assegura uma maior retenção. Este currículo foi desenhado para ser flexível e divertido e pode ser seguido na íntegra ou em parte. Os projetos começam pequenos e tornam-se progressivamente mais complexos até ao final do ciclo de 12 semanas.
Além disso, um quiz de baixo risco antes da aula define a intenção do aluno em aprender um tópico, enquanto um segundo quiz após a aula assegura uma retenção adicional. Este currículo foi desenhado para ser flexível e divertido e pode ser feito na totalidade ou em parte. Os projetos começam pequenos e tornam-se progressivamente mais complexos até ao final do ciclo de 12 semanas.
Embora tenhamos evitado intencionalmente introduzir frameworks de JavaScript para nos concentrarmos nas competências básicas necessárias como programador web antes de adotar um framework, um bom próximo passo para completar este currículo seria aprender sobre Node.js através de outra coleção de vídeos: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Embora tenhamos evitado propositadamente introduzir frameworks JavaScript para nos concentrarmos nas habilidades básicas necessárias como desenvolvedor web antes de adotar um framework, um bom próximo passo para completar este currículo seria aprender sobre Node.js através de outra coleção de vídeos: "[Série para Iniciantes em: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Visite as nossas diretrizes de [Código de Conduta](CODE_OF_CONDUCT.md) e [Contribuição](CONTRIBUTING.md). Apreciamos o seu feedback construtivo!
> Visite as nossas diretrizes [Código de Conduta](CODE_OF_CONDUCT.md) e [Contribuição](CONTRIBUTING.md). Agradecemos o seu feedback construtivo!
## 🧭 Acesso offline
## 🧭 Acesso Offline
Pode executar esta documentação offline usando o [Docsify](https://docsify.js.org/#/). Faça um fork deste repositório, [instale o Docsify](https://docsify.js.org/#/quickstart) na sua máquina local e depois na pasta raiz deste repositório digite `docsify serve`. O website será servido na porta 3000 no seu localhost: `localhost:3000`.
Pode executar esta documentação offline usando o [Docsify](https://docsify.js.org/#/). Faça um fork deste repositório, [instale o Docsify](https://docsify.js.org/#/quickstart) na sua máquina local e depois, na pasta raiz deste repositório, escreva `docsify serve`. O site será servido na porta 3000 no seu localhost: `localhost:3000`.
## 📘 PDF
Um PDF de todas as lições pode ser encontrado [aqui](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
@ -215,7 +216,7 @@ Um PDF de todas as lições pode ser encontrado [aqui](https://microsoft.github.
## 🎒 Outros Cursos
A nossa equipa produz outros cursos! Confira:
A nossa equipa produz outros cursos! Veja:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -240,7 +241,7 @@ A nossa equipa produz outros cursos! Confira:
---
### Aprendizagem Fundamental
### Aprendizagem Base
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@ -259,21 +260,21 @@ A nossa equipa produz outros cursos! Confira:
## Obter Ajuda
Se ficar bloqueado ou tiver alguma dúvida sobre como construir aplicações de IA. Junte-se a outros aprendizes e desenvolvedores experientes nas discussões sobre MCP. É uma comunidade solidária onde as perguntas são bem-vindas e o conhecimento é partilhado livremente.
Se ficar bloqueado ou tiver alguma pergunta sobre como construir aplicações de IA, junte-se a outros alunos e desenvolvedores experientes em discussões sobre MCP. É uma comunidade de apoio onde as perguntas são bem-vindas e o conhecimento é partilhado livremente.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Se tiver feedback sobre produtos ou erros durante a construção, visite:
Se tiver comentários sobre o produto ou erros durante a construção, visite:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## Licença
Este repositório está licenciado sob a licença MIT. Consulte o ficheiro [LICENSE](../../LICENSE) para mais informações.
Este repositório está licenciado sob a licença MIT. Veja o ficheiro [LICENSE](../../LICENSE) para mais informações.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Aviso Legal**:
Este documento foi traduzido utilizando o serviço de tradução automática [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos pela precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se a tradução profissional por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes da utilização desta tradução.
**Aviso Legal**:
Este documento foi traduzido utilizando o serviço de tradução automática [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos pela precisão, tenha em conta que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações erradas resultantes do uso desta tradução.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save