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

update-translations
localizeflow[bot] 2 days ago
parent 6a3eacdca6
commit 137601f3cf

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "d45ddcc54eb9232a76d08328b09d792e",
"translation_date": "2025-11-03T16:13:57+00:00",
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T12:30:42+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "pa"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T16:49:30+00:00",
"translation_date": "2026-03-06T12:42:53+00:00",
"source_file": "AGENTS.md",
"language_code": "pa"
},
@ -516,8 +516,8 @@
"language_code": "pa"
},
"README.md": {
"original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
"translation_date": "2026-02-06T16:44:35+00:00",
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T12:24:47+00:00",
"source_file": "README.md",
"language_code": "pa"
},

@ -1,43 +1,43 @@
# AGENTS.md
## ਪ੍ਰੋਜੈਕਟ ਝਲਕ
## ਪ੍ਰੋਜੈਕਟ ਓਵਰਵਿਊ
ਇਹ ਸ਼ੁਰੂਆਤੀਆਂ ਲਈ ਵੈੱਬ ਵਿਕਾਸ ਦੇ ਮੁਢਲੇ ਸਿਧਾਂਤ ਸਿਖਾਉਣ ਲਈ ਇੱਕ ਸਿੱਖਿਆਤਮਕ ਪਾਠਕ੍ਰਮ ਰిపੋਜਿਟਰੀ ਹੈ। ਇਹ ਪਾਠਕ੍ਰਮ ਮਾਈਕ੍ਰੋਸਾਫਟ ਕਲਾਉਡ ਅਡਵੋਕੇਟਸ ਵੱਲੋਂ ਵਿਕਸਿਤ 12 ਹਫ਼ਤਿਆਂ ਦਾ ਇੱਕ ਵਿਸਤ੍ਰਿਤ ਕੋਰਸ ਹੈ, ਜਿਸ ਵਿੱਚ 24 ਹੱਥੋਂ-ਹੱਥ ਸਬਕ ਹਨ ਜੋ JavaScript, CSS, ਅਤੇ HTML ਨੂੰ ਕਵਰ ਕਰਦੇ ਹਨ।
ਇਹ ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਾਲਿਆਂ ਨੂੰ ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ ਦੇ ਮੁਢਲਾ ਤੱਤ ਸਿਖਾਣ ਲਈ ਇੱਕ ਸਿੱਖਿਆਤਮਕ ਕੋਰਸ-ਪਾਠ ਰੀਪੋਜ਼ਟਰੀ ਹੈ। ਇਸ ਕੋਰਸ-ਪਾਠ ਨੂੰ ਮਾਈਕਰੋਸੌਫਟ ਕਲਾਉਡ ਅਡਵੋਕੇਟਸ ਵੱਲੋਂ ਵਿਕਸਤ ਕੀਤਾ ਗਿਆ ਹੈ ਜੋ 12 ਹਫ਼ਤਿਆਂ ਦਾ ਵਿਸਤ੍ਰਿਤ ਕੋਰਸ ਹੈ, ਜਿਸ ਵਿੱਚ 24 ਹਥਿਆਰਵੰਦ ਸਬਕ ਹਨ ਜੋ ਜਾਵਾਸਕ੍ਰਿਪਟ, CSS ਅਤੇ HTML ਨੂੰ ਕਵਰ ਕਰਦੇ ਹਨ।
### ਮੁੱਖ ਘਟਕ
### ਮੁੱਖ ਹਿੱਸੇ
- **ਸਿੱਖਿਆਤਮਕ ਸਮੱਗਰੀ**: ਪ੍ਰੋਜੈਕਟ-ਆਧਾਰਿਤ ਮੋਡਿਊਲਾਂ ਵਿੱਚ 24 ਸੰਰਚਿਤ ਸਬਕ
- **ਵਿਵਹਾਰਕ ਪ੍ਰੋਜੈਕਟ**: ਟੈਰੀਰੀਅਮ, ਟਾਈਪਿੰਗ ਗੇਮ, ਬਰਾਉਜ਼ਰ ਐਕਸਟੇਂਸ਼ਨ, ਸਪੇਸ ਗੇਮ, ਬੈਂਕਿੰਗ ਐਪ, ਕੋਡ ਐਡੀਟਰ ਅਤੇ AI ਚੈਟ ਸਹਾਇਕ
- **ਇੰਟਰਐਕਟਿਵ ਕਵਿਜ਼**: 48 ਕਵਿਜ਼ ਹਰ ਇੱਕ ਵਿੱਚ 3 ਪ੍ਰਸ਼ਨ (ਪੂਰਵ/ਪ੍ਰਤੀ ਸਬਕ ਮੁਲਾਂਕਣ)
- **ਬਹੁਭਾਸ਼ੀ ਸਮਰਥਨ**: GitHub ਐਕਸ਼ਨਾਂ ਰਾਹੀਂ 50+ ਭਾਸ਼ਾਵਾਂ ਦੇ ਲਿਆ ਅਧਿਕਾਰੀ ਤਰਜਮੇ
- **ਟੈਕਨੋਲੋਜੀਆਂ**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI ਪ੍ਰੋਜੈਕਟ ਲਈ)
- **ਸਿੱਖਿਆਤਮਕ ਸਮੱਗਰੀ**: 24 ਸੰਜੋਏ ਹੋਏ ਸਬਕ ਪ੍ਰੋਜੈਕਟ-ਆਧਾਰਿਤ ਮੋਡੀਊਲਾਂ ਵਿੱਚ ਵੰਡੇ ਹੋਏ
- **ਵਿਆਹਰਕ ਪ੍ਰੋਜੈਕਟ**: ਟੈਰੀਅਰੀਅਮ, ਟਾਈਪਿੰਗ ਗੇਮ, ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ, ਸਪੇਸ ਗੇਮ, ਬੈਂਕਿੰਗ ਐਪ, ਕੋਡ ਐਡੀਟਰ ਅਤੇ AI ਚੈਟ ਸਹਾਇਕ
- **ਇੰਟਰਐਕਟਿਵ ਕਵਿਜ਼**: 48 ਕਵਿਜ਼, ਹਰ ਇੱਕ ਵਿੱਚ 3 ਪ੍ਰਸ਼ਨ (ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਦੇ ਸਬਕ ਮੁਲਾਂਕਣ)
- **ਬਹੁ-ਭਾਸ਼ਾ ਸਹਾਇਤਾ**: 50+ ਭਾਸ਼ਾਵਾਂ ਲਈ ਗਿਟਹਬ ਐਕਸ਼ਨਾਂ ਰਾਹੀਂ ਆਟੋਮੇਟਿਕ ਅਨੁਵਾਦ
- **ਤਕਨਾਲੋਜੀਜ਼**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI ਪ੍ਰੋਜੈਕਟ ਲਈ)
### ਵਿਸ਼ਲੇਸ਼ਣੀ ਢਾਂਚਾ
### ਆਰਕੀਟੈਕਚਰ
- ਸਿੱਖਣੀ ਰਿਪੋਜਿਟਰੀ ਸਬਕ-ਆਧਾਰਿਤ ਢਾਂਚੇ ਨਾਲ
- ਹਰ ਸਬਕ ਫੋਲਡਰ ਵਿੱਚ README, ਕੋਡ ਉਦਾਹਰਣਾਂ ਅਤੇ ਹੱਲ ਹਨ
- ਅਲੱਗ ਅਲੱਗ ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ ਖੁਦਮੁਖਤਿਆਰ ਪ੍ਰੋਜੈਕਟ (quiz-app, ਵੱਖ ਵੱਖ ਸਬਕ ਪ੍ਰੋਜੈਕਟ)
- GitHub ਐਕਸ਼ਨਾਵਾਂ ਨਾਲ ਤਰਜਮੇ ਲਈ ਸਿਸਟਮ (co-op-translator)
- ਡੌਕਸਿਫਾਈ ਰਾਹੀਂ ਡੌਕੂਮੈਂਟੇਸ਼ਨ ਅਤੇ PDF ਦੇ ਤੌਰ 'ਤੇ ਉਪਲਬਧ
- ਸਿੱਖਿਆਤਮਕ ਰੀਪੋਜ਼ਟਰੀ ਸਬਕ ਅਧਾਰਤ ਢਾਂਚੇ ਨਾਲ
- ਹਰ ਸਬਕ ਫੋਲਡਰ ਵਿੱਚ README, ਕੋਡ ਉਦਾਹਰਨ ਅਤੇ ਸਮਾਧਾਨ ਹਨ
- ਵੱਖ-ਵੱਖ ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ ਅਲੱਗ-ਅਲੱਗ ਪ੍ਰੋਜੈਕਟ (quiz-app, ਵੱਖ-ਵੱਖ ਸਬਕ ਪ੍ਰੋਜੈਕਟ)
- ਅਨੁਵਾਦ ਸਿਸਟਮ ਜੋ ਗਿਟਹਬ ਐਕਸ਼ਨਾਂ (co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ
- ਡੌਕਯੂਮੈਂਟੇਸ਼ਨ Docsify ਰਾਹੀਂ ਪਰੋਵਾਈਡ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ PDF ਵਜੋਂ ਉਪਲਬਧ ਹੈ
## ਸੈਟਅਹੁਕਮ
## ਸੈਟਅਪ ਕਮਾਂਡਾਂ
ਇਹ ਰਿਪੋਜਿਟਰੀ ਮੁੱਖ ਤੌਰ 'ਤੇ ਸਿੱਖਿਆਤਮਕ ਸਮੱਗਰੀ ਦੀ ਖਪਤ ਲਈ ਹੈ। ਖਾਸ ਪ੍ਰੋਜੈਕਟਾਂ 'ਤੇ ਕੰਮ ਕਰਨ ਲਈ:
ਇਹ ਰੀਪੋਜ਼ਟਰੀ ਮੁੱਖ ਤੌਰ 'ਤੇ ਸਿੱਖਿਆਤਮਕ ਸਮੱਗਰੀ ਨੂੰ ਵਰਤਣ ਲਈ ਹੈ। ਖਾਸ ਪ੍ਰੋਜੈਕਟਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ:
### ਮੁੱਖ ਰਿਪੋਜਿਟਰੀ ਸੈਟਅੱ
### ਮੁੱਖ ਰੀਪੋਜ਼ਟਰੀ ਸੈਟਅ
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### ਕਵਿਜ਼ ਐਪ ਸੈਟਅਪ (Vue 3 + Vite)
### ਕਵਿਜ਼ ਐਪ ਸੈਟਅਪ (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # ਵਿਕਾਸ ਸਰਵਰ ਸ਼ੁਰੂ ਕਰੋ
npm run build # ਪ੍ਰੋਡਕਸ਼ਨ ਲਈ ਬਣਾਓ
npm run build # ਉਤਪਾਦਨ ਲਈ ਬਣਾਓ
npm run lint # ESLint ਚਲਾਓ
```
@ -46,17 +46,17 @@ npm run lint # ESLint ਚਲਾਓ
```bash
cd 7-bank-project/api
npm install
npm start # ਏਪੀਆਈ ਸਰਵਰ ਚਾਲੂ ਕਰੋ
npm start # ਏਪੀਆਈ ਸਰਵਰ ਸ਼ੁਰੂ ਕਰੋ
npm run lint # ESLint ਚਲਾਓ
npm run format # Prettier ਨਾਲ ਫਾਰਮੈਟ ਕਰੋ
npm run format # ਪ੍ਰਿਟੀਅਰ ਨਾਲ ਫਾਰਮੈਟ ਕਰੋ
```
### ਬਰਾਉਜ਼ਰ ਐਕਸਟੇਂਸ਼ਨ ਪ੍ਰੋਜੈਕਟ
### ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਪ੍ਰੋਜੈਕਟ
```bash
cd 5-browser-extension/solution
npm install
# ਬ੍ਰਾਊਜ਼ਰ-ਖਾਸ ਐਕਸਟেনਸ਼ਨ ਲੋਡ ਕਰਨ ਦੇ ਹੁਕਮਾਂ ਦਾ ਪਾਲਣ ਕਰੋ
# ਬ੍ਰਾਉਜ਼ਰ-ਖਾਸ ਐਕਸਟੈਂਸ਼ਨ ਲੋਡਿੰਗ ਨਿਰਦੇਸ਼ਾਂ ਦਾ ਪਾਲਣ ਕਰੋ
```
### ਸਪੇਸ ਗੇਮ ਪ੍ਰੋਜੈਕਟ
@ -64,7 +64,7 @@ npm install
```bash
cd 6-space-game/solution
npm install
# ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ index.html ਖੋਲ੍ਹੋ ਜਾਂ Live Server ਦੀ ਵਰਤੋਂ ਕਰੋ
# index.html ਨੂੰ ਬ੍ਰਾਉਜ਼ਰ ਵਿਚ ਖੋਲ੍ਹੋ ਜਾਂ ਲਾਈਵ ਸਰਵਰ ਦੀ ਵਰਤੋਂ ਕਰੋ
```
### ਚੈਟ ਪ੍ਰੋਜੈਕਟ (Python ਬੈਕਐਂਡ)
@ -72,120 +72,120 @@ npm install
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# GITHUB_TOKEN ਵਾਤਾਵਰਣ ਚਰ ਨੂੰ ਸੈੱਟ ਕਰੋ
# GITHUB_TOKEN ਵਾਤਾਵਰਨ ਵੈਰੀਏਬਲ ਸੈੱਟ ਕਰੋ
python api.py
```
## ਵਿਕਾਸ ਵਰਕਫਲੋ
## ਵਿਕਾਸ ਵਰਕਫਲੋ
### ਸਮੱਗਰੀ ਯੋਗਦਾਨਕਰਤਾਵਾਂ ਲਈ
### ਸਮੱਗਰੀ ਯੋਗਦਾਨਕਾਰਾਂ ਲਈ
1. ਆਪਣੀ GitHub ਖਾਤੇ ਵਿੱਚ ਰਿਪੋਜਿਟਰੀ ਨੂੰ ਫੋਰਕ ਕਰੋ
2. ਆਪਣ ਫੋਰਕ ਨੂੰ ਲੋਕਲ ਕਲੋਨ ਕਰੋ
3. ਆਪਣੇ ਬਦਲਾਵਾਂ ਲਈ ਨਵੀਂ ਸ਼ਾਖਾ ਬਣਾਓ
4. ਸਬਕ ਸਮੱਗਰੀ ਜਾਂ ਕੋਡ ਉਦਾਹਰਣਾਂ ਵਿੱਚ ਬਦਲਾਅ ਕਰੋ
5. ਸੰਬੰਧਤ ਪ੍ਰੋਜੈਕਟ ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ ਕੋਈ ਵੀ ਕੋਡ ਬਦਲਾਅ ਟੈਸਟ ਕਰੋ
6. ਯੋਗਦਾਨ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ਾਂ ਦੇ ਤਹਿਤ ਪੁਲ ਰਿਕਵੈਸਟ ਭੇਜੋ
1. ਆਪਣੀ GitHub ਖਾਤੇ ਵਿੱਚ ਰੀਪੋਜ਼ਟਰੀ ਨੂੰ ਫੋਰਕ ਕਰੋ
2. ਆਪਣ ਫੋਰਕ ਨੂੰ ਲੋਕਲ ਕਲੋਨ ਕਰੋ
3. ਆਪਣੇ ਬਦਲਾਅ ਲਈ ਨਵਾਂ ਬ੍ਰਾਂਚ ਬਣਾਓ
4. ਸਬਕ ਸਮੱਗਰੀ ਜਾਂ ਕੋਡ ਉਦਾਹਰਨਾਂ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਕਰੋ
5. ਸੰਬੰਧਤ ਪ੍ਰੋਜੈਕਟ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਕੋਈ ਵੀ ਕੋਡ ਤਬਦੀਲੀਆਂ ਟੈਸਟ ਕਰੋ
6. ਯੋਗਦਾਨ ਨਿਯਮਾਂ ਦੇ ਅਨੁਸਾਰ ਪੁਲ ਰਿਕਵੇਸਟ ਭੇਜੋ
### ਸਿਖਿਆਰਥੀਆਂ ਲਈ
### ਸਿਣ ਵਾਲਿਆਂ ਲਈ
1. ਰਿਪੋਜਿਟਰੀ ਨੂੰ ਫੋਰਕ ਜਾਂ ਕਲੋਨ ਕਰੋ
2. ਸਬਕ ਡਾਇਰੈਕਟਰੀਆਂ ਵਿੱਚ ਕ੍ਰਮਬੱਧ ਤੌਰ 'ਤੇ ਜਾਓ
3. ਹਰ ਸਬਕ ਲਈ README ਫਾਇਲਾਂ ਪੜ੍ਹੋ
4. ਪੂਰਵ-ਸਬਕ ਕਵਿਜ਼ https://ff-quizzes.netlify.app/web/ 'ਤੇ ਪੂਰੇ ਕਰੋ
5. ਸਬਕ ਫੋਲਡਰਾਂ ਵਿੱਚ ਕੋਡ ਉਦਾਹਰਣਾਂ 'ਤੇ ਕੰਮ ਕਰੋ
6. ਅਸਾਈਨਮੈਂਟ ਅਤੇ ਚੈਲੈਂਜ ਪੂਰੇ ਕਰੋ
7. ਪ੍ਰਤੀ ਸਬਕ ਕਵਿਜ਼ ਪੂਰੇ ਕਰ
1. ਰੀਪੋਜ਼ਟਰੀ ਨੂੰ ਫੋਰਕ ਜਾਂ ਕਲੋਨ ਕਰੋ
2. ਸਬਕ ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ ਕ੍ਰਮਵਾਰ ਜਾਓ
3. ਹਰ ਸਬਕ ਲਈ README ਫਾਇਲ ਪੜ੍ਹੋ
4. ਪਹਿਲਾਂ ਦੇ ਸਬਕਾਂ ਲਈ ਕਵਿਜ਼ https://ff-quizzes.netlify.app/web/ ਤੇ ਪੂਰੇ ਕਰੋ
5. ਸਬਕ ਫੋਲਡਰਾਂ ਵਿੱਚ ਦਿੱਤੇ ਕੋਡ ਉਦਾਹਰਨਾਂ ਵਿੱਚ ਕੰਮ ਕਰੋ
6. ਅਸਾਈਨਮੈਂਟਾਂ ਅਤੇ ਚੈਲੈਂਜਾਂ ਪੂਰੇ ਕਰੋ
7. ਸਬਕ ਬਾਅਦ ਦੇ ਕਵਿਜ਼ ਕਰ ਲਵ
### ਲਾਈਵ ਵਿਕਾਸ
### ਲਾਈਵ ਡਿਵੈਲਪਮੈਂਟ
- **ਡੌਕੂਮੈਂਟੇਸ਼ਨ**: ਰੂਟ ਵਿੱਚ `docsify serve` ਚਲਾਓ (ਪੋਰਟ 3000)
- **ਕਵਿਜ਼ ਐਪ**: `quiz-app` ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ `npm run dev` ਚਲਾਓ
- **ਪ੍ਰੋਜੈਕਟ**: HTML ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ VS ਕੋਡ ਲਾਈਵ ਸਰਵਰ ਐਕਸਟੇਂਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰੋ
- **API ਪ੍ਰੋਜੈਕਟ**: ਸੰਬੰਧਤ API ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ `npm start` ਚਲਾਓ
- **ਡੌਕਯੂਮੈਂਟੇਸ਼ਨ**: ਮੁੱਖ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ `docsify serve` ਦੌੜਾਓ (ਪੋਰਟ 3000)
- **ਕਵਿਜ਼ ਐਪ**: quiz-app ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ `npm run dev` ਚਲਾਓ
- **ਪ੍ਰੋਜੈਕਟ**: VS ਕੋਡ ਲਾਈਵ ਸਰਵਰ ਐਕਸਟੈਂਸ਼ਨ ਨਾਲ HTML ਪ੍ਰੋਜੈਕਟ ਚਲਾਓ
- **API ਪ੍ਰੋਜੈਕਟ**: ਸੰਬੰਧਤ API ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ `npm start` ਚਲਾਓ
## ਟੈਸਟਿੰਗ ਨਿਰਦੇਸ਼
## ਟੈਸਟਿੰਗ ਦੇ ਨਿਰਦੇਸ਼
### ਕਵਿਜ਼ ਐਪ ਟੈਸਟਿੰਗ
```bash
cd quiz-app
npm run lint # ਕੋਡ ਸਟਾਈਲ ਮੁੱਦਿਆਂ ਲਈ ਜਾਂਚ ਕਰੋ
npm run build # ਨਿਰਮਾਣ ਸਫਲਤਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ
npm run lint # ਕੋਡ ਸਟਾਈਲ ਮੁੱਦੇ ਚੈੱਕ ਕਰੋ
npm run build # ਬਣावट ਸਫਲ ਹੋਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ
```
### ਬੈਂਕ API ਟੈਸਟਿੰਗ
```bash
cd 7-bank-project/api
npm run lint # ਕੋਡ ਸਟਾਈਲ ਸਮੱਸਿਆਵਾਂ ਦੀ ਜਾਂਚ ਕਰੋ
node server.js # ਜਾਂਚੋ ਕਿ ਸਰਵਰ ਬਿਨਾਂ ਕਿਸੇ ਗਲਤੀ ਦੇ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ
npm run lint # ਕੋਡ ਸ਼ੈਲੀ ਸਮੱਸਿਆਵਾਂ ਲਈ ਜਾਂਚ ਕਰੋ
node server.js # ਯਕੀਨੀ ਬਣਾਉ ਕਿ ਸਰਵਰ ਬਿਨਾਂ ਗਲਤੀਆਂ ਦੇ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ
```
### ਆਮ ਟੈਸਟਿੰਗ ਪਹੁੰਚ
- ਇਹ ਸਿੱਖਿਆਤਮਕ ਰਿਪੋਜਿਟਰੀ ਹੈ ਜਿਸ ਵਿੱਚ ਵਿਸਤ੍ਰਿਤ ਆਟੋਮੇਟਿਕ ਟੈਸਟ ਨਹੀਂ ਹਨ
- ਮੈਨੂਅਲ ਟੈਸਟਿੰਗ ਉੱਪਰ ਧਿਆਨ:
- ਕੋਡ ਉਦਾਹਰਣਾਂ ਬਿਨਾਂ ਗਲਤੀਆਂ ਚੱਲਦੀਆਂ ਹਨ
- ਡੌਕੂਮੈਂਟੇਸ਼ਨ ਵਿਚ ਲਿੰਕ ਸਹੀ ਕੰਮ ਕਰਦੇ ਹਨ
- ਪ੍ਰੋਜੈਕਟ ਸਫਲਤਾਪੂਰਵਕ ਬਣਦੇ ਹਨ
- ਉਦਾਹਰਣਾਂ ਨੇ ਸਭ ਤੋਂ ਵਧੀਆ ਅਭਿਆਸ ਅਨੁਸਰਣ ਕਰਦੇ ਹ
- ਇਹ ਸਿੱਖਿਆਤਮਕ ਰੀਪੋਜ਼ਟਰੀ ਹੈ ਜਿਸ ਵਿੱਚ ਵਿਸਤ੍ਰਿਤ ਆਟੋਮੇਟਿਕ ਟੈਸਟ ਨਹੀਂ ਹਨ
- ਹੱਥੋਂ ਟੈਸਟਿੰਗ ਤੇ ਧਿਆਨ:
- ਕੋਡ ਉਦਾਹਰਨ ਬਿਨਾਂ ਗਲਤੀ ਦੇ ਚੱਲਣ
- ਡੌਕੂਮੈਂਟੇਸ਼ਨ ਵਿ ਦਿੱਤੇ ਲਿੰਕ ਸਹੀ ਕੰਮ ਕਰਦੇ ਹਨ
- ਪ੍ਰੋਜੈਕਟ ਬਿਲਡ ਸਫਲ ਰਹਿਣ
- ਉਦਾਹਰਨਾਂ ਵਧੀਆ ਅਮਲਾਂ ਦੀ ਪਾਲਣਾ ਕਰ
### ਪੇਸ਼ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਚੈੱਕ
### ਪੇਸ਼ਕੀ ਤੱਯਾਰੀ ਜਾਂਚ
- `package.json` ਵਾਲੀਆਂ ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ `npm run lint` ਚਲਾਓ
- ਮਾਰਕਡਾਊਨ ਲਿੰਕ ਸਹੀ ਹਨ ਜਾਂ ਨਹੀਂ ਇਹ ਪੜਤਾਲ
- ਕੋਡ ਉਦਾਹਰਣਾਂ ਨੂੰ ਬਰਾਊਜ਼ਰ ਜਾਂ Node.js ਵਿੱਚ ਟੈਸਟ ਕਰੋ
- ਤਰਜਮਿਆਂ ਦੀ ਸੰਰਚਨਾ ਸਹੀ ਰਹਿੰਦੀ ਹੈ ਜਾਂ ਨਹੀਂ ਦੇਖ
- ਉਹਨਾਂ ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ ਜਿੱਥੇ package.json ਹੈ, `npm run lint` ਚਲਾਓ
- ਮਾਰਕਡਾਊਨ ਲਿੰਕਾਂ ਦੀ ਜਾਂਚ ਕਰ
- ਕੋਡ ਉਦਾਹਰਨਾਂ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਜਾਂ Node.js ਵਿੱਚ ਟੈਸਟ ਕਰੋ
- ਅਨੁਵਾਦਾਂ ਦੀ ਸਹੀ ਬਣਤਰ ਨੂੰ ਜਾਂਚ
## ਕੋਡ ਅੰਦਾਜ਼ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼
## ਕੋਡ ਸ਼ੈਲੀ ਦੇ ਨਿਰਦੇਸ਼
### JavaScript
### ਜਾਵਾਸਕ੍ਰਿਪਟ
- ਆਧੁਨਿਕ ES6+ ਸੰਟੈਕਸ ਦੀ ਵਰਤੋਂ ਕਰੋ
- ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਦਿੱਤੇ ਗਏ ਮਨਮਾਫਿਕ ESLint ਵਿਵਸਥਾ ਨੂੰ ਫੋਲੋ ਕਰੋ
- ਸਿੱਖਿਆ ਲਈ ਅਰਥਪੂਰਨ ਵੈਰੀਏਬਲ ਅਤੇ ਫੰਕਸ਼ਨ ਨਾਮ ਵਰਤੋ
- ਸਿਖਣ ਵਾਲਿਆਂ ਲਈ ਸੰਕਲਪ ਸਮਝਾਉਂਦੇ ਟਿੱਪਣੀਆਂ ਸ਼ਾਮਿਲ ਕਰੋ
- ਜਿੱਥੇ Prettier ਲਾਗੂ ਹੈ, ਫਾਰਮੇਟਿੰਗ ਕਰੋ
- ਆਧੁਨਿਕ ES6+ ਵਾਕਯਾਂਸ਼ ਵਰਤੋਂ
- ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਦਿੱਤੇ standaard ESLint ਸੰਰਚਨਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ
- ਸਿੱਖਣ ਲਈ ਸਮਝਦਾਰ ਵੈਰੀਏਬਲ ਅਤੇ ਫੰਕਸ਼ਨ ਨਾਮ ਵਰਤੋ
- ਸਿੱਖਣ ਵਾਲਿਆਂ ਲਈ ਸਿਧਾਂਤ ਸਮਝਾਉਣ ਵਾਲੇ ਕਮੈਂਟ ਸ਼ਾਮਲ ਕਰੋ
- ਜਿੱਥੇ ਲੋੜ ਹੋਵੇ Prettier ਨਾਲ ਫਾਰਮੈਟ ਕਰੋ
### HTML/CSS
- ਸਮੇਂਟਿਕ HTML5 ਤੱਤ
- ਰਿਸਪਾਂਸਿਵ ਡਿਜ਼ਾਈਨ ਦੇ ਸਿਧਾਂਤ
- ਸਾਫ਼ ਕਲਾਸ ਨਾਮਕਰਨ ਕੰਵੇਂਸ਼ਨ
- CSS ਤਕਨੀਕਾਂ ਲਈ ਸਿੱਖਣ-ਯੋਗ ਟਿੱਪਣੀਆਂ
- ਸੈਂਟਮੈਟਿਕ HTML5 ਤੱਤਾਂ ਦੀ ਵਰਤੋਂ
- ਰਿਸਪਾਂਸਿਵ ਡਿਜ਼ਾਈਨ ਸਿਧਾਂਤਾਂ ਦੀ ਪਾਲਣਾ
- ਸਾਫ ਕਲਾਸ ਨਾਂਮਕਰਨ ਪ੍ਰਣਾਲੀ
- CSS ਤਕਨੀਕਾਂ ਨੂੰ ਸਮਝਾਉਂਦੇ ਕਮੈਂਟ
### Python
### ਪਾਇਥਨ
- PEP 8 ਅੰਦਾਜ਼ ਦੇ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼
- ਸਾਫ, ਸਿੱਖਣਯੋਗ ਕੋਡ ਉਦਾਹਰਣ
- ਸਿੱਖਣ ਵਿੱਚ ਸਹਾਇਤਾ ਲਈ ਟਾਈਪ ਹਿੰਟ
- PEP 8 ਸ਼ੈਲੀ ਨਿਰਦੇਸ਼
- ਸਪਸ਼ਟ ਅਤੇ ਸਿੱਖਿਆਤਮਕ ਕੋਡ ਉਦਾਹਰਨਾਂ
- ਸਿੱਖਣ ਵਿੱਚ ਮਦਦ ਲਈ ਟਾਈਪ ਹਿੰਟਸ
### ਮਾਰਕਡਾਊਨ ਡੌਕੂਮੈਂਟੇਸ਼ਨ
### ਮਾਰਕਡਾਊਨ ਡੌਕੂਮੈਂਟੇਸ਼ਨ
- ਸਪਸ਼ਟ ਸਿਰਲੇਖ ਦਰਜਾ
- ਭਾਸ਼ਾ ਵਿਸ਼ੇਸ਼ ਕੋਡ ਬਲਾਕ
- ਵਾਧੂ ਸਾਂਝੇ ਸਾਧਨਾਂ ਲਈ ਲਿੰਕ
- `images/` ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਸਕਰੀਨਸ਼ਾਟ ਅਤੇ ਚਿੱਤਰ
- ਪਹੁੰਚਯੋਗਤਾ ਲਈ ਤਸਵੀਰਾਂ ਲਈ Alt ਟੈਕਸਟ
- ਸਾਫ਼ ਸਿਰਲੇਖ ਅਨੁਕ੍ਰਮ
- ਭਾਸ਼ਾ ਗਿਆਤ ਕੋਡ ਬਲਾਕ
- ਵਾਧੂ ਸਰੋਤਾਂ ਲਈ ਲਿੰਕ
- `images/` ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ ਸਕਰੀਨਸ਼ਾਟ ਅਤੇ ਚਿੱਤਰ
- ਅਕਸੇਸੀਬਿਲਿਟੀ ਲਈ ਚਿੱਤਰਾਂ ਦਾ Alt ਟੈਕਸਟ
### ਫਾਇਲ ਅਕਠ
### ਫਾਇਲ ਸੰਗਠਨ
- ਸਬਕ ਲਗਾਤਾਰ ਨੰਬਰੀਕ੍ਰਿਤ (1-getting-started-lessons, 2-js-basics ਆਦਿ)
- ਹਰ ਪ੍ਰੋਜੈਕਟ ਕੋਲ `solution/` ਅਤੇ ਕਈ ਵਾਰੀ `start/` ਜਾਂ `your-work/` ਡਾਇਰੈਕਟਰੀਜ਼
- ਸਾਰੀਆਂ ਤਸਵੀਰਾਂ ਸਬਕ-ਵਿਸ਼ੇਸ਼ `images/` ਫੋਲਡਰਾਂ ਵਿੱਚ ਸਾਂਭੀਆਂ
- ਤਰਜਮੇ `translations/{language-code}/` ਢਾਂਚੇ ਵਿੱਚ
- ਸਬਕਾਂ ਨੂੰ ਲਗਾਤਾਰ ਨੰਬਰ (1-getting-started-lessons, 2-js-basics, ਆਦਿ)
- ਹਰ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ `solution/` ਅਤੇ ਆਮ ਤੌਰ 'ਤੇ `start/` ਜਾਂ `your-work/` ਡਾਇਰੈਕਟਰੀਜ਼
- ਚਿੱਤਰ ਸਬਕ-ਵਿਸ਼ੇਸ਼ `images/` ਫੋਲਡਰਾਂ ਵਿੱਚ ਸਟੋਰ
- ਅਨੁਵਾਦ `translations/{language-code}/` ਢਾਂਚੇ ਵਿੱਚ
## ਬਿਲਡ ਅਤੇ ਤਾਇਨਾਤ
## ਬਿਲਡ ਅਤੇ ਡਿਪਲੌਇਮੈਂਟ
### ਕਵਿਜ਼ ਐਪ ਤਾਇਨਾਤ (Azure Static Web Apps)
### ਕਵਿਜ਼ ਐਪ ਡਿਪਲੌਇਮੈਂਟ (Azure Static Web Apps)
ਕਵਿਜ਼ ਐਪ Azure Static Web Apps ਲਈ ਸੰਰਚਿਤ ਹੈ:
ਕਵਿਜ਼-ਐਪ ਲਈ Azure Static Web Apps ਡਿਪਲੌਇਮੈਂਟ ਸੰਰਚਤ ਹੈ:
```bash
cd quiz-app
npm run build # dist/ ਫੋਲਡਰ ਬਣਾਉਂਦਾ ਹੈ
# main 'ਤੇ ਪੁਸ਼ ਕਰਨ 'ਤੇ GitHub Actions ਵਰਕਫਲੋ ਰਾਹੀਂ ਡਿਪਲੋਅ ਕਰਦਾ ਹੈ
# ਮੁੱਖ 'ਤੇ ਪੁਸ਼ ਕਰਨ 'ਤੇ GitHub Actions ਵਰਕਫਲੋ ਰਾਹੀਂ ਡਿਪਲॉय ਕਰਦਾ ਹੈ
```
Azure Static Web Apps ਸੰਰਚਨਾ:
@ -193,90 +193,90 @@ Azure Static Web Apps ਸੰਰਚਨਾ:
- **ਆਉਟਪੁੱਟ ਸਥਾਨ**: `dist`
- **ਵਰਕਫਲੋ**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### ਡੌਕਯੂਮੈਂਟੇਸ਼ਨ PDF ਬਣਾਣਾ
### ਡੌਕਯੂਮੇਂਟੇਸ਼ਨ PDF ਬਣਾਉਣਾ
```bash
npm install # docsify-to-pdf ਇਸਟਾਲ ਕਰੋ
npm install # docsify-to-pdf ਇਸਟਾਲ ਕਰੋ
npm run convert # docs ਤੋਂ PDF ਬਣਾਓ
```
### ਡੌਕਸਿਫਾਈ ਡੌਕੂਮੈਂਟੇਸ਼ਨ
### Docsify ਡੌਕਯੂਮੈਂਟੇਸ਼ਨ
```bash
npm install -g docsify-cli # ਡੌਕਸਿਫਾਈ ਨੂੰ ਗਲੋਬਲੀ ਇੰਸਟਾਲ ਕਰੋ
docsify serve # localhost:3000 'ਤੇ ਸੇਵਾ ਦਿਓ
docsify serve # ਲੋਕਲਹੋਸਟ:3000 'ਤੇ ਸਰਵ ਕਰੋ
```
### ਪ੍ਰੋਜੈਕਟ-ਖਾਸ ਬਿਲਡ
### ਪ੍ਰੋਜੈਕਟ-ਵਿਸ਼ੇਸ਼ ਬਿਲਡ
ਹਰ ਪ੍ਰੋਜੈਕਟ ਡਾਇਰੈਕਟਰੀ ਦੀ ਆਪਣੀ ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਹੋ ਸਕਦੀ ਹੈ:
- Vue ਪ੍ਰੋਜੈਕਟ: `npm run build` ਸੰਗ੍ਰਹਿਤ ਪ੍ਰੋਡਕਸ਼ਨ ਬੰਡਲ ਬਣਾਉਂਦਾ ਹੈ
- ਸਟੈਟਿਕ ਪ੍ਰੋਜੈਕਟ: ਕੋਈ ਬਿਲਡ ਕਦਮ ਨਹੀਂ, ਫਾਇਲਾਂ ਸਿੱਧਾ ਸੇਵਾ ਕਰੋ
ਹਰ ਪ੍ਰੋਜੈਕਟ ਡਾਇਰੈਕਟਰੀ ਦਾ ਆਪਣਾ ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਹੋ ਸਕਦਾ ਹੈ:
- Vue ਪ੍ਰੋਜੈਕਟ: `npm run build` ਦੁਆਰਾ ਪ੍ਰੋਡਕਸ਼ਨ ਬਣਡਲ ਬਣਦਾ ਹੈ
- ਸਟੈਟਿਕ ਪ੍ਰੋਜੈਕਟ: ਕੋਈ ਬਿਲਡ ਕਦਮ ਨਹੀਂ, ਸਿੱਧੇ ਫਾਇਲ ਸਰਵ ਕਰੋ
## ਪੁਲ ਰਿਕਵੈਸਟ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼
## ਪੁਲ ਰਿਕਵੇਸਟ ਦੇ ਨਿਰਦੇਸ਼
### ਸਿਰਲੇਖ ਫਾਰਮੈਟ
ਾਫ਼, ਵਰਣਨਾਤਮਕ ਟਾਈਟਲ ਵਰਤੋਂ ਜੋ ਬਦਲਾਅ ਖੇਤਰ ਦਰਸਾਉਂਦੇ ਹਨ:
- `[Quiz-app] ਨਵਾਂ ਕਵਿਜ਼ ਸ਼ਾਮਲ ਕਰੋ ਸਬਕ X ਲਈ`
- `[Lesson-3] ਟੈਰੀਰੀਅਮ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਟਾਇਪੋ ਸਹੀ ਕਰੋ`
- `[Translation] ਸਬਕ 5 ਲਈ ਸਪੇਨੀ ਤਰਜਮਾ ਸ਼ਾਮਲ ਕਰੋ`
- `[Docs] ਸੈਟਅਪ ਨਿਰਦੇਸ਼ ਅਪਡੇਟ ਕਰੋ`
ੁਥਰੇ ਤੇ ਵੇਰਵੇ ਵਾਲੇ ਸਿਰਲੇਖ ਵਰਤੋ ਜੋ ਬਦਲਾਅ ਦੇ ਖੇਤਰ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ:
- `[Quiz-app] ਨਵਾਂ ਕਵਿਜ਼ ਸਬਕ X ਲਈ ਸ਼ਾਮਲ ਕਰੋ`
- `[Lesson-3] ਟੈਰੀਰੀਅਮ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਟਾਈਪੋ ਠੀਕ ਕਰੋ`
- `[Translation] ਸਬਕ 5 ਲਈ ਸਪੇਨਿਸ਼ ਅਨੁਵਾਦ ਸ਼ਾਮਲ ਕਰੋ`
- `[Docs] ਸੈਟਅਪ ਨਿਰਦੇਸ਼ ਅਪਡੇਟ ਕਰੋ`
### ਜ਼ਰੂਰੀ ਚੈੱਕ
### ਲੋੜੀਂਦੇ ਜਾਂਚ
PR ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ:
1. **ਕੋਡ ਦਰੁਸਤਗੀ**:
1. **ਕੋਡ ਗੁਣਵੱਤਾ**:
- ਪ੍ਰਭਾਵਿਤ ਪ੍ਰੋਜੈਕਟ ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ `npm run lint` ਚਲਾਓ
- ਸਾਰੀਆਂ ਲਿੰਟਿੰਗ ਗਲਤੀਆਂ ਅਤੇ ਚੇਤਾਵਨੀਆਂ ਸੁਧਾਰੋ
- ਸਾਰੇ ਲਿੰਟਿੰਗ ਗਲਤੀਆਂ ਅਤੇ ਚੇਤਾਵਨੀਆਂ ਠੀਕ ਕਰੋ
2. **ਬਿਲਡ ਜਾਂਚ**:
2. **ਬਿਲਡ ਪੁਸ਼ਟੀਕਰਨ**:
- ਜੇ ਲਾਗੂ ਹੋਵੇ ਤਾਂ `npm run build` ਚਲਾਓ
- ਕੋਈ ਬਿਲਡ ਗਲਤੀ ਨਾ ਹੋਵੇ ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ
- ਕੋਈ ਬਿਲਡ ਗਲਤੀ ਨਾ ਹੋਵੇ
3. **ਲਿੰਕ ਪ੍ਰਮਾਣਿਕਤਾ**:
3. **ਲਿੰਕ ਜਾਂਚ**:
- ਸਾਰੇ ਮਾਰਕਡਾਊਨ ਲਿੰਕ ਟੈਸਟ ਕਰੋ
- ਤਸਵੀਰਾਂ ਦੇ ਹਵਾਲੇ ਚੰਗੇ ਹਨ ਜਾਂ ਨਹੀਂ ਦੇਖ
- ਚਿੱਤਰਾਂ ਦੇ ਰਿਫਰੈਂਸਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰ
4. **ਸਮੱਗਰੀ ਸਮੀਖਿਆ**:
- ਸਪੈਲਿੰਗ ਅਤੇ ਗ੍ਰੈਮਰ ਲਈ ਪ੍ਰੂਫਰੀਡ ਕਰੋ
- ਕੋਡ ਉਦਾਹਰਣ ਸਹੀ ਅਤੇ ਸਿੱਖਣਯੋਗ ਹਨ
- ਤਰਜਮੇ ਮੂਲ ਅਰਥ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦੇ ਹਨ
- ਵਿਰਾਮ ਅਤੇ ਵਿਅਾਕਰਣ ਲਈ ਪ੍ਰੂਫਰੀਡ ਕਰੋ
- ਕੋਡ ਉਦਾਹਰਨਾਂ ਦੀ ਸ਼ੁੱਧਤਾ ਅਤੇ ਸਿੱਖਿਆਤਮਕਤਾ ਨਿਸ਼ਚਿਤ ਕਰੋ
- ਅਨੁਵਾਦਾਂ ਦੀ ਮੂਲ ਮਤਲਬ ਦੀ ਸਹੀ ਪਾਲਣਾ ਜਾਚੋ
### ਯੋਗਦਾਨ ਦੀਆਂ ਸ਼ਰਤਾਂ
### ਯੋਗਦਾਨ ਦੀਆਂ ਲੋੜਾਂ
- Microsoft CLA ਸਹਿਮਤੀ (ਪਹਿਲੀ PR 'ਤੇ ਆਟੋਮੈਟਿਕ ਜਾਂਚ)
- [Microsoft ਖੁੱਲ੍ਹਾ ਰੂਪ ਕੋਡ ਆਫ ਕੋਨਡਕਟ](https://opensource.microsoft.com/codeofconduct/) ਦਾ ਪਾਲਣ
- ਵਿਸਥਾਰ ਲਈ [CONTRIBUTING.md](./CONTRIBUTING.md) ਵੇਖੋ
- ਜੇ ਲਾਗੂ ਹੋਵੇ ਤਾਂ PR ਵਰਨਣ ਵਿੱਚ ਆਈਸ਼ੂ ਨੰਬਰ ਸ਼ਾਮਿਲ ਕਰੋ
- Microsoft CLA ਨਾਲ ਸਹਿਮਤੀ (ਪਹਿਲੇ PR ਤੇ ਆਟੋਮੇਟਿਕ ਚੈਕ)
- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) ਦੀ ਪਾਲਣਾ ਕਰੋ
- ਵਿਸਤ੍ਰਿਤ ਨਿਰਦੇਸ਼ਾਂ ਲਈ [CONTRIBUTING.md](./CONTRIBUTING.md) ਵੇਖੋ
- ਜੇ ਲਗੂ ਹੋਵੇ ਤਾਂ PR ਵਿਚ ਇਸ਼ੂ ਨੰਬਰ ਦਰਜ ਕਰੋ
### ਸਮੀਖਿਆ ਪ੍ਰਕਿਰਿਆ
- PRs ਨੂੰ ਵਿੱਚੋ ਲੋਕਾਂ ਅਤੇ ਕਮਿਊਨਿਟੀ ਵੱਲੋਂ ਜ<tag>ਾਂਚ ਕੀਤਾ ਜਾਂਦਾ ਹੈ</tag>
- ਸਿੱਖਿਆਤਮਕ ਸਪਸ਼ਟਤਾ ਨੂੰ ਪ੍ਰਾਥਮਿਕਤਾ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ
- ਕੋਡ ਉਦਾਹਰਣਾਂ ਦੌਰਾਨ ਵਧੀਆ ਅਸਲ ਸਿਧਾਂਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰਨੀਆਂ ਚਾਹੀਦੀਆਂ ਹ
- ਤਰਜਮੇ ਸਹੀ ਅਤੇ ਸੱਭਿਆਚਾਰਕ ਤੌਰ 'ਤੇ ਠੀਕ ਹਨ ਜਾਂ ਨਹੀਂ ਇਸ ਦੀ ਸਮੀਖਿਆ ਹੁੰਦੀ ਹੈ
- PR ਨੂੰ ਮੈਨਟੇਨਰ ਅਤੇ ਸਮੁਦਾਇ ਵੱਲੋਂ ਸਮੀਖਿਆ ਕੀਤਾ ਜਾਂਦਾ ਹੈ
- ਸਿੱਖਿਆਤਮਕ ਸਪਸ਼ਟਤਾ ਨੂੰ ਪ੍ਰਾਥਮਿਕਤਾ
- ਕੋਡ ਉਦਾਹਰਨ ਇਸ ਸਮੇਂ ਦੀਆਂ ਵਧੀਆਂ ਅਮਲਾਂ ਦੀ ਪਾਲਣਾ ਕਰ
- ਅਨੁਵਾਦਾਂ ਨੂੰ ਸਹੀ ਤੇ ਸੱਭਿਆਚਾਰਕ ਤੌਰ 'ਤੇ ਢੁਕਵੇਂ ਹੋਣ ਲਈ ਸਮੀਖਿਆ
## ਤਰਜਮਾਈ ਸਿਸਟਮ
## ਅਨੁਵਾਦ ਸਿਸਟਮ
### ਆਟੋਮੇਟਿਕ ਤਰਜਮਾ
### ਆਟੋਮੇਟਿਕ ਅਨੁਵਾਦ
- GitHub Actions ਨਾਲ co-op-translator ਵਰਕਫਲੋ ਵਰਤਦਾ ਹੈ
- 50+ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਖੁਦਕਾਰ ਤਰਜਮੇ ਕਰਦਾ ਹੈ
- ਮੁੱਖ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਸਰੋਤ ਫਾਇਲਾਂ
- ਤਰਜਮੇ ਫਾਇਲਾਂ `translations/{language-code}/` ਡਾਇਰੈਕਟਰੀਜ਼ ਵਿੱਚ
- ਗਿਟਹਬ ਐਕਸ਼ਨਾਂ ਤੇ co-op-translator ਵਰਕਫਲੋ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ
- 50+ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਆਟੋਮੈਟਿਕ ਅਨੁਵਾਦ ਕਰਦਾ ਹੈ
- ਮੂਲ ਫਾਇਲਾਂ ਮੁੱਖ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਹਨ
- ਅਨੁਵਾਦਿਤ ਫਾਇਲਾਂ `translations/{language-code}/` ਵਿੱਚ
### ਮੈਨੂਅਲ ਤਰਜਮਾ ਸੁਧਾਰ
### ਮੈਨੁਅਲ ਅਨੁਵਾਦ ਸੁਧਾਰ ਸ਼ਾਮਲ ਕਰਨਾ
1. `translations/{language-code}/` ਵਿੱਚ ਫਾਇਲ ਲੱਭੋ
2. ਬਿਨਾਂ ਢਾਂਚਾ ਤੋੜੇ ਸੁਧਾਰ ਕਰੋ
3. ਕੋਡ ਉਦਾਹਰਣ ਕਾਰਗਰ ਬਣੇ ਰਹਿਣ
4. ਕਿਸੇ ਵੀ ਸਥਾਨਕ ਕਵਿਜ਼ ਸਮੱਗਰੀ ਟੈਸਟ ਕਰੋ
2. ਬਣਤਰ ਨੁਕਸਾਨ ਨਾ ਪੁੱਜਾਉਂਦਿਆਂ ਸੁਧਾਰ ਕਰੋ
3. ਕੋਡ ਉਦਾਹਰਨ ਸਹੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਨ ਯੋਗ ਰੱਖੋ
4. ਸੀਮਤ ਕਵਿਜ਼ ਸਮੱਗਰੀ ਦੀ ਜਾਂਚ ਕਰੋ
### ਤਰਜਮਾਈ ਮੈਟਾਡੇਟਾ
### ਅਨੁਵਾਦ ਮੈਟਾਡੇਟਾ
ਰਜਮੇ ਫਾਇਲਾਂ ਵਿੱਚ ਮੈਟਾਡੇਟਾ ਹੈਡਰ ਸ਼ਾਮਿਲ ਹੈ:
ਅਨੁਵਾਦਿਤ ਫਾਇਲਾਂ ਵਿੱਚ ਮੈਟਾਡੇਟਾ ਹੈਡਰ ਸ਼ਾਮਿਲ ਹੁੰਦਾ ਹੈ:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,120 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## ਡੀਬੱਗਿੰਗ ਅਤੇ ਸਮੱਸਿਆ ਨਿਵਾਰ
## ਡੀਬੱਗਿੰਗ ਅਤੇ ਸਮੱਸਿਆ ਨਿਵਾਰ
### ਆਮ ਸਮੱਸਿਆਵਾਂ
**ਕਵਿਜ਼ ਐਪ ਸ਼ੁਰੂ ਨਹੀਂ ਹੁੰਦਾ**:
- Node.js ਦਾ ਸੰਸਕਰਣ (v14+ ਸਿਫਾਰਸ਼ੀ)
- `node_modules` ਅਤੇ `package-lock.json` ਹਟਾਓ ਅਤੇ `npm install` ਫੈਰ ਚਲਾਓ
- ਪੋਰਟ ਟਕਰਾਅ ਦੀ ਜਾਂਚ ਕਰੋ (ਮੂਲ: Vite ਪੋਰਟ 5173 ਵਰਤਦਾ ਹੈ)
**ਕਵਿਜ਼ ਐਪ ਸ਼ੁਰੂ ਨਹੀਂ ਹੁੰਦੀ**:
- Node.js ਦਾ ਵਰਜਨ (v14+ ਸੁਝਾਇਆ ਗਿਆ) ਜਾਂਚੋ
- `node_modules` ਅਤੇ `package-lock.json` ਨੂੰ ਹਟਾਓ, ਫੇਰ `npm install` ਚਲਾਓ
- ਪੋਰਟ ਟਕਰਾੜ ਦੀ ਜਾਂਚ ਕਰੋ (ਡਿਫਾਲਟ: Vite 5173 ਪੋਰਟ ਵਰਤਦਾ ਹੈ)
**API ਸਰਵਰ ਚਾਲੂ ਨਹੀਂ ਹੁੰਦਾ**:
- Node.js ਸੰਸਕਰਣ ਚੈੱਕ ਕਰੋ (node >=10)
- ਪੋਰਟ ਪਹਿਲਾਂ ਤੋਂ ਵਰਤੇ ਜਾ ਰਿਹਾ ਹੈ ਜਾਂ ਨਹੀਂ ਦੇਖੋ
- ਸਾਰੀਆਂ ਨਿਰਭਰਤਾਵਾਂ `npm install` ਨਾਲ ਵਧੀਆ ਤਰੀਕੇ ਨਾਲ ਇੰਸਟਾਲ ਹੋਣ
**API ਸਰਵਰ ਸ਼ੁਰੂ ਨਹੀਂ ਹੁੰਦਾ**:
- Node.js ਵਰਜਨ ਘੱਟੋ-ਘੱਟ node >=10 ਜਾਂਚੋ
- ਪੋਰਟ ਜੇ ਪਹਿਲਾਂ ਤੋਂ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ ਜਾਂ ਨਹੀਂ ਦੇਖੋ
- ਸਾਰੇ ਡੀਪੈਂਡੇੰਸੀਜ਼ `npm install` ਨਾਲ ਲਾਇਆ ਜਾਣ ਝਾਂਚ ਕਰੋ
**ਬਰਾਉਜ਼ਰ ਐਕਸਟੇਂਸ਼ਨ ਲੋਡ ਨਹੀਂ ਹੁੰਦੀ**:
- manifest.json ਦਾ ਢਾਂਚਾ ਠੀਕ ਹੈ ਜਾਂ ਨਹੀਂ ਦੇਖੋ
- ਬਰਾਉਜ਼ਰ ਕਨਸੋਲ ਵਿੱਚ ਗਲਤੀਆਂ ਚੈੱਕ ਕਰੋ
- ਬਰਾਉਜ਼ਰ ਖਾਸ ਐਕਸਟੇਂਸ਼ਨ ਇੰਸਟਾਲੇਸ਼ਨ ਦਿਸ਼ਾ-ਨਿਰਦੇਸ਼ ਮੰਨ
**ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਲੋਡ ਨਹੀਂ ਹੁੰਦੀ**:
- manifest.json ਸਹੀ ਫਾਰਮੈਟ ਵਿੱਚ ਹੈ ਜਾਂ ਨਹੀਂ ਵੇਖੋ
- ਬ੍ਰਾਊਜ਼ਰ ਕਨਸੋਲ ਵਿੱਚ ਗਲਤੀਆਂ ਦੀ ਜਾਂਚ ਕਰੋ
- ਬ੍ਰਾਊਜ਼ਰ ਦੀਆਂ ਨਿਰਦਿਸ਼ਟ ਐਕਸਟੈਂਸ਼ਨ ਇੰਸਟਾਲੇਸ਼ਨ ਹਦਾਇਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰ
**ਪਾਇਥਨ ਚੈਟ ਪ੍ਰੋਜੈਕਟ ਸਮੱਸਿਆਵਾਂ**:
- OpenAI ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰੋ: `pip install openai`
- GITHUB_TOKEN ਪਰਿਵੇਸ਼ ਵੈਰੀਏਬਲ ਸੈਟ ਹੈ ਜਾਂ ਨਹੀਂ ਜਾਂਚੋ
- GitHub ਮਾਡਲਾਂ ਦੀ ਐਕਸੈਸ ਪਰਮਿਸ਼ਨ ਵੇਖ
- OpenAI ਪੈਕੇਜ ਲਗਾਇਆ ਹੋਵੇ: `pip install openai`
- GITHUB_TOKEN ਵਾਤਾਵਰਣ ਵੈਰੀਏਬਲ ਸੈੱਟ ਹੋਵੇ
- GitHub ਮਾਡਲਾਂ ਦੀ ਪਹੁੰਚ ਅਧਿਕਾਰਾਂ ਦੀ ਜਾਂਚ ਕਰ
**ਡੌਕਸਿਫਾਈ ਡੌਕਸ ਸੇਵਾ ਨਹੀਂ ਕਰਦਾ**:
- ਗ੍ਰਹਿ ਵਿੱਚ docsify-cli ਇੰਸਟਾਲ ਕਰੋ: `npm install -g docsify-cli`
- ਰਿਪੋਜਿਟਰੀ ਰੂਟ ਡਾਇਰੈਕਟਰੀ ਤੋਂ ਚਲਾਓ
- `docs/_sidebar.md` ਮੌਜੂਦ ਹੈ ਜਾਂ ਨਹੀਂ ਵੇਖੋ
**Docsify ਡੌਕਸ ਸੇਵਾ ਨਹੀਂ ਕਰ ਰਹੇ**:
- docsify-cli ਗਲੋਬਲ ਤੌਰ 'ਤੇ ਇੰਸਟਾਲ ਕਰੋ: `npm install -g docsify-cli`
- ਰੀਪੋਜ਼ਟਰੀ ਰੂਟ ਡਾਇਰੈਕਟਰੀ ਤੋਂ ਚਲਾਓ
- ਜਾਂਚ ਕਰੋ ਕਿ `docs/_sidebar.md` ਮੌਜੂਦ ਹੈ
### ਵਿਕਾਸ ਮੁਹੌਲ ਸਲਾਹਾਂ
### ਵਿਕਾਸ ਵਾਤਾਵਰਣ ਸੁਝਾਅ
- HTML ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ VS ਕੋਡ ਲਾਈਵ ਸਰਵਰ ਐਕਸਟੇਂਸ਼ਨ ਵਰਤੋਂ
- ESLint ਅਤੇ Prettier ਐਕਸਟੇਂਸ਼ਨ ਇੰਸਟਾਲ ਕਰੋ ਵਧੀਆ ਫਾਰਮੇਟਿੰਗ ਲਈ
- ਜਾਵਾਸਕ੍ਰਿਪਟ ਡੀਬੱਗਿੰਗ ਲਈ ਬਰਾਊਜ਼ਰ ਡੈਵਟੂਲ ਵਰਤ
- Vue ਪ੍ਰੋਜੈਕਟ ਲਈ Vue DevTools ਬਰਾਊਜ਼ਰ ਐਕਸਟੇਂਸ਼ਨ ਇੰਸਟਾਲ ਕਰੋ
- HTML ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ VS ਕੋਡ ਵਿੱਚ Live Server ਐਕਸਟੈਂਸ਼ਨ ਵਰਤੋਂ
- ESLint ਅਤੇ Prettier ਐਕਸਟੈਂਸ਼ਨ ਇੰਸਟਾਲ ਕਰੋ
- ਜਾਵਾਸਕ੍ਰਿਪਟ ਡੀਬੱਗ ਲਈ ਬ੍ਰਾਊਜ਼ਰ DevTools ਉਪਯੋਗ ਕਰ
- Vue ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ Vue DevTools ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਲਗਾਓ
### ਕਾਰਗੁਜ਼ਾਰੀ ਦੇ ਵਿਚਾਰ
### ਪ੍ਰਦਰਸ਼ਨ ਸਬੰਧੀ ਵਿਚਾਰ
- ਬਹੁਤ ਸਾਰੇ ਤਰਜਮੇ ਫਾਇਲਾਂ (50+ ਭਾਸ਼ਾਵਾਂ) ਕਾਰਨ ਪੂਰਨ ਕਲੋਨ ਵੱਡਾ ਹੁੰਦਾ ਹੈ
- ਕੇਵਲ ਸਮੱਗਰੀ 'ਤੇ ਕੰਮ ਕਰਦੇ ਸਮੇਂ ਸ਼ੈਲੋ ਕਲੋਨ ਵਰਤੋਂ: `git clone --depth 1`
- ਅੰਗਰੇਜ਼ੀ ਸਮੱਗਰੀ ਲਈ ਖੋਜੋਂ ਵਿੱਚ ਤਰਜਮੇ ਬਾਹਰ ਰੱਖੋ
- ਪਹਿਲੀ ਵਾਰੀ npm install ਅਤੇ Vite ਬਿਲਡ ਵਿੱਚ ਪ੍ਰਕਿਰਿਆ ਹੌਲੀ ਹੋ ਸਕਦੀ ਹੈ
- 50+ ਭਾਸ਼ਾਵਾਂ ਦੇ ਅਨੁਵਾਦਾਂ ਨਾਲ ਫੁੱਲ ਕਲੋਨ ਵੱਡਾ ਹੋ ਜਾਂਦਾ ਹੈ
- ਕੇਵਲ ਸਮੱਗਰੀ 'ਤੇ ਕੰਮ ਕਰ ਰਹੇ ਹਾਂ ਤਾਂ ਸ਼ੈਲੋ ਕਲੋਨ ਕਰੋ: `git clone --depth 1`
- ਅੰਗਰੇਜ਼ੀ ਸਮੱਗਰੀ 'ਤੇ ਕੰਮ ਦੌਰਾਨ ਅਨੁਵਾਦਾਂ ਨੂੰ ਖੋਜੋਂ ਤੋਂ ਬਾਹਰ ਰੱਖੋ
- ਪਹਿਲੀ ਵਾਰੀ npm install ਅਤੇ Vite build ਦੇ ਸਮੇਂ ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਸੁਸਤ ਹੋ ਸਕਦੀ ਹੈ
## ਸੁਰੱਖਿਆ ਦੇ ਵਿਚਾਰ
## ਸੁਰੱਖਿਆ ਵਿਚਾਰ
### ਵਾਤਾਵਰ ਵੈਰੀਏਬਲ
### ਵਾਤਾਵਰ ਵੈਰੀਏਬਲ
- API ਕੰਡੀਡੇਟਾਂ ਨੂੰ ਕਦੇ ਵੀ ਰਿਪੋਜਿਟਰੀ ਵਿੱਚ ਨਹੀਂ ਧਕ
- `.env` ਫਾਇਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ (ਜੋ `.gitignore` ਵਿੱਚ ਹਨ ਪਹਿਲਾਂ ਤੋਂ)
- ਲੋੜੀਂਦੇ ਵਾਤਾਵਰਨ ਵੈਰੀਏਬਲ ਪ੍ਰੋਜੈਕਟ README ਵਿੱਚ ਦਰਜ ਕਰੋ
- API ਕੀਆਂ ਕਦੇ ਵੀ ਰੀਪੋਜ਼ਟਰੀ ਵਿੱਚ ਸੰਰਕਸ਼ਿਤ ਨਾ ਕਰ
- `.env` ਫਾਇਲਾਂ ਵਰਤੋਂ (ਜੋ ਪਹਿਲਾਂ ਹੀ `.gitignore` ਵਿੱਚ ਹਨ)
- ਪ੍ਰੋਜੈਕਟ READMEਜ਼ ਵਿੱਚ ਲੋੜੀਂਦੇ ਵਾਤਾਵਰਣ ਵੈਰੀਏਬਲ ਬਿਆਨ ਕਰੋ
### ਪਾਇਥਨ ਪ੍ਰੋਜੈਕਟ
- ਵਰਚੁਅਲ ਵਾਤਾਵਰਨ ਦੀ ਵਰਤੋਂ ਕਰੋ: `python -m venv venv`
- ਨਿਰਭਰਤਾਵਾਂ ਅਪਡੇਟ ਰੱਖੋ
- GitHub ਟੋਕਨ ਦੀ ਘੱਟੋ ਘੱਟ ਲੋੜ ਸੀਮਾ ਵਾਲੇ ਅਧਿਕਾਰ ਹੋਣ
- ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਵਰਤੋਂ: `python -m venv venv`
- ਡੀਪੈਂਡੇੰਸੀਜ਼ ਨੂੰ ਹਮੇਸ਼ਾ ਅਪਡੇਟ ਰੱਖੋ
- GitHub ਟੋਕਨ ਨੂੰ ਘੱਟੋ-ਘੱਟ ਲੋੜੀਂਦੇ ਅਧਿਕਾਰ ਦੇ ਨਾਲ ਰੱਖੋ
### GitHub ਮਾਡਲਾਂ ਪਹੁੰਚ
- GitHub ਮਾਡਲਾਂ ਲਈ ਨਿੱਜੀ ਐਕਸੈਸ ਟੋਕਨ (PAT) ਦੀ ਲੋੜ ਹੈ
- ਟੋਕਨ ਵਾਤਾਵਰਨ ਵੈਰੀਏਬਲਾਂ ਦੇ ਤੌਰ 'ਤੇ ਸੁਰੱਖਿਅਤ ਰੱਖੋ
- ਕਦੇ ਵੀ ਟੋਕਨ ਜਾਂ ਪ੍ਰਮਾਣਿਕਤਾ ਜਨਤਾ ਵਿੱਚ ਪ੍ਰਕਾਸ਼ਿਤ ਨਾ ਕਰੋ
- GitHub ਮਾਡਲਾਂ ਲਈ ਨਿੱਜੀ ਪਹੁੰਚ ਟੋਕਨ (PAT) ਜ਼ਰੂਰੀ ਹਨ
- ਟੋਕਨਾਂ ਨੂੰ ਵਾਤਾਵਰਣ ਵੈਰੀਏਬਲ ਵਜੋਂ ਰੱਖੋ
- ਕਦੇ ਵੀ ਟੋਕਨਾਂ ਜਾਂ ਪਾਸਵਰਡ ਕਮਿੱਟ ਨਾ ਕਰੋ
## ਵਾਧੂ ਨੋਟਸ
### ਲਕੜੀ ਦਰਸ਼ਕ
### ਲਕੜਾਂ ਦੀ ਟੀਮ
- ਵੈੱਬ ਵਿਕਾਸ ਵਿੱਚ ਪੂਰੀ ਤਰ੍ਹਾਂ ਨਵੇਂ
- ਪੂਰੇ ਸ਼ੁਰੂਆਤੀ ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ ਲਈ
- ਵਿਦਿਆਰਥੀ ਅਤੇ ਖੁਦ ਸਿੱਖਣ ਵਾਲੇ
- ਕਲਾਸਰੂਮ ਵਿਚ ਪਾਠਕ੍ਰਮ ਵਰਤ ਰਹੇ ਅਧਿਆਪਕ
- ਸਮੱਗਰੀ ਪਹੁੰਚਯੋਗਤਾ ਅਤੇ ਕਦਮੀਕ ਉਸਾਰੀ ਵਾਸਤੇ ਬਣਾਈ ਗਈ
- ਵਿਰੋਧੀ ਕਲਾਸਰੂਮ ਵਿੱਚ ਕੋਰਸ ਵਰਤਣ ਵਾਲੇ ਅਧਿਆਪਕ
- ਸਮੱਗਰੀ ਸਹੂਲਤਦਾਇਕ ਅਤੇ ਹੌਲੀ ਹੌਲੀ ਸਿਪਲਾਈ ਕਰਨ ਵਾਲੀ ਹੈ
### ਸਿੱਖਿਆਤਮਕ ਦਰਸ਼ਨ
- ਪ੍ਰੋਜੈਕਟ-ਆਧਾਰਿਤ ਸਿਖਲਾਈ ਅਭਿਗਮ
- ਬਾਰੰਬਾਰ ਗਿਆਨ ਦੀ ਜਾਂਚ (ਕਵਿਜ਼ਾਂ)
- ਹੱਥੋਂ-ਹੱਥ ਕੋਡਿੰਗ ਅਭਿਆਸ
- ਹਕੀਕਤੀ ਜਗਤ ਐਪਲੀਕੇਸ਼ਨ ਉਦਾਹਰਣ
- ਫਰੇਮਵਰਕ ਤੋਂ ਪਹਿਲਾਂ ਮੂਲ ਸਿਧਾਂਤਾਂ 'ਤੇ ਧਿਆਨ
- ਪ੍ਰੋਜੈਕਟ ਅਧਾਰਿਤ ਸਿੱਖਣਾ
- ਯਥਾਰਥ ਕਵਿਜ਼
- ਹੱਥੋਂ ਕੋਡਿੰਗ ਅਭਿਆਸ
- ਅਸਲੀ ਦੁਨੀਆ ਦੇ ਉਦਾਹਰਨ
- ਫਰੇਮਵਰਕ ਤੋਂ ਪਹਿਲਾਂ ਮੂਢਲੇ ਤੱਤਾਂ ਤੇ ਧਿਆਨ
### ਰਿਪੋਜਿਟਰੀ ਰਖੜਕ
### ਰੀਪੋਜ਼ਟਰੀ ਦੇ ਸੰਭਾਲ
- ਸਿੱਖਣ ਵਾਲਿਆਂ ਅਤੇ ਯੋਗਦਾਨਕਰਤਿਆਂ ਦੀ ਸਰਗਰਮ ਕਮਿਊਨਿਟੀ
- ਨਿਰਭਰਤਾਵਾਂ ਅਤੇ ਸਮੱਗਰੀ ਦੇ ਨਿਯਮਤ ਅਪਡੇਟ
- ਮੈਨੇਜਰਾਂ ਵੱਲੋਂ ਮੁੱਦੇ ਤੇ ਚਰਚਾ ਦੀ ਨਿਗਰਾਨੀ
- GitHub ਐਕਸ਼ਨਾਂ ਨਾਲ ਤਰਜਮਿਆਂ ਦੇ ਅਪਡੇਟ ਆਟੋਮੇਟਿਕ
- ਸਰਗਰਮ ਸਿੱਖਣ ਅਤੇ ਯੋਗਦਾਨ ਦੇਣ ਵਾਲਿਆਂ ਦੀ ਕਮਿਊਨਿਟੀ
- ਨਿਰੀਖਣਯੋਗ ਤਰੀਕੇ ਨਾਲ ਡੀਪੈਂਡੇਂਸੀਜ਼ ਅਤੇ ਸਮੱਗਰੀ ਨੂੰ ਅਪਡੇਟ ਕਰਨਾ
- ਮੈਨਟੇਨਰਾਂ ਵੱਲੋਂ ਮੁੱਦੇ ਤੇ ਵਿਚਾਰ-ਵਟਾਂਦਰਾ ਬਰਕਰਾਰ
- GitHub ਐਕਸ਼ਨਾਂ ਰਾਹੀਂ ਅਨੁਵਾਦ ਆਟੋਮੇਟਿਕ ਅਪਡੇਟ
### ਸਬੰਧਤ ਸਾਧਨ
### ਜੁੜੇ ਸਰੋਤ
- [Microsoft Learn ਮਾਡਿਊਲ](https://docs.microsoft.com/learn/)
- [ਸਿੱਖਿਆਰਥੀ ਹੱਬ ਸਾਧਨ](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) ਸਿੱਖਿਆਰਥੀਆਂ ਲਈ ਸਿਫਾਰਸ਼ੀ
- ਹੋਰ ਕੋਰਸ: ਜਨਰੇਟਿਵ AI, ਡੇਟਾ ਸਾਇੰਸ, ML, IoT ਪਾਠਕ੍ਰਮ ਉਪਲਬਧ
- [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 ਕੋਰਸ
### ਖਾਸ ਪ੍ਰੋਜੈਕਟਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ
### ਖਾਸ ਪ੍ਰੋਜੈਕਟਾਂ ਨਾਲ ਕੰਮ
ਵਿਅਕਤੀਗਤ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਵਿਸਥਾਰ ਨਿਰਦੇਸ਼ ਲਈ ਹਵਾਲਾ README ਫਾਇਲਾਂ ਨੂੰ ਦੇਖੋ:
ਵਿਸਤ੍ਰਿਤ ਹਦਾਇਤਾਂ ਲਈ ਹਰ ਪ੍ਰੋਜੈਕਟ ਦੀ README ਵਿੱਚ ਦੇਖੋ:
- `quiz-app/README.md` - Vue 3 ਕਵਿਜ਼ ਐਪਲੀਕੇਸ਼ਨ
- `7-bank-project/README.md` - ਪ੍ਰਮਾਣੀਕਰਨ ਨਾਲ ਬੈਂਕਿੰਗ ਐਪਲੀਕੇਸ਼ਨ
- `5-browser-extension/README.md` - ਬਰਾਊਜ਼ਰ ਐਕਸਟੇਂਸ਼ਨ ਵਿਕਾਸ
- `6-space-game/README.md` - ਕੈਨਵੱਸ-ਆਧਾਰਿਤ ਗੇਮ ਵਿਕਾਸ
- `5-browser-extension/README.md` - ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਵਿਕਾਸ
- `6-space-game/README.md` - ਕੈਂਵਾਸ-ਆਧਾਰਿਤ ਗੇਮ
- `9-chat-project/README.md` - AI ਚੈਟ ਸਹਾਇਕ ਪ੍ਰੋਜੈਕਟ
### ਮੋਨੋਰਿਪੋ ਢਾਂਚਾ
### ਮੋਨੋਰੀਪੋ ਸ਼ੈਲੀ
ਇਹ ਪ੍ਰੰਪਰਾ ਬਰਕਰਾਰ ਮੋਨੋਰਿਪੋ ਨਹੀਂ ਹੈ, ਪਰ ਇਹ ਵਿੱਚ ਕਈ ਸੁਤੰਤਰ ਪ੍ਰੋਜੈਕਟ ਹਨ:
- ਹਰ ਸਬਕ ਆਪਣਾ ਹੈ
- ਪ੍ਰੋਜੈਕਟ ਸਾਂਝੇ ਨਿਰਭਰਤਾ ਨਹੀਂ ਕਰਦੇ
- ਵੱਖ-ਵੱਖ ਪ੍ਰੋਜੈਕਟਾਂ 'ਤੇ ਕੰਮ ਕਰੋ ਬਿਨਾਂ ਇੱਕ ਦੂਜੇ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕੀਤਾ
- ਪੂਰੇ ਪਾਠਕ੍ਰਮ ਅਨੁਭਵ ਲਈ ਪੂਰੀ ਰਿਪੋ ਕਲੋਨ ਕਰੋ
ਇਹ ਰੀਪੋਜ਼ਟਰੀ ਇੱਕ ਪਰੰਪਰਾਗਤ ਮੋਨੋਰੀਪੋ ਨਹੀਂ, ਪਰ ਇਸ ਵਿੱਚ ਕਈ ਸੁਤੰਤਰ ਪ੍ਰੋਜੈਕਟ ਸ਼ਾਮਿਲ ਹਨ:
- ਹਰ ਸਬਕ ਆਪਣੇ ਆਪ ਵਿੱਚ ਖ਼ਤਮ
- ਪ੍ਰੋਜੈਕਟ_DEPENDENCY_ਸ਼ੇਅਰ ਨਹੀਂ ਕਰਦੇ
- ਇਕੱਲੇ ਪ੍ਰੋਜੈਕਟਾਂ 'ਤੇ ਕੰਮ ਕਰੋ ਬਿਨਾ ਹੋਰਾਂ 'ਤੇ ਅਸਰ ਪਾਇਏ
- ਪੂਰੇ ਕੋਰਸ-ਪਾਠ ਲਈ ਪੂਰੇ ਰੀਪੋਜ਼ਟਰੀ ਨੂੰ ਕਲੋਨ ਕਰੋ
---
<!-- 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,204 +10,213 @@
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# ਬਿਗਿਨਰਜ਼ ਲਈ ਵੈੱਬ ਵਿਕਾਸ - ਇੱਕ ਕਰਿਕੁਲਮ
# ਬਿਗਿਨਰਾਂ ਲਈ ਵੈੱਬ ਵਿਕਾਸ - ਇੱਕ ਕੋਰਸ
Microsoft Cloud Advocates ਵਲੋਂ ਸਾਡਾ 12 ਹਫ਼ਤੇ ਦਾ ਵਿਸ਼ਤ੍ਰਿਤ ਕੋਰਸ ਨਾਲ ਵੈੱਬ ਡਿਵੈਲਪਮੈਂਟ ਦੇ ਮੂਲ ਤੱਤ ਸਿੱਖੋ। 24 ਪਾਠਾਂ ਵਿੱਚੋਂ ਹਰ ਇੱਕ ਜਾਵਾਸਕ੍ਰਿਪਟ, CSS, ਅਤੇ HTML ਨੂੰ ਹੱਥ-ਵਾਲੇ ਪ੍ਰੋਜੈਕਟਸ ਜਿਵੇਂ ਕਿ ਟੈਰੇਰੀਅਮ, ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ, ਅਤੇ ਸਪੇਸ ਗੇਮਜ਼ ਦੇ ਜ਼ਰੀਏ ਗਹਿਰਾਈ ਨਾਲ ਸਮਝਾਉਂਦਾ ਹੈ। ਕਵਿਜ਼, ਚਰਚਾ ਅਤੇ ਕਾਰਗਰ ਅਸਾਈਨਮੈਂਟਸ ਨਾਲ ਗਤੀਸ਼ੀਲ ਰੁਜ਼ਗਾਰ ਕਰੋ। ਆਪਣੀਆਂ ਹੁਨਰਾਂ ਵਿੱਚ ਸੁਧਾਰ ਕਰੋ ਅਤੇ ਸਾਡੀ ਪ੍ਰਭਾਵਸ਼ালী ਪ੍ਰੋਜੈਕਟ-ਆਧਾਰਿਤ ਪੈਡਾਗੋਜੀ ਨਾਲ ਆਪਣੀ ਜਾਣਕਾਰੀ ਦਾ ਰੀਟੇਂਸ਼ਨ ਵਧਾਓ। ਆਪਣਾ ਕੋਡਿੰਗ ਜ਼ਿੰਦਗੀ ਅੱਜ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ!
ਮਾਇਕਰੋਸਾਫਟ ਕਲਾਊਡ ਅਡਵੋਕੇਟਸ ਦੀ 12 ਹਫ਼ਤਿਆਂ ਦੀ ਵਿਸਤ੍ਰਿਤ ਕੋਰਸ ਨਾਲ ਵੈੱਬ ਵਿਕਾਸ ਦੇ ਮੂਲ-bੁੱਤਾਂ ਸਿੱਖੋ। 24 ਪਾਠਾਂ ਵਿੱਚੋਂ ਹਰ ਇਕ ਜਾਵਾਸਕ੍ਰਿਪਟ, CSS ਅਤੇ HTML ਦਾ ਹੱਥੋਂ-ਹੱਥ ਪ੍ਰਾਜੈਕਟਾਂ ਜਿਵੇਂ ਟੇਰਾਰਿਯਮ, ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ ਅਤੇ ਅਕਾਸ਼ ਖੇਡਾਂ ਰਾਹੀਂ ਸਮਝਾਇਆ ਗਿਆ ਹੈ। ਕੁਇਜ਼, ਚਰਚਾ ਅਤੇ ਵਰਤਮਾਨ ਕਾਰਜਾਂ ਨਾਲ ਸ਼ਾਮਲ ਹੋਵੋ। ਆਪਣੀਆਂ ਕੌਸ਼ਲਾਂ ਨੂੰ ਸੁਧਾਰੋ ਅਤੇ ਸਾਡੀ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਪ੍ਰਾਜੈਕਟ-ਆਧਾਰਤ ਪਾਠ-ਕ੍ਰਮ ਵਿਧੀ ਨਾਲ ਆਪਣੀ ਜਾਣਕਾਰੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਓ। ਆਪਣੀ ਕੋਡਿੰਗ ਯਾਤਰਾ ਅੱਜ ਹੀ ਸ਼ੁਰੂ ਕਰੋ!
Azure AI Foundry Discord ਕਮਿਊਨਿਟੀ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵ
ਅਜ਼ੂਰ ਏਆਈ ਫਾਊਂਡਰੀ ਡਿਸਕੋਰਡ ਕਮਿਊਨਿਟੀ ਨਾਲ ਜੁੜ
[![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)
2. **ਪੋਜ਼ਟਰੀ ਕਲੋਨ ਕਰੋ**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Azure AI Foundry Discord ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਵੋ ਅਤੇ ਮਾਹਿਰਾਂ ਅਤੇ ਹੋਰ ਡਿਵੈਲਪਰਾਂ ਨਾਲ ਮਿਲੋ**](https://discord.com/invite/ByRwuEEgH4)
ਇਹ ਸਾਧਨ ਵਰਤਣਾ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਇਹਨਾਂ ਕਦਮਾਂ ਦਾ ਪਾਲਣ ਕਰੋ:
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)
### 🌐 ਬਹੁਭਾਸ਼ੀ ਸਹਾਇਤਾ
### 🌐 ਬਹੁ-ਭਾਸ਼ਾ ਸਮਰਥਨ
#### GitHub Action ਰਾਹੀਂ ਸਮਰਥਿਤ (ਆਟੋਮੈਟਿਕ ਅਤੇ ਹਮੇਸ਼ਾਂ ਅਪ-ਟੂ-ਡੇਟ)
#### 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)
> **ਕੀ ਤੁਸੀਂ ਲੋਕਲ ਤੌਰ 'ਤੇ ਕਲੋਨ ਕਰਨਾ ਪਸੰਦ ਕਰਦੇ ਹੋ?**
> ਇਸ ਰੀਪੋਜ਼ਟਰੀ ਵਿੱਚ 50+ ਭਾਸ਼ਾਈ ਅਨੁਵਾਦ ਸ਼ਾਮਿਲ ਹਨ ਜੋ ਡਾਊਨਲੋਡ ਆਕਾਰ ਨੂੰ ਕਾਫੀ ਵਧਾ ਦਿੰਦੇ ਹਨ। ਬਿਨਾ ਅਨੁਵਾਦ ਦੇ ਕਲੋਨ ਕਰਨ ਲਈ, sparse checkout ਵਰਤੋਂ ਕਰੋ:
> **ਕੀ ਤੁਸੀਂ ਲੋਕਲੀ ਕਲੋਨ ਕਰਨਾ ਪਸੰਦ ਕਰਦੇ ਹੋ?**
>
> ਇਸ ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ 50+ ਭਾਸ਼ਾ ਅਨੁਵਾਦ ਸ਼ਾਮਲ ਹਨ ਜੋ ਡਾਊਨਲੋਡ ਸਾਈਜ਼ ਨੂੰ ਬਹੁਤ ਵਧਾ ਦਿੰਦੇ ਹਨ। ਬਿਨਾਂ ਅਨੁਵਾਦਾਂ ਦੇ ਕਲੋਨ ਕਰਨ ਲਈ ਸਪਾਰਸ ਚੈੱਕਆਊਟ ਵਰਤੋ:
>
> **ਬਾਸ਼ / ਮੈਕਓਐਸ / ਲਿਨਕਸ:**
> ```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
> 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)
#### 🧑‍🎓 _ਕੀ ਤੁਸੀਂ ਵਿਦਿਆਰਥੀ ਹੋ?_
[**Student Hub ਪੇਜ਼**](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 Copilot Agent ਮੋਡ ਚੈਲੈਂਜ ਮੁਕੰਮਲ ਕਰਨ ਲਈ!
ਨਵਾਂ ਚੈਲੰਜ ਸ਼ਾਮਿਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਜ਼ਿਆਦਾਤਰ ਅਧਿਆਇਆਂ ਵਿੱਚ "GitHub Copilot Agent Challenge 🚀" ਲੱਭੋ। ਇਹ ਤੁਹਾਡੇ ਲਈ GitHub Copilot ਅਤੇ Agent ਮੋਡ ਵਰਤ ਕੇ ਪੂਰਾ ਕਰਨ ਲਈ ਨਵਾਂ ਚੈਲੰਜ ਹੈ। ਜੇ ਤੁਸੀਂ ਪਹਿਲਾਂ Agent ਮੋਡ ਨਹੀਂ ਵਰਤਿਆ ਤਾਂ ਇਹ ਸਿਰਫ ਟੈਕਸਟ ਤਿਆਰ ਕਰਨ ਵਾਲਾ ਹੀ ਨਹੀਂ, ਸਗੋਂ ਫਾਈਲਾਂ ਬਣਾਉਣ ਅਤੇ ਸੋਧਣ, ਕਮਾਂਡ ਰਨ ਕਰਨ ਅਤੇ ਹੋਰ ਵੀ ਕਰ ਸਕਦਾ ਹੈ।
ਨਵਾਂ ਚੈਲੈਂਜ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ, ਜ਼ਿਆਦਾਤਰ ਅਧਿਆਇਆਂ ਵਿੱਚ "GitHub Copilot Agent Challenge 🚀" ਖੋਜੋ। ਇਹ ਇੱਕ ਨਵਾਂ ਚੈਲੈਂਜ ਹੈ ਜੋ ਤੁਹਾਨੂੰ GitHub Copilot ਅਤੇ Agent ਮੋਡ ਵਰਤ ਕੇ ਮੁਕੰਮਲ ਕਰਨਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਪਹਿਲਾਂ Agent ਮੋਡ ਨਹੀਂ ਵਰਤੀ, ਇਹ ਕੇਵਲ ਟੈਕਸਟ ਤਿਆਰ ਨਹੀਂ ਕਰਦਾ ਪਰ ਫਾਇਲਾਂ ਬਣਾਉਣ, ਸੋਧਣ, ਕਮਾਂਡ ਚਲਾਉਣ ਅਤੇ ਹੋਰ ਵੀ ਕਰ ਸਕਦਾ ਹੈ।
### 📣 ਐਲਾਨ - _Generative AI ਵਰਤ ਕੇ ਨਵਾਂ ਪ੍ਰੋਜੈਕਟ ਬਣਾਓ_
### 📣 ਸੂਚਨਾ - _ਨਵਾਂ ਪ੍ਰਾਜੈਕਟ Generative AI ਦੀ ਵਰਤੋਂ ਨਾਲ ਬਣਾਉਣ ਲਈ_
ਨਵਾਂ AI Assistant ਪ੍ਰੋਜੈਕਟ ਅਬ ਸ਼ਾਮਿਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਾਓ ਅਤੇ ਦੇਖੋ [project](./9-chat-project/README.md)
ਨਵਾਂ AI ਸਹਾਇਕ ਪ੍ਰਾਜੈਕਟ ਹਾਲ ਹੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ, ਇਸ ਪ੍ਰਾਜੈਕਟ ਨੂੰ ਦੇਖੋ [project](./9-chat-project/README.md)
### 📣 ਐਲਾਨ - _JavaScript ਲਈ ਨਵਾਂ Generative AI ਕਰਿਕੁਲਮ ਜਾਰੀ ਹੋਇਆ ਹੈ_
### 📣 ਸੂਚਨਾ - _Generative AI ਲਈ ਨਵਾਂ ਕੋਰਸ_ ਜਾਵਾਸਕ੍ਰਿਪਟ ਲਈ ਹੁਣ ਜਾਰੀ
ਸਾਡਾ ਨਵਾਂ Generative AI ਕਰਿਕੁਲਮ ਨਾ ਗਵਾਓ!
ਸਾਡੇ ਨਵੇਂ Generative AI ਕੋਰਸ ਨੂੰ ਨਾ ਗਵਾਓ!
ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਜਾਓ [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)!
![Background](../../translated_images/pa/background.148a8d43afde5730.webp)
![ਪਿਛੋਕੜ](../../translated_images/pa/background.148a8d43afde5730.webp)
- ਬੇਸਿਕ ਤੋਂ ਲੈ ਕੇ RAG ਤੱਕ ਸਭ ਕੁਝ ਸਮੇਤ ਪਾਠ
- ਇਤਿਹਾਸਕ ਪਾਤਰਾਂ ਨਾਲ GenAI ਅਤੇ ਸਾਡੇ ਸਾਥੀ ਐਪ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਗੱਲਬਾਤ ਕਰੋ।
- ਮਜ਼ੇਦਾਰ ਅਤੇ ਮਨੋਹਰ ਕਥਾ, ਤੁਸੀਂ ਸਮਾਂ ਯਾਤਰਾ ਕਰ ਰਹੇ ਹੋਗੇ!
- ਬੁਨਿਆਦੀ ਤੋਂ ਲੈ ਕੇ RAG ਤੱਕ ਹਰ ਗੱਲ ਕਵਰ ਕੀਤੀ ਗਈ ਹੈ
- ਇਤਿਹਾਸਕ ਪਾਤਰਾਂ ਨਾਲ GenAI ਅਤੇ ਸਾਡੇ ਸਾਥੀ ਐਪ ਰਾਹੀਂ ਇੰਟਰੈਕਟ ਕਰੋ।
- ਮਜ਼ੇਦਾਰ ਅਤੇ ਰੁਚਿਕਰ ਕਥਾਵਾਂ, ਤੁਸੀਂ ਸਮੇਂ ਦੀ ਯਾਤਰਾ ਕਰੋਗੇ!
![character](../../translated_images/pa/character.5c0dd8e067ffd693.webp)
![ਪਾਤਰ](../../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" ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।
2. **ਪੋਜ਼ਟਰੀ ਕਲੋਨ ਕਰੋ**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
ਇਹਨਾਂ ਕਦਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ:
1. **ਿਪੋਜ਼ਟਰੀ ਫੋਰਕ ਕਰੋ**: ਇਸ ਸਫੇ ਦੇ ਸੱਜੇ-ਉੱਤਰ ਕੋਨੇ 'ਤੇ "Fork" ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।
2. **ਿਪੋਜ਼ਟਰੀ ਕਲੋਨ ਕਰੋ**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Codespace ਵਿੱਚ ਕਰਿਕੁਲਮ ਚਲਾਉਣਾ
#### 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), ਤੁਹਾਡੇ ਲਈ ਹਰ ਕਿਸਮ ਦੇ ਇਸ ਟੂਲ ਦੀਆਂ ਵਿਕਲਪ ਸਪੱਸਟ ਕੀਤਾ ਹੈ ਤਾਂ ਜੋ ਤੁਸੀਂ ਆਪਣੇ ਲਈ ਸਭ ਤੋਂ ਵਧੀਆ ਚੁਣ ਸਕੋ।
#### ਆਪਣੇ ਕੰਪਿਊਟਰ 'ਤੇ ਕੋਰਸ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਚਲਾਉਣਾ
ਸਾਡੀ ਸਿਫਾਰਸ਼ ਹੈ ਕਿ ਤੁਸੀਂ [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) ਵੀ ਹੈ। ਤੁਸੀਂ Visual Studio Code ਨੂੰ [ਇੱਥੇ](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ਤੋਂ ਡਾਊਨਲੋਡ ਕਰ ਸਕਦੇ ਹੋ
ਇਸ ਕੋਰਸ ਨੂੰ ਆਪਣੇ ਕੰਪਿਊਟਰ 'ਤੇ ਚਲਾਉਣ ਲਈ ਤੁਹਾਨੂੰ ਇੱਕ ਟੈਕਸਟ ਐਡੀਟਰ, ਬ੍ਰਾਉਜ਼ਰ ਅਤੇ ਕਮਾਂਡ ਲਾਈਨ ਟੂਲ ਦੀ ਲੋੜ ਪਵੇਗੀ। ਸਾਡੀ ਪਹਿਲੀ ਪਾਠ, [Introduction to Programming Languages and Tools of the Trade](../../1-getting-started-lessons/1-intro-to-programming-languages), ਤੁਹਾਨੂੰ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕਿਹੜਾ ਸਧਾਰਨ ਅਤੇ ਵਧੀਆ ਹੈ, ਚੁਣਨ ਵਿੱਚ ਮਦਦ ਕਰੇਗੀ।
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)।
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) ਖੋਲ੍ਹੋ ਅਤੇ ਹੇਠਾਂ ਦਿੱਤਾ ਕਮਾਂਡ ਚਲਾਓ, `<your-repository-url>` ਨੂੰ ਉਸ 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) ਖੋਲ੍ਹੋ ਅਤੇ ਹੇਠਾਂ ਦਿੱਤਾ ਕਮਾਂਡ ਚਲਾਓ, ਆਪਣੀ ਕਾਪੀ ਕੀਤੀ URL, `<your-repository-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) - ਤੁਹਾਡੇ ਕੋਡ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਲਿਖਣ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ
> * [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 ਫੋਲਡਰ ਵਿੱਚ ਹਨ, ਟੋਟਲ 48 ਕੁਇਜ਼ ਪ੍ਰਤੀ ਕਿੱਸੇ 3 ਸਵਾਲਾਂ ਨਾਲ। ਇਹ [ਇਥੇ](https://ff-quizzes.netlify.app/web/) ਉਪਲਬਧ ਹਨ। ਕੁਇਜ਼ ਐਪ ਨੂੰ ਲੋਕਲੀ ਚਲਾਇਆ ਜਾ ਸਕਦਾ ਹੈ ਜਾਂ Azure 'ਤੇ ਡਿਪਲੌਇ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ; `quiz-app` ਫੋਲਡਰ ਵਿੱਚ ਦਿੱਤੀਆਂ ਹਦਾਇਤਾਂ ਦਾ ਪਾਲਣ ਕਰੋ।
> **ਵਿਜ਼ ਬਾਰੇ ਇੱਕ ਨੋਟ**: ਸਾਰੇ ਕਵਿਜ਼, Quiz-app ਫੋਲਡਰ ਵਿੱਚ ਹਨ, ਜਿਸ ਵਿੱਚ ਹਰ ਇੱਕ ਵਿੱਚ 3 ਸਵਾਲਾਂ ਦੇ 48 ਕੁੱਲ ਕਵਿਜ਼ ਹਨ। ਉਹ ਉਪਲਬਧ ਹਨ [ਇੱਥੇ](https://ff-quizzes.netlify.app/web/)। ਕਵਿਜ਼ ਐਪ ਨੂੰ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਚਲਾਇਆ ਜਾਂ ਸਕਦਾ ਹੈ ਜਾਂ Azure ਤੇ ਤਾਇਨਾਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ; `quiz-app` ਫੋਲਡਰ ਵਿੱਚ ਦਿੱਤੇ ਹਿਦਾਇਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ।
## 🗃️ ਸਬਕ
## 🗃️ ਪਾਠ
| | ਪ੍ਰਜੈਕਟ ਦਾ ਨਾਮ | ਸਿੱਖਾਏ ਗਏ ਸਿਧਾਂਤ | ਸਿੱਖਣ ਦੇ ਲਕੜੇ | ਲਿੰਕ ਸਬਕ | ਲੇਖਕ |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | ਸ਼ੁਰੂਆਤ ਕਰਨਾ | ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਅਤੇ ਉਪਕਰਣਾਂ ਦਾ ਪਰਚਿਆ | ਜ਼ਿਆਦਾਤਰ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਭਾਸ਼ਾਵਾਂ ਦੇ ਮੂਲ ਸਿਧਾਂਤ ਅਤੇ ਸਾਫਟਵੇਅਰ ਬਾਰੇ ਸਿੱਖੋ ਜੋ ਪ੍ਰੋਫੈਸ਼ਨਲ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਕੰਮ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | ਜੈਸਮੀਨ |
| 02 | ਸ਼ੁਰੂਆਤ ਕਰਨਾ | GitHub ਦਾ ਮੂਲ, ਟੀਮ ਨਾਲ ਕੰਮ ਕਰਨ ਸਮੇਤ | ਆਪਣੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ GitHub ਨੂੰ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ, ਵੱਖ-ਵੱਖ ਲੋਕਾਂ ਨਾਲ ਕੋਡ ਬੇਸ ਤੇ ਸਹਿਯੋਗ ਕਿਵੇਂ ਕਰਨਾ ਹੈ | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | ਫਲੋਰ |
| 03 | ਸ਼ੁਰੂਆਤ ਕਰਨਾ | ਪਹੁੰਚਯੋਗਤਾ | ਵੈੱਬ ਪਹੁੰਚਯੋਗਤਾ ਦੀਆਂ ਬੁਨਿਆਦੀ ਜਾਣਕਾਰੀਆਂ ਸਿੱਖੋ | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | ਕ੍ਰਿਸਟੋਫਰ |
| 04 | JS ਬੁਨਿਆਦੀ | ਜਾਵਾਸਕ੍ਰਿਪਟ ਡਾਟਾ ਕਿਸਮਾਂ | ਜਾਵਾਸਕ੍ਰਿਪਟ ਡਾਟਾ ਕਿਸਮਾਂ ਦੀ ਬੁਨਿਆਦ | [Data Types](./2-js-basics/1-data-types/README.md) | ਜੈਸਮੀਨ |
| 05 | JS ਬੁਨਿਆਦੀ | ਫੰਕਸ਼ਨ ਅਤੇ ਮੈਥਡ | ਫੰਕਸ਼ਨਾਂ ਅਤੇ ਮੈਥਡਾਂ ਬਾਰੇ ਸਿੱਖੋ ਜਿਹੜੇ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਲਾਜਿਕ ਫ਼ਲੋ ਨੂੰ ਸੰਭਾਲਦੇ ਹਨ | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | ਜੈਸਮੀਨ ਅਤੇ ਕ੍ਰਿਸਟੋਫਰ |
| 06 | JS ਬੁਨਿਆਦੀ | JS ਨਾਲ ਫੈਸਲੇ ਲੈਣਾ | ਆਪਣੇ ਕੋਡ ਵਿੱਚ ਫੈਸਲੇ ਲੈਣ ਵਾਲੀਆਂ ਸ਼ਰਤਾਂ ਬਣਾਉਣਾ ਸਿੱਖੋ | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | ਜੈਸਮੀਨ |
| 07 | JS ਬੁਨਿਆਦੀ | ਐਰੇ ਅਤੇ ਲੂਪ | ਜਾਵਾਸਕ੍ਰਿਪਟ ਵਿੱਚ ਐਰੇ ਅਤੇ ਲੂਪ ਵਰਤ ਕੇ ਡਾਟਾ ਨਾਲ ਕੰਮ ਕਰਨਾ | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | ਜੈਸਮੀਨ |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML ਦਾ ਅਭਿਆਸ | ਇੱਕ ਔਨਲਾਈਨ ਟੇਰਾਰਿਯਮ ਬਣਾਉਣ ਲਈ HTML ਤਿਆਰ ਕਰੋ, ਖਾਸ ਕਰਕੇ ਲੇਆਊਟ ਬਣਾਉਣ 'ਤੇ ਧਿਆਨ | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | ਜਿਨ |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS ਦਾ ਅਭਿਆਸ | ਔਨਲਾਈਨ ਟੇਰਾਰਿਯਮ ਨੂੰ ਸਜਾਉਣ ਲਈ CSS ਬਣਾਉਣ 'ਤੇ ਧਿਆਨ ਦਿੰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਸੀਐਸਐਸ ਦੀਆਂ ਮੂਲ ਗੱਲਾਂ ਸ਼ਾਮਲ ਹਨ ਅਤੇ ਪੇਜ ਨੂੰ ਜਵਾਬਦੇਹ ਬਣਾਉਣਾ ਹੁੰਦਾ ਹੈ | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | ਜਿਨ |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | ਜਾਵਾਸਕ੍ਰਿਪਟ ਕਲੋਜ਼ਰ, ਡੋਮ ਮੈਨਿਪੂਲੇਸ਼ਨ | ਜਾਵਾਸਕ੍ਰਿਪਟ ਬਣਾਓ ਜੋ ਟੇਰਾਰਿਯਮ ਨੂੰ ਡ੍ਰੈਗ/ਡ੍ਰਾਪ ਇੰਟਰਫੇਸ ਵਾਂਗ ਕੰਮ ਕਰਵਾਏ, ਕਲੋਜ਼ਰ ਅਤੇ ਡੋਮ ਮੈਨਿਪੂਲੇਸ਼ਨ 'ਤੇ ਧਿਆਨ | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | ਜਿਨ |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | ਟਾਇਪਿੰਗ ਗੇਮ ਬਣਾਉਣਾ | ਆਪਣੇ ਜਾਵਾਸਕ੍ਰਿਪਟ ਐਪ ਦੀ ਲਾਜਿਕ ਚਲਾਉਣ ਲਈ ਕੀਬੋਰਡ ਇਵੈਂਟਸ ਨੂੰ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ ਸਿੱਖੋ | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | ਕ੍ਰਿਸਟੋਫਰ |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ਬ੍ਰਾਊਜ਼ਰ ਨਾਲ ਕੰਮ ਕਰਨਾ | ਬ੍ਰਾਊਜ਼ਰ ਕਿਸ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦੇ ਹਨ, ਉਨ੍ਹਾਂ ਦਾ ਇਤਿਹਾਸ ਅਤੇ ਇੱਕ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਨਸ਼ਨ ਦੇ ਪਹਿਲੇ ਢਾਂਚੇ ਨੂੰ ਬਣਾ ਰਹੇ ਹਨ ਸਿੱਖੋ | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | ਜਿਨ |
| 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) | ਜਿਨ |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | ਬ੍ਰਾਊਜ਼ਰ ਵਿਚ ਪਿਛੋਕੜ ਪ੍ਰਕਿਰਿਆਵਾਂ, ਵੈੱਬ ਪ੍ਰਦਰਸ਼ਨ | ਐਕਸਟੈਂਸ਼ਨ ਦੇ ਆਇਕਨ ਨੂੰ ਮੇਨੇਜ ਕਰਨ ਲਈ ਬ੍ਰਾਊਜ਼ਰ ਦੀ ਪਿਛੋਕੜ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ; ਵੈੱਬ ਪ੍ਰਦਰਸ਼ਨ ਬਾਰੇ ਸਿੱਖੋ ਅਤੇ ਕੁਝ ਸੁਧਾਰਾਂ ਬਾਰੇ ਜਾਣੋ | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | ਜਿਨ |
| 15 | [Space Game](./6-space-game/solution/README.md) | ਜਾਵਾਸਕ੍ਰਿਪਟ ਨਾਲ ਹੋਰ ਉੱਨਤ ਗੇਮ ਵਿਕਾਸ | ਕਲਾਸਾਂ ਅਤੇ ਸੰਯੋਜਨ ਦੋਨੋਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਨਹੈਰੀਟੈਂਸ ਅਤੇ ਪਬ/ਸੱਬ ਪੈਟਰਨ ਬਾਰੇ ਸਿੱਖੋ, ਇੱਕ ਗੇਮ ਬਣਾਉਣ ਲਈ ਤਿਆਰੀ म्हणून | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | ਕ੍ਰਿਸ |
| 16 | [Space Game](./6-space-game/solution/README.md) | ਕੈਨਵਸ ਤੇ ਡ੍ਰਾਇੰਗ | ਕੈਨਵਸ API ਬਾਰੇ ਸਿੱਖੋ ਜੋ ਸਕਰੀਨ 'ਤੇ ਤੱਤ ਖਿੱਚਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | ਕ੍ਰਿਸ |
| 17 | [Space Game](./6-space-game/solution/README.md) | ਸਕਰੀਨ 'ਤੇ ਤੱਤਾਂ ਨੂੰ ਹਿਲਾਉਣਾ | ਜਨਕਾਰੀ ਮਿਲਦੀ ਹੈ ਕਿ ਤੱਤ ਕਿਸ ਤਰ੍ਹਾਂ ਕਾਰਟੀਸ਼ੀਅਨ ਕੋਆਰਡੀਨੇਟ ਅਤੇ ਕੈਨਵਸ API ਦੀ ਵਰਤੋਂ ਨਾਲ ਗਤੀ ਕਰ ਸਕਦੇ ਹਨ | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | ਕ੍ਰਿਸ |
| 18 | [Space Game](./6-space-game/solution/README.md) | ਟਕਰਾਉ ਦੀ ਪਛਾਣ | ਤੱਤਾਂ ਨੂੰ ਟਕਰਾਉਂ ਅਤੇ ਕਕੀਪ੍ਰੈੱਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ-ਦੂਜੇ 'ਤੇ ਪ੍ਰਭਾਵਿਤ ਕਰਨ ਲਈ ਬਣਾਓ ਅਤੇ ਗੇਮ ਦੀ ਪ੍ਰਦਰਸ਼ਨ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕੁਲਡਾਊਨ ਫੰਕਸ਼ਨ ਦਿਉ | [Collision Detection](./6-space-game/4-collision-detection/README.md) | ਕ੍ਰਿਸ |
| 19 | [Space Game](./6-space-game/solution/README.md) | ਸਕੋਰ ਰੱਖਣਾ | ਗੇਮ ਦੀ ਸਥਿਤੀ ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਅਧਾਰਿਤ ਗਣਿਤੀ ਕਾਰਵਾਈ ਕਰਨਾ | [Keeping Score](./6-space-game/5-keeping-score/README.md) | ਕ੍ਰਿਸ |
| 20 | [Space Game](./6-space-game/solution/README.md) | ਗੇਮ ਖਤਮ ਕਰਨਾ ਅਤੇ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰਨਾ | ਗੇਮ ਖਤਮ ਕਰਨ ਅਤੇ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰਨ ਬਾਰੇ ਸਿੱਖੋ, ਸੰਪਤੀ ਨੂੰ ਸਾਫ਼ ਕਰਨ ਅਤੇ ਵੈਰੀਏਬਲ ਮੁੱਲਾਂ ਨੂੰ ਰੀਸੈੱਟ ਕਰਨ ਸਮੇਤ | [The Ending Condition](./6-space-game/6-end-condition/README.md) | ਕ੍ਰਿਸ |
| 21 | [Banking App](./7-bank-project/solution/README.md) | ਵੈੱਬ ਐਪ ਵਿੱਚ HTML ਟੈਂਪਲੇਟ ਅਤੇ ਰੂਟ | ਰੂਟਿੰਗ ਅਤੇ HTML ਟੈਂਪਲੇਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਬਹੁ-ਪੰਨੇ ਵਾਲੀ ਵੈੱਬਸਾਈਟ ਦੀ ਬਣਤਰ ਬਣਾਉਣਾ ਸਿੱਖੋ | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | ਯੋਹਾਨ |
| 22 | [Banking App](./7-bank-project/solution/README.md) | ਲਾਗਇਨ ਅਤੇ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਫਾਰਮ ਬਣਾਉਣਾ | ਫਾਰਮ ਬਣਾਉਣ ਅਤੇ ਵੈਧਤਾ ਰੂਟੀਨ ਨੂੰ ਸੰਭਾਲਣ ਬਾਰੇ ਸਿੱਖੋ | [Forms](./7-bank-project/2-forms/README.md) | ਯੋਹਾਨ |
| 23 | [Banking App](./7-bank-project/solution/README.md) | ਡਾਟਾ ਪ੍ਰਾਪਤੀ ਅਤੇ ਵਰਤੋਂ ਦੇ ਤਰੀਕੇ | ਤੁਹਾਡੇ ਐਪ ਵਿੱਚ ਡਾਟਾ ਕਿਵੇਂ ਆਉਂਦਾ ਅਤੇ ਜਾਂਦਾ ਹੈ, ਇਸਨੂੰ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕਰਨਾ, ਸਟੋਰ ਕਰਨਾ ਅਤੇ ਖ਼ਤਮ ਕਰਨਾ ਹੈ | [Data](./7-bank-project/3-data/README.md) | ਯੋਹਾਨ |
| 24 | [Banking App](./7-bank-project/solution/README.md) | ਸਟੇਟ ਪ੍ਰਬੰਧਨ ਦੇ ਸਿਧਾਂਤ | ਤੁਹਾਡਾ ਐਪ ਕਿਵੇਂ ਸਟੇਟ ਰੱਖਦਾ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਪ੍ਰੋਗਰਾਮਿੰਗ ਤੌਰ 'ਤੇ ਕਿਵੇਂ ਸੰਭਾਲਣਾ ਹੈ ਸਿੱਖੋ | [State Management](./7-bank-project/4-state-management/README.md) | ਯੋਹਾਨ |
| 25 | [Browser/VScode Code](../../8-code-editor) | VScode ਨਾਲ ਕੰਮ ਕਰਨਾ | ਕੋਡ ਐਡੀਟਰ ਵਰਤਣਾ ਸਿੱਖੋ| [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | ਕ੍ਰਿਸ |
| 26 | [AI Assistants](./9-chat-project/README.md) | AI ਨਾਲ ਕੰਮ ਕਰਨਾ | ਆਪਣਾ ਖੁਦ ਦਾ AI ਮਦਦਗਾਰ ਬਣਾਉਣਾ ਸਿੱਖੋ | [AI Assistant project](./9-chat-project/README.md) | ਕ੍ਰਿਸ |
| | ਪ੍ਰਜੈਕਟ ਦਾ ਨਾਮ | ਸਿੱਖਾਏ ਗਏ ਸੰਕਲਪ | ਸਿੱਖਣ ਦੇ ਉਦੇਸ਼ | ਲਿੰਕ ਕੀਤਾ ਪਾਠ | ਲੇਖਕ |
| :-: | :---------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 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) | ਕ੍ਰਿਸ |
## 🏫 ਪੈਡਾਗੋਗ
## 🏫 ਸਿੱਖਣ ਦੀ ਵਿਧ
ਸਾਡਾ ਪਾਠਕ੍ਰਮ ਦੋ ਮੁੱਖ ਪੈਡਾਗੋਗੀਕਲ ਸਿਧਾਂਤਾਂ ਤੇ ਆਧਾਰਿਤ ਹੈ:
* ਪ੍ਰੋਜੈਕਟ-ਅਧਾਰਿਤ ਸਿੱਖਿਆ
* ਬਾਰੰਬਾਰ ਕੁਇਜ਼
ਸਾਡਾ ਕਰਿਕੁਲਮ ਦੋ ਪ੍ਰਮੁੱਖ ਸਿੱਖਣ-ਸੰਬੰਧੀ ਸਿਧਾਂਤਾਂ ਦੇ ਨਾਲ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ:
* ਪ੍ਰਾਜੈਕਟ-ਅਧਾਰਿਤ ਸਿੱਖਣ
* ਬਾਰੰਬਾਰ ਕਵਿਜ਼
ਇਹ ਪ੍ਰੋਗਰਾਮ ਜਾਵਾਸਕ੍ਰਿਪਟ, HTML ਅਤੇ CSS ਦੇ ਬੁਨਿਆਦੀ ਸਿਧਾਂਤ ਸਿਖਾਉਂਦਾ ਹੈ, ਨਾਲ ਹੀ ਅੱਜ ਦੇ ਵੈੱਬ ਵਿਕਾਸਕਾਰਾਂ ਵੱਲੋਂ ਵਰਤੇ ਜਾਂਦੇ ਨਵੇਂ ਉਪਕਰਣ ਅਤੇ ਤਕਨੀਕਾਂ। ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਹੱਥਾਂ-ਹੱਥ ਤਜ਼ਰਬਾ ਪ੍ਰਾਪਤ ਕਰਨ ਦਾ ਮੌਕਾ ਮਿਲੇਗਾ ਜਿਵੇਂ ਕਿ ਟਾਈਪਿੰਗ ਗੇਮ, ਵਰਚੂਅਲ ਟੇਰਾਰਿਯਮ, ਪਰਿਆਵਰਣ-ਦੋਸਤ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ, ਸਪੇਸ-ਇਨਵੇਡਰ-ਸਟਾਈਲ ਗੇਮ ਅਤੇ ਕਾਰੋਬਾਰ ਲਈ ਬੈਂਕਿੰਗ ਐਪ ਬਣਾਉਣਾ। ਲੜੀ ਦੇ ਅੰਤ ਤੱਕ, ਵਿਦਿਆਰਥੀਆਂ ਕੋਲ ਵੈੱਬ ਵਿਕਾਸ ਦੀ ਪਕੜ ਹੋ ਜਾਵੇਗੀ
ਇਹ ਪ੍ਰੋਗਰਾਮ ਜਾਵਾਸਕ੍ਰਿਪਟ, HTML ਅਤੇ CSS ਦੇ ਮੂਲ ਭਾਗ ਸਿੱਖਾਉਂਦਾ ਹੈ, ਨਾਲ ਹੀ ਅੱਜ ਦੇ ਵੈੱਬ ਡਿਵੈਲਪਰਾਂ ਵੱਲੋਂ ਵਰਤੇ ਜਾਂਦੇ ਸਾਬਕਾ ਸੰਦ ਤੇ ਤਕਨੀਕਾਂ। ਵਿਦਿਆਰਥੀਆਂ ਨੂੰ ਟਾਈਪਿੰਗ ਖੇਡ, ਵਰਚੁਅਲ ਟੈਰਾਰਿਯਮ, ਇੰਨੀ-ਮਿਤ੍ਰ ਬ੍ਰਾਊਜ਼ਰ ਐਕਸਟੈਂਸ਼ਨ, ਸਪੇਸ-ਇਨਵੇਡਰ-ਸ਼ੈਲੀ ਖੇਡ ਅਤੇ ਕਾਰੋਬਾਰ ਲਈ ਬੈਂਕਿੰਗ ਐਪ ਬਣਾਉਣ ਦੇ ਜ਼ਰੀਏ ਹੱਥ-ਅਨੁਭਵ ਦੇਣ ਦਾ ਮੌਕਾ ਮਿਲੇਗਾ। ਸੀਰੀਜ਼ ਦੇ ਅੰਤ ਤੱਕ, ਵਿਦਿਆਰਥੀ ਵੈੱਬ ਵਿਕਾਸ ਦਾ ਇੱਕ ਮਜ਼ਬੂਤ ਸਮਝ ਪ੍ਰਾਪਤ ਕਰ ਲੈਣਗੇ
> 🎓 ਤੁਸੀਂ ਇਸ ਪਾਠਕ੍ਰਮ ਦੇ ਪਹਿਲੇ ਕੁਝ ਸਬਕਾਂ ਨੂੰ ਮਾਈਕ੍ਰੋਸਾਫਟ ਲਰਨ ਉੱਤੇ [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) ਵਜੋਂ ਕਰ ਸਕਦੇ ਹੋ!
> 🎓 ਤੁਸੀਂ ਇਸ ਕਰਿਕੁਲਮ ਵਿੱਚ ਪਹਿਲੇ ਕੁਝ ਪਾਠ 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) ਵਜੋਂ ਲੈ ਸਕਦੇ ਹੋ!
ਜਦੋਂ ਸਮੱਗਰੀ ਪ੍ਰੋਜੈਕਟਾਂ ਨਾਲ ਮੇਲ ਖਾਂਦੀ ਹੈ ਤਾਂ ਵਿਦਿਆਰਥੀਆਂ ਲਈ ਸਿਖਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਰੁਚਿਕਰ ਹੋ ਜਾਂਦੀ ਹੈ ਅਤੇ ਸਿਧਾਂਤਾਂ ਦੀ ਪਕੜ ਵਧਦੀ ਹੈ। ਅਸੀਂ ਕੁਝ ਸ਼ੁਰੂਆਤੀ ਸਬਕ ਜਾਵਾਸਕ੍ਰਿਪਟ ਬੁਨਿਆਦੀ ਵਿੱਚ ਲਿਖੇ ਹਨ ਜਿਹਨਾਂ ਨਾਲ "[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](CODE_OF_CONDUCT.md) ਅਤੇ [Contributing](CONTRIBUTING.md) ਹਦਾਇਤਾਂ ਦਾ ਪਠਨ ਕਰੋ। ਅਸੀਂ ਤੁਹਾਡੇ ਸੰਰਚਨਾਤਮਕ ਪ੍ਰਤੀਕਰਮ ਦੀ ਸਵਾਗਤ ਕਰਦੇ ਹਾਂ!
> ਸਾਡੇ [ਸੰਚਾਲਨ ਕੋਡ](CODE_OF_CONDUCT.md) ਅਤੇ [ਯੋਗਦਾਨ ਦੇਣ ਵਾਲੇ](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
@ -249,23 +258,23 @@ Azure AI Foundry Discord ਕਮਿਊਨਿਟੀ ਵਿੱਚ ਸ਼ਾਮਲ
[![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) ਫਾਇਲ ਵੇਖੋ।
ਇਹ ਰਿਪੋਜ਼ਿਟਰੀ MIT ਲਾਇਸੈਂਸ ਅਧੀਨ ਹੈ। ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ [LICENSE](../../LICENSE) ਫਾਈਲ ਵੇਖੋ।
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ਅਸਵੀਕਾਰਿਆ ਗਿਆ**:
ਇਹ ਦਸਤਾਵੇਜ਼ ਏਆਈ ਅਨੁਵਾਦ ਸੇਵਾ [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 -->

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "d45ddcc54eb9232a76d08328b09d792e",
"translation_date": "2025-11-04T00:01:01+00:00",
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T12:41:10+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "pt-BR"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T16:59:18+00:00",
"translation_date": "2026-03-06T12:44:44+00:00",
"source_file": "AGENTS.md",
"language_code": "pt-BR"
},
@ -516,8 +516,8 @@
"language_code": "pt-BR"
},
"README.md": {
"original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
"translation_date": "2026-02-06T16:54:39+00:00",
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T12:37:46+00:00",
"source_file": "README.md",
"language_code": "pt-BR"
},

@ -2,27 +2,27 @@
## Visão Geral do Projeto
Este é um repositório curricular educacional para ensinar os fundamentos do desenvolvimento web para iniciantes. O currículo é um curso abrangente de 12 semanas desenvolvido pelos Microsoft Cloud Advocates, com 24 aulas práticas cobrindo JavaScript, CSS e HTML.
Este é um repositório de currículo 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, Typing Game, Extensão de Navegador, Space Game, Aplicativo Bancário, Editor de Código e Assistente de Chat com IA
- **Quizzes Interativos**: 48 quizzes com 3 perguntas cada (avaliações pré/pós-aula)
- **Suporte Multilíngue**: Traduções automáticas para 50+ idiomas via GitHub Actions
- **Tecnologias**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para projetos de IA)
- **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, Aplicativo Bancário, Editor de Código e Assistente de Chat com 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 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 de aula)
- Sistema de tradução usando GitHub Actions (co-op-translator)
- Documentação servida via Docsify e disponível em PDF
- Repositório educacional 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ção)
- 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 é destinado principalmente para consumo de conteúdo educacional. Para trabalhar com projetos específicos:
Este repositório é destinado principalmente ao consumo de conteúdo educacional. Para trabalhar com projetos específicos:
### Configuração Principal do Repositório
@ -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
```
@ -59,7 +59,7 @@ npm install
# Siga as instruções específicas do navegador para carregar extensões
```
### Projetos de Space Game
### Projetos de Jogo Espacial
```bash
cd 6-space-game/solution
@ -67,7 +67,7 @@ npm install
# Abra index.html no navegador ou use o Live Server
```
### Projeto de Chat (Backend Python)
### Projeto de Chat (Backend em Python)
```bash
cd 9-chat-project/solution/backend/python
@ -78,31 +78,31 @@ python api.py
## Fluxo de Desenvolvimento
### Para Colaboradores de Conteúdo
### Para Contribuidores de Conteúdo
1. **Faça um fork** do repositório para sua conta no GitHub
2. **Clone seu fork** localmente
3. **Crie uma nova branch** para suas alterações
4. Faça mudanças no conteúdo das aulas ou exemplos de código
5. Teste qualquer alteração de código nos diretórios dos projetos relevantes
6. Envie pull requests seguindo as diretrizes de contribuição
1. **Faça um fork do repositório** para sua conta do GitHub
2. **Clone seu fork** localmente
3. **Crie uma nova branch** para suas alterações
4. Faça mudanças no conteúdo das lições ou exemplos de código
5. Teste quaisquer alterações de código nos diretórios dos projetos relevantes
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 pelas pastas das aulas
3. Leia os arquivos README de cada aula
4. Complete os quizzes pré-aula em https://ff-quizzes.netlify.app/web/
5. Trabalhe nos exemplos de código nas pastas das aulas
6. Complete tarefas e desafios
7. Realize os quizzes pós-aula
1. Faça fork ou clone o repositório
2. Navegue pelas pastas das lições sequencialmente
3. Leia os arquivos 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 Ao Vivo
### Desenvolvimento ao Vivo
- **Documentação**: Execute `docsify serve` na raiz (porta 3000)
- **Quiz App**: Execute `npm run dev` no diretório quiz-app
- **Projetos**: Use a extensão Live Server do VS Code para projetos HTML
- **Projetos API**: Execute `npm start` nos diretórios das APIs respectivas
- **Documentação**: Execute `docsify serve` na raiz (porta 3000)
- **Quiz App**: Execute `npm run dev` no diretório quiz-app
- **Projetos**: Use a extensão Live Server do VS Code para projetos HTML
- **Projetos de API**: Execute `npm start` nos respectivos diretórios de API
## Instruções de Teste
@ -110,71 +110,71 @@ python api.py
```bash
cd quiz-app
npm run lint # Verificar problemas de estilo de código
npm run build # Verificar se a compilação foi bem-sucedida
npm run lint # Verifique problemas no estilo do código
npm run build # Verifique se a compilação foi bem-sucedida
```
### Teste da API Bancária
```bash
cd 7-bank-project/api
npm run lint # Verificar problemas no estilo do código
node server.js # Verificar se o servidor inicia sem erros
npm run lint # Verifique problemas de estilo de código
node server.js # Verifique se o servidor inicia sem erros
```
### Abordagem Geral de Testes
- Este é um repositório educacional sem testes automatizados abrangentes
- Testes manuais focam em:
- Exemplos de código executando sem erros
- Links na documentação funcionando corretamente
- Builds dos projetos completando com sucesso
- Exemplos seguindo boas práticas
- Este é um repositório educacional sem testes automatizados abrangentes
- Os 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 boas práticas
### Verificações Pré-envio
### Verificações Antes de Enviar
- Execute `npm run lint` nos diretórios com package.json
- Verifique se os links markdown são válidos
- Teste exemplos de código no navegador ou Node.js
- Confira se as traduções mantêm a estrutura adequada
- Execute `npm run lint` em diretórios com package.json
- Verifique se os links markdown são válidos
- Teste exemplos de código no navegador ou Node.js
- Confira se as traduções mantêm estrutura adequada
## Diretrizes de Estilo de Código
### JavaScript
- Use sintaxe moderna ES6+
- Siga as configurações padrão do ESLint fornecidas nos projetos
- Use nomes significativos para variáveis e funções para clareza educacional
- Adicione comentários explicando conceitos para os aprendizes
- Formate usando Prettier onde configurado
- 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 estudantes
- 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 de CSS para os aprendizes
- Elementos semânticos HTML5
- Princípios de design responsivo
- Convenções claras para nomes de classes
- Comentários explicando técnicas CSS para os estudantes
### Python
- Diretrizes de estilo PEP 8
- Exemplos claros e educacionais de código
- Dicas de tipo onde forem úteis para o aprendizado
- Diretrizes de estilo PEP 8
- Exemplos de código claros e educativos
- Anotações de tipo onde forem úteis para aprendizagem
### Documentação Markdown
- Hierarquia clara de títulos
- 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
- Hierarquia clara de títulos
- Blocos de código com especificação de linguagem
- Links para recursos adicionais
- Capturas de tela e imagens em diretórios `images/`
- Texto alternativo para imagens para acessibilidade
### 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 da aula
- Traduções em estrutura `translations/{language-code}/`
- Lições 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 das lições
- Traduções na estrutura `translations/{language-code}/`
## Build e Implantação
@ -185,13 +185,13 @@ O quiz-app está configurado para implantação no Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Cria a pasta dist/
# Faz o deploy via workflow do GitHub Actions ao fazer push na branch main
# Faz o deploy via workflow do GitHub Actions em push para main
```
Configuração do Azure Static Web Apps:
- **Localização do app**: `/quiz-app`
- **Localização do output**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
Configuração do Azure Static Web Apps:
- **Localização do app**: `/quiz-app`
- **Localização de output**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Geração de PDF da Documentação
@ -207,76 +207,76 @@ npm install -g docsify-cli # Instalar Docsify globalmente
docsify serve # Servir em localhost:3000
```
### Builds Específicos de Projeto
### Builds Específicos de Projetos
Cada diretório de projeto pode ter seu próprio processo de build:
- Projetos Vue: `npm run build` cria pacotes de produção
- Projetos estáticos: Sem etapa de build, servir arquivos diretamente
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: Nenhuma etapa de build, sirva arquivos diretamente
## Diretrizes para Pull Requests
### Formato do Título
Use títulos claros e descritivos indicando a área da mudança:
- `[Quiz-app] Adiciona novo quiz para aula X`
- `[Lesson-3] Corrige erro de digitação no projeto terrarium`
- `[Translation] Adiciona tradução para espanhol na aula 5`
- `[Docs] Atualiza instruções de configuração`
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 de digitação no projeto terrarium`
- `[Translation] Adicionar tradução para espanhol da lição 5`
- `[Docs] Atualizar instruções de configuração`
### Verificações Necessárias
### Verificações Obrigatórias
Antes de enviar um PR:
1. **Qualidade do Código**:
- Execute `npm run lint` nos diretórios dos projetos afetados
- Corrija todos os erros e avisos do lint
1. **Qualidade do Código**:
- Execute `npm run lint` nos diretórios dos projetos afetados
- Corrija todos os erros e avisos de lint
2. **Verificação do Build**:
- Execute `npm run build` se aplicável
- Garanta que não haja erros no build
2. **Verificação de 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 se referências de imagens funcionam
3. **Validação de Links**:
- Teste todos os links markdown
- Verifique referências de imagens funcionando
4. **Revisão de Conteúdo**:
- Revise ortografia e gramática
- Garanta que exemplos de código estão corretos e educativos
- Verifique se as traduções mantêm o significado original
4. **Revisão de Conteúdo**:
- Faça revisão ortográfica e gramatical
- Confirme que exemplos de código estão corretos e educativos
- Verifique se traduções mantêm o significado original
### Requisitos de Contribuição
### Requisitos para Contribuição
- Aceitar o Microsoft CLA (verificação automática no primeiro PR)
- Seguir o [Código de Conduta de Código Aberto da Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Consulte [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Referencie números de issues na descrição do PR se aplicável
- Aceitar o Microsoft CLA (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 são revisados por mantenedores e comunidade
- Clareza educacional é priorizada
- Exemplos de código devem seguir as melhores práticas atuais
- Traduções são revisadas para precisão e adequação cultural
- PRs revisados por mantenedores e comunidade
- Clareza educacional é prioridade
- Exemplos de código devem seguir as melhores práticas atuais
- Traduções são revisadas para precisão e adequação cultural
## Sistema de Tradução
### Tradução Automática
### Tradução Automatizada
- Utiliza GitHub Actions com workflow co-op-translator
- Tradução automática para 50+ idiomas
- Arquivos fonte nos diretórios principais
- Arquivos traduzidos em diretórios `translations/{language-code}/`
- Usa GitHub Actions com workflow co-op-translator
- Tradução para mais de 50 idiomas automaticamente
- Arquivos fonte nos diretórios principais
- Arquivos traduzidos em diretórios `translations/{language-code}/`
### Adicionando Melhorias Manuais à Tradução
### Adicionando Melhorias Manuais de Tradução
1. Localize o arquivo em `translations/{language-code}/`
2. Faça melhorias preservando a estrutura
3. Assegure que exemplos de código continuem funcionais
4. Teste qualquer conteúdo de quiz localizado
1. Encontre o arquivo em `translations/{language-code}/`
2. Faça melhorias preservando a estrutura
3. Garanta que exemplos de código permaneçam funcionais
4. Teste qualquer conteúdo localizado de quizzes
### Metadados da Tradução
Arquivos traduzidos incluem cabeçalho de metadados:
Arquivos traduzidos incluem cabeçalho metadata:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -288,121 +288,121 @@ CO_OP_TRANSLATOR_METADATA:
}
-->
```
## Depuração e Solução de Problemas
### Problemas Comuns
**Quiz app não inicia**:
- Verifique a versão do Node.js (recomendado v14+)
- Exclua `node_modules` e `package-lock.json`, rode `npm install` novamente
- Verifique conflitos de porta (padrão: Vite usa porta 5173)
**Quiz app não inicia**:
- Verifique a versão do Node.js (recomendado v14+)
- Delete `node_modules` e `package-lock.json`, execute `npm install` novamente
- Cheque conflitos de porta (padrão: Vite usa porta 5173)
**Servidor API não inicia**:
- Confirme que a versão do Node.js atende o mínimo (node >=10)
- Verifique se a porta já está em uso
- Garanta que todas as dependências estejam instaladas com `npm install`
**Servidor API não inicia**:
- Verifique se versão do Node.js é mínima (node >=10)
- Verifique se a porta já está em uso
- Confirme todas as dependências instaladas com `npm install`
**Extensão de navegador não carrega**:
- Verifique se o manifest.json está formatado corretamente
- Cheque o console do navegador para erros
- Siga instruções específicas para instalação da extensão no navegador
**Extensão do navegador não carrega**:
- Verifique se manifest.json está formatado corretamente
- Cheque console 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 esteja instalado: `pip install openai`
- Verifique se a variável de ambiente GITHUB_TOKEN está configurada
- Confira permissões de acesso ao GitHub Models
**Problemas no projeto de chat em Python**:
- Certifique-se que o pacote OpenAI está instalado: `pip install openai`
- Verifique se a variável de ambiente GITHUB_TOKEN está configurada
- Cheque permissões de acesso ao GitHub Models
**Docsify não serve a documentação**:
- Instale docsify-cli globalmente: `npm install -g docsify-cli`
- Execute a partir do diretório raiz do repositório
- Verifique se `docs/_sidebar.md` existe
**Docsify não serve documentação**:
- Instale docsify-cli globalmente: `npm install -g docsify-cli`
- Rode a partir do diretório raiz do repositório
- Verifique se `docs/_sidebar.md` existe
### 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 DevTools do navegador para depuração de JavaScript
- Para projetos Vue, instale a extensão Vue DevTools no navegador
- 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 extensão Vue DevTools no navegador
### Considerações de Performance
- Grande número de arquivos traduzidos (50+ idiomas) torna clones completos grandes
- Use clone superficial se trabalhar apenas 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 do Vite)
- Grande número de arquivos traduzidos (50+ idiomas) torna clones completos grandes
- Use clone superficial se trabalhar só com conteúdo: `git clone --depth 1`
- Exclua traduções de 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
### Variáveis de Ambiente
- Chaves API nunca devem ser commitadas no repositório
- Use arquivos `.env` (já no `.gitignore`)
- Documente variáveis de ambiente necessárias nos READMEs dos projetos
- Chaves de API nunca devem ser commitadas no repositório
- Use arquivos `.env` (já no `.gitignore`)
- Documente variáveis de ambiente necessárias nos READMEs 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
- Use ambientes virtuais: `python -m venv venv`
- Mantenha dependências atualizadas
- Tokens do GitHub devem ter permissões mínimas necessárias
### Acesso aos GitHub Models
- Tokens de Acesso Pessoal (PAT) são necessários 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
- Tokens devem ser armazenados como variáveis de ambiente
- Nunca commit tokens ou credenciais
## Notas Adicionais
### Público-Alvo
### Público Alvo
- Começantes completos em desenvolvimento web
- Estudantes e autodidatas
- Professores usando o currículo em salas de aula
- Conteúdo projetado para acessibilidade e desenvolvimento gradual de habilidades
- Iniciantes completos em desenvolvimento web
- Estudantes e autodidatas
- Professores usando o currículo em salas de aula
- Conteúdo projetado para acessibilidade e aprendizado gradual
### Filosofia Educacional
- Aprendizado baseado em projetos
- Verificações frequentes de conhecimento (quizzes)
- Exercícios práticos de codificação
- Exemplos de aplicações do mundo real
- Foco em fundamentos antes de frameworks
- Abordagem baseada em projetos
- Verificações frequentes de conhecimento (quizzes)
- Exercícios práticos de codificação
- Exemplos de aplicação reais
- Foco em fundamentos antes de frameworks
### Manutenção do Repositório
- Comunidade ativa de aprendizes e colaboradores
- Atualizações regulares em dependências e conteúdo
- Issues e discussões monitoradas por mantenedores
- Atualizações de tradução automatizadas via GitHub Actions
- Comunidade ativa de estudantes e contribuidores
- Atualizações regulares de dependências e conteúdo
- Issues e discussões monitoradas por mantenedores
- Atualizações de tradução automatizadas via GitHub Actions
### Recursos Relacionados
- [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 aprendizes
- Cursos adicionais: Currículos de IA Generativa, Ciência de Dados, ML, IoT disponíveis
- [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: IA Generativa, Ciência de Dados, ML, currículos de IoT disponíveis
### Trabalhando com Projetos Específicos
Para instruções detalhadas sobre projetos individuais, veja os arquivos README em:
- `quiz-app/README.md` - Aplicação 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 de assistente de chat AI
Para instruções detalhadas sobre projetos individuais, consulte os arquivos README em:
- `quiz-app/README.md` - Aplicativo 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 em canvas
- `9-chat-project/README.md` - Projeto de assistente de chat com IA
### Estrutura do Monorepo
### Estrutura Monorepo
Embora não seja um monorepo tradicional, este repositório contém múltiplos projetos independentes:
- Cada aula é autônoma
- Projetos não compartilham dependências
- Trabalhe em projetos individuais sem afetar os outros
- Clone o repositório completo para a experiência curricular completa
Embora não seja um monorepo tradicional, este repositório contém múltiplos projetos independentes:
- Cada lição é autocontida
- Projetos não compartilham dependências
- Trabalhe em projetos individuais sem afetar os outros
- Clone o repositório inteiro para a experiência completa do currículo
---
<!-- 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 esforcemos para garantir a precisão, por favor, 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 autoritativa. Para informações críticas, recomenda-se a tradução profissional feita por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução.
**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 esforcemos para garantir a precisão, 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 a tradução profissional realizada por um tradutor humano. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,8 +1,8 @@
[![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/)
[![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 Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![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)
[![Observadores GitHub](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
[![Forks GitHub](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
@ -12,70 +12,80 @@
# Desenvolvimento Web para Iniciantes - Um Currículo
Aprenda os fundamentos do desenvolvimento web com nosso curso abrangente de 12 semanas pelos Microsoft Cloud Advocates. Cada uma das 24 lições aprofunda-se em JavaScript, CSS e HTML através de projetos práticos como terrários, extensões de navegador e jogos no espaço. Participe de quizzes, discussões e tarefas práticas. Melhore suas habilidades e otimize sua retenção de conhecimento com nossa pedagogia eficaz 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 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!
Junte-se à Comunidade Azure AI Foundry no Discord
Participe da Comunidade Azure AI Foundry no Discord
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Siga estes passos para começar a usar esses recursos:
Siga estas etapas 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 Discord e conheça especialistas e outros desenvolvedores**](https://discord.com/invite/ByRwuEEgH4)
3. [**Junte-se ao Azure AI Foundry no Discord e conheça especialistas e outros desenvolvedores**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Suporte Multilíngue
### 🌐 Suporte a Múltiplos Idiomas
#### Suportado via GitHub Action (Automatizado e Sempre Atualizado)
#### 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) | [Burmê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) | [Marati](../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) | [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)
> **Prefere Clonar Localmente?**
> Este repositório inclui mais de 50 traduções de idiomas, o que aumenta significativamente o tamanho do download. Para clonar sem traduções, use o sparse checkout:
>
> 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:
>
> **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'
> ```
> Isso te dá tudo o que precisa para completar o curso com um download muito mais rápido.
>
> **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"
> ```
>
> Isso fornece tudo o que você precisa para completar o curso com um download muito mais rápido.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Se desejar que idiomas adicionais de tradução sejam suportados, eles estão listados [aqui](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**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)**
[![Abrir no Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Abrir%20no%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[![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é maneiras de obter um voucher de certificado gratuito. Esta é a página que você vai querer adicionar aos favoritos e visitar 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 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.
### 📣 Anúncio - Novos desafios com modo Agente do GitHub Copilot para completar!
### 📣 Anúncio - Novos desafios no modo GitHub Copilot Agent para completar!
Novo desafio adicionado, procure por "Desafio GitHub Copilot Agent 🚀" na maioria dos capítulos. É um novo desafio para você completar usando o GitHub Copilot e o modo Agente. Se você nunca usou o modo Agente antes, ele é capaz não só de gerar texto, mas também criar e editar arquivos, executar comandos e mais.
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.
### 📣 Anúncio - _Novo Projeto para construir usando IA Generativa_
Novo projeto Assistente AI acaba de ser adicionado, confira o [projeto](./9-chat-project/README.md)
Novo projeto de Assistente de IA adicionado, confira o [projeto](./9-chat-project/README.md)
### 📣 Anúncio - _Novo Currículo_ sobre IA Generativa para JavaScript acaba de ser lançado
### 📣 Anúncio - _Novo Currículo_ sobre IA Generativa para JavaScript foi lançado
Não perca nosso novo currículo sobre IA Generativa!
Não perca nosso novo currículo de IA Generativa!
Visite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para começar!
![Fundo](../../translated_images/pt-BR/background.148a8d43afde5730.webp)
- Lições cobrindo tudo, do básico até RAG.
- Interaja com personagens históricos usando GenAI e nosso aplicativo acompanhante.
- Aulas cobrindo desde os fundamentos até RAG.
- Interaja com personagens históricos usando GenAI e nosso app companion.
- Narrativa divertida e envolvente, você vai viajar no tempo!
![personagem](../../translated_images/pt-BR/character.5c0dd8e067ffd693.webp)
Cada lição inclui uma tarefa para completar, uma verificação de conhecimento e um desafio para guiar seu aprendizado em tópicos como:
Cada aula inclui uma tarefa para completar, um teste de conhecimento e um desafio para guiar você em temas como:
- Prompting e engenharia de prompt
- Geração de aplicativos de texto e imagem
- Aplicativos de busca
- Geração de apps de texto e imagem
- Apps de busca
Visite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para começar!
@ -83,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) sobre como usar este currículo. Adoraríamos receber 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) 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)!
**[Alunos](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, para cada lição, comece com um quiz pré-aula e siga lendo o material da aula, completando as diversas atividades e verifique sua compreensão 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 siga com a leitura do material da aula, completando as diversas atividades e verifique 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 às suas perguntas.
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 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.
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.
### 📋 Configurando seu ambiente
Este currículo já tem o 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 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 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).
#### Crie seu repositório
Para facilitar salvar seu trabalho, recomenda-se que você crie sua própria cópia deste repositório. Você pode fazer isso clicando no botão **Usar este modelo** no topo da página. Isso criará um novo repositório na sua conta do GitHub com uma cópia do currículo.
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.
Siga estes passos:
1. **Faça um Fork do Repositório**: Clique no botão "Fork" no canto superior direito desta página.
@ -104,158 +114,156 @@ Siga estes passos:
#### Executando o currículo em um Codespace
Na sua cópia deste repositório que você criou, clique no botão **Code** e selecione **Open with Codespaces**. Isto criará um novo Codespace para você trabalhar.
Na sua cópia deste repositório que você criou, clique no botão **Code** e selecione **Open with Codespaces**. Isso criará um novo Codespace para você trabalhar.
![Codespace](../../translated_images/pt-BR/createcodespace.0238bbf4d7a8d955.webp)
#### 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 lição, [Introdução a Linguagens de Programação e Ferramentas do Ofício](../../1-getting-started-lessons/1-intro-to-programming-languages), mostrará várias opções para cada uma dessas ferramentas para você escolher o que funciona melhor.
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ê.
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 seu repositório para seu computador. Você pode fazer isso clicando no botão **Code** e copiando a URL:
1. Clone o seu repositório para o seu computador. Você pode fazer isso clicando no botão **Code** e copiando a URL:
[CodeSpace](./images/createcodespace.png)
Então, 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 você acabou de copiar:
Em seguida, 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 você acabou de copiar:
```bash
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 você 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 acabou de clonar.
> Extensões recomendadas para o Visual Studio Code:
> Extensões recomendadas para Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - para visualizar páginas HTML dentro do 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
## 📂 Cada lição inclui:
## 📂 Cada aula inclui:
- sketchnote opcional
- vídeo suplementar opcional
- quiz de aquecimento pré-lição
- lição escrita
- para lições baseadas em projetos, guias passo a passo sobre como construir o projeto
- 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
- um desafio
- leitura suplementar
- tarefa
- [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/) e 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 | Começando | Introdução à Programação e Ferramentas do Ofício | Aprenda os fundamentos básicos por trás da maioria das linguagens de programação e sobre softwares que ajudam desenvolvedores profissionais | [Intro às Linguagens de Programação e Ferramentas do Ofício](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Começando | 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 | [Introdução ao GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Começando | Acessibilidade | Aprenda o básico sobre acessibilidade na web | [Fundamentos de Acessibilidade](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Fundamentos JS | 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 | Fundamentos JS | Funções e Métodos | Aprenda 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 JS | Tomando Decisões com JS | Aprenda 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 JS | Arrays e Loops | Trabalhe 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 | Construa o HTML para criar um terrário online, focando na construção de um 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 | Construa 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 | Construa o JavaScript para fazer o terrário funcionar como uma interface drag/drop, com foco 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 | Aprenda a usar eventos de teclado para dirigir a lógica do seu app 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 | Aprenda 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 | Construa os elementos JavaScript da sua extensão de 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 Verde para Navegador](./5-browser-extension/solution/README.md) | Processos em segundo plano no navegador, desempenho web | Use os processos em segundo plano do navegador para gerenciar o ícone da extensão; aprenda 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 Avançado com JavaScript | Aprenda sobre Herança usando Classes e Composição e o padrão Pub/Sub, preparando-se 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) | Desenho no canvas | Aprenda sobre a API Canvas, usada para desenhar elementos na tela | [Desenho no Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Jogo Espacial](./6-space-game/solution/README.md) | Movendo elementos na tela | Descubra como os elementos podem ganhar movimento usando coordenadas cartesianas e a API Canvas | [Movendo Elementos](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Jogo Espacial](./6-space-game/solution/README.md) | Detecção de colisão | Faça elementos colidirem e reagirem uns aos outros usando pressionamento de teclas e forneça uma função de cooldown para garantir o desempenho do jogo | [Detecção de Colisão](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Jogo Espacial](./6-space-game/solution/README.md) | Mantendo a pontuação | Realize cálculos matemáticos baseados 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) | Finalizando e reiniciando o jogo | Aprenda sobre como finalizar e reiniciar o jogo, incluindo limpar ativos e redefinir valores de variáveis | [A Condição de Termino](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [App Bancário](./7-bank-project/solution/README.md) | Templates HTML e Rotas em um App Web | Aprenda a criar a estrutura arquitetônica de um site multipágina usando rotas e templates HTML | [Templates HTML e Rotas](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [App Bancário](./7-bank-project/solution/README.md) | Construindo um Formulário de Login e Registro | Aprenda a construir formulários e lidar com rotinas de validação | [Formulários](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [App Bancário](./7-bank-project/solution/README.md) | Métodos para Buscar e Usar 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 | [App Bancário](./7-bank-project/solution/README.md) | Conceitos de Gerenciamento de Estado | Aprenda como seu app mantém estado e como gerenciá-lo programaticamente | [Gerenciamento de Estado](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Trabalhando com VScode | Aprenda a usar um editor de código | [Uso do 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 | Aprenda a construir seu próprio assistente de IA | [Projeto de Assistente de IA](./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, 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 |
## 🏫 Pedagogia
Nosso currículo foi projetado com dois princípios pedagógicos-chave em mente:
* aprendizado baseado em projetos
Nosso currículo é projetado com dois princípios pedagógicos-chave:
* aprendizagem baseada em projetos
* quizzes frequentes
O programa ensina os fundamentos de JavaScript, HTML e CSS, bem como as ferramentas e técnicas mais recentes usadas pelos desenvolvedores web de hoje. Os estudantes terão a oportunidade de desenvolver experiência prática construindo um jogo de digitação, um terrário virtual, uma extensão de navegador ecológica, um jogo no estilo Space Invader e um aplicativo bancário para empresas. Ao final da série, os alunos terão adquirido uma compreensão sólida do desenvolvimento web.
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.
> 🎓 Você pode fazer as primeiras lições 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 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!
Ao garantir que o conteúdo esteja alinhado com os projetos, o processo se torna mais envolvente para os estudantes e a retenção dos conceitos será aumentada. Também escrevemos várias lições introdutórias sobre fundamentos do JavaScript para apresentar conceitos, combinadas com 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 autores da qual contribuíram para este currículo.
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.
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 garante maior retenção. Este currículo foi projetado para ser flexível e divertido, podendo ser realizado no todo ou em parte. Os projetos começam pequenos e tornam-se cada vez mais complexos até o final do ciclo de 12 semanas.
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.
Embora tenhamos evitado intencionalmente introduzir frameworks JavaScript para nos concentrarmos nas habilidades básicas necessárias como desenvolvedor web antes de adotar um framework, uma boa próxima etapa 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)".
> Visite nossas diretrizes de [Código de Conduta](CODE_OF_CONDUCT.md) e [Contribuição](CONTRIBUTING.md). Agradecemos seu feedback construtivo!
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)".
> Visite nosso [Código de Conduta](CODE_OF_CONDUCT.md) e as diretrizes de [Contribuição](CONTRIBUTING.md). Agradecemos seu feedback construtivo!
## 🧭 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 em seu localhost: `localhost:3000`.
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`.
## 📘 PDF
Um PDF de todas as lições pode ser encontrado [aqui](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Outros Cursos
Nossa equipe produz outros cursos! Confira:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](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)
[![LangChain4j para Iniciantes](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js para Iniciantes](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![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
[![AZD for Beginners](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 for Beginners](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 for Beginners](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)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
[![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)
[![Agentes de IA para Iniciantes](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Série de IA Generativa
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
[![IA Generativa para Iniciantes](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![IA Generativa (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![IA Generativa (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![IA Generativa (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
### Aprendizado Básico
[![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)
[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
[![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)
[![Cibersegurança para Iniciantes](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Desenvolvimento Web para Iniciantes](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT para Iniciantes](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![Desenvolvimento XR para Iniciantes](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Série Copilot
[![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)
[![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 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 -->
## Obtenha Ajuda
## Obter Ajuda
Se você ficar preso ou tiver alguma dúvida sobre como criar aplicativos de IA. Participe de discussões com outros alunos e desenvolvedores experientes sobre MCP. É uma comunidade acolhedora onde perguntas são bem-vindas e o conhecimento é compartilhado livremente.
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.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Se você tiver feedback sobre o produto ou erros durante a criação, visite:
Se você tiver feedback sobre o produto ou erros durante o desenvolvimento, 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)
@ -267,5 +275,5 @@ 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 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 por um tradutor humano. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes 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, 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.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "d45ddcc54eb9232a76d08328b09d792e",
"translation_date": "2026-01-06T18:31:44+00:00",
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T12:35:48+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "pt-PT"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T16:58:13+00:00",
"translation_date": "2026-03-06T12:43:50+00:00",
"source_file": "AGENTS.md",
"language_code": "pt-PT"
},
@ -516,8 +516,8 @@
"language_code": "pt-PT"
},
"README.md": {
"original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
"translation_date": "2026-02-06T16:52:32+00:00",
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T12:32:31+00:00",
"source_file": "README.md",
"language_code": "pt-PT"
},

@ -1,24 +1,24 @@
# AGENTS.md
# AGENTES.md
## Visão Geral do Projeto
Este é um repositório de currículo educativo para o ensino dos fundamentos do desenvolvimento web a principiantes. O currículo é um curso abrangente de 12 semanas desenvolvido pelos Microsoft Cloud Advocates, com 24 aulas práticas cobrindo JavaScript, CSS e HTML.
Este é um repositório curricular educativo para o ensino dos fundamentos do desenvolvimento web a principiantes. O currículo é um curso abrangente de 12 semanas desenvolvido pelos Microsoft Cloud Advocates, contendo 24 aulas práticas que abrangem JavaScript, CSS e HTML.
### Componentes Principais
- **Conteúdo Educativo**: 24 lições estruturadas organizadas em módulos baseados em projetos
- **Projetos Práticos**: Terrarium, 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é/pós-aula)
- **Suporte Multilíngue**: Traduções automáticas para 50+ idiomas via GitHub Actions
- **Tecnologias**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para projetos 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 Browser, Jogo Espacial, Aplicação Bancária, Editor de Código e Assistente de Chat IA
- **Questionários Interativos**: 48 questionários com 3 perguntas cada (avaliações pré/pós-aula)
- **Suporte Multilíngue**: Traduções automáticas para 50+ idiomas via GitHub Actions
- **Tecnologias**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para projetos de IA)
### Arquitetura
- Repositório educativo 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 de aulas)
- Sistema de tradução usando GitHub Actions (co-op-translator)
- Documentação servida via Docsify e disponível em PDF
- Repositório educativo 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)
- Sistema de tradução usando GitHub Actions (co-op-translator)
- Documentação servida via Docsify e disponível em PDF
## Comandos de Configuração
@ -30,7 +30,7 @@ Este repositório é principalmente para consumo de conteúdo educativo. Para tr
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Configuração do Quiz App (Vue 3 + Vite)
```bash
@ -40,7 +40,7 @@ npm run dev # Iniciar servidor de desenvolvimento
npm run build # Construir para produção
npm run lint # Executar ESLint
```
### API do Projeto Bancário (Node.js + Express)
```bash
@ -50,23 +50,23 @@ npm start # Iniciar servidor API
npm run lint # Executar ESLint
npm run format # Formatar com Prettier
```
### Projetos de Extensão de Navegador
### Projetos de Extensão de Browser
```bash
cd 5-browser-extension/solution
npm install
# Siga as instruções específicas do navegador para carregar extensões
# Siga as instruções específicas do navegador para carregar a extensão
```
### Projetos de Jogo Espacial
### Projetos do Jogo Espacial
```bash
cd 6-space-game/solution
npm install
# Abra o index.html no navegador ou use o Live Server
# Abra index.html no navegador ou use o Live Server
```
### Projeto de Chat (Backend Python)
```bash
@ -75,208 +75,208 @@ pip install openai
# Definir a variável de ambiente GITHUB_TOKEN
python api.py
```
## Fluxo de Trabalho em Desenvolvimento
### Para Contribuintes de Conteúdo
## Fluxo de Desenvolvimento
### Para Contribuidores de Conteúdo
1. **Faça fork do repositório** para a 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 da aula ou 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
1. **Faça fork do repositório** para a sua conta GitHub
2. **Clone seu fork** localmente
3. **Crie uma nova branch** para suas alterações
4. Faça alterações no conteúdo das aulas ou exemplos de código
5. Teste quaisquer alterações de código nas pastas dos projetos relevantes
6. Submeta pull requests seguindo as diretrizes de contribuição
### Para Estudantes
### Para Aprendizes
1. Faça fork ou clone do repositório
2. Navegue pelos diretórios das aulas sequencialmente
3. Leia os ficheiros README de cada aula
4. Complete os questionários pré-aula em https://ff-quizzes.netlify.app/web/
5. Execute os exemplos de código nas pastas das aulas
6. Complete tarefas e desafios
7. Realize os questionários pós-aula
1. Faça fork ou clone o repositório
2. Navegue sequencialmente pelas pastas das aulas
3. Leia os ficheiros README de cada aula
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 os trabalhos e desafios
7. Realize os questionários pós-aula
### Desenvolvimento ao Vivo
### Desenvolvimento em Tempo Real
- **Documentação**: Execute `docsify serve` na raiz (porta 3000)
- **Quiz App**: Execute `npm run dev` no diretório quiz-app
- **Projetos**: Use a extensão Live Server do VS Code para projetos HTML
- **Projetos API**: Execute `npm start` nos respetivos diretórios das APIs
- **Documentação**: Execute `docsify serve` na raiz (porta 3000)
- **Quiz App**: Execute `npm run dev` na pasta quiz-app
- **Projetos**: Utilize a extensão VS Code Live Server para projetos HTML
- **Projetos API**: Execute `npm start` nas respetivas pastas API
## Instruções de Teste
## Instruções para Testes
### Teste do Quiz App
### Testes 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
```
### Teste da API Bancária
### Testes da API Bancária
```bash
cd 7-bank-project/api
npm run lint # Verificar problemas de estilo de código
node server.js # Verificar se o servidor inicia sem erros
```
### Abordagem Geral de Teste
- Este é um repositório educativo sem testes automáticos completos
- Testes manuais focam em:
- Exemplos de código executarem sem erros
- Links na documentação funcionarem corretamente
- Builds dos projetos concluírem com sucesso
- Exemplos seguirem boas práticas
### Abordagem Geral de Testes
- Este é um repositório educativo sem testes automatizados completos
- Testes manuais focam em:
- Exemplos de código executados sem erros
- Links na documentação funcionam corretamente
- Builds dos projetos completam sem falhas
- Exemplos seguem as melhores práticas
### Verificações Antes da Submissão
- Execute `npm run lint` em diretórios com package.json
- Verifique se os links markdown são válidos
- Teste exemplos de código no navegador ou Node.js
- Confirme que as traduções mantêm a estrutura correta
- 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
- Confira se as traduções mantêm a estrutura correta
## Guia de Estilo de Código
## Diretrizes de Estilo de Código
### JavaScript
- Use sintaxe moderna ES6+
- Siga 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 estudantes
- Utilize Prettier para formatação onde configurado
- Utilize sintaxe moderna ES6+
- Siga as configurações padrão de ESLint fornecidas nos projetos
- Use nomes de variáveis e funções significativos para clareza educativa
- Adicione comentários explicativos para os aprendizes
- Formate com Prettier onde configurado
### HTML/CSS
- Elementos semânticos HTML5
- Princípios de design responsivo
- Convenções claras de nomenclatura de classes
- Comentários explicativos para técnicas CSS voltados para aprendizes
- Utilize elementos semânticos HTML5
- Princípios de design responsivo
- Convenções claras de nomenclatura de classes
- Comentários explicando técnicas CSS para aprendizes
### Python
- Diretrizes de estilo PEP 8
- Exemplos claros e educativos
- Anotações de tipo para ajudar na aprendizagem
- Diretrizes de estilo PEP 8
- Código claro e educativo
- Anotações de tipo quando úteis para 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/`
- Texto alternativo para imagens visando acessibilidade
- Hierarquia clara de cabeçalhos
- Blocos de código com especificação de linguagem
- Links para recursos adicionais
- Capturas de ecrã e imagens nas pastas `images/`
- Texto alternativo para imagens para acessibilidade
### Organização dos Ficheiros
### Organização de Ficheiros
- Lições numeradas sequencialmente (1-getting-started-lessons, 2-js-basics, etc.)
- Cada projeto tem pastas `solution/` e frequentemente `start/` ou `your-work/`
- Imagens armazenadas em pastas `images/` específicas das aulas
- Traduções em estrutura `translations/{language-code}/`
- Lições numeradas sequencialmente (1-getting-started-lessons, 2-js-basics, etc.)
- Cada projeto tem diretórios `solution/` e frequentemente `start/` ou `your-work/`
- Imagens guardadas em pastas `images/` específicas das lições
- Traduções na estrutura `translations/{language-code}/`
## Construção e Implementação
### Implementação do Quiz App (Azure Static Web Apps)
O quiz-app está configurado para implementação em Azure Static Web Apps:
O quiz-app está configurado para implementação no Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Cria a pasta dist/
# Faz deploy através do fluxo de trabalho GitHub Actions ao enviar para main
# Faz deploy via workflow do GitHub Actions ao fazer push para o main
```
Configuração Azure Static Web Apps:
- **Localização da App**: `/quiz-app`
- **Localização da saída**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Geração de PDF para Documentação
Configuração do Azure Static Web Apps:
- **Local da app**: `/quiz-app`
- **Local 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 # Instalar docsify-to-pdf
npm run convert # Gerar PDF a partir de docs
npm run convert # Gerar PDF a partir do docs
```
### Documentação Docsify
```bash
npm install -g docsify-cli # Instalar o Docsify globalmente
npm install -g docsify-cli # Instalar Docsify globalmente
docsify serve # Servir em localhost:3000
```
### Builds Específicos de Cada Projeto
Cada diretório de projeto pode ter o seu próprio processo de build:
- Projetos Vue: `npm run build` cria bundles para produção
- Projetos estáticos: Sem etapa de build, servir ficheiros diretamente
### 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 para produção
- Projetos estáticos: Sem etapa de build, servem ficheiros diretamente
## Diretrizes para Pull Requests
### Formato do Título
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`
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`
### Verificações Obrigatórias
### Verificações Necessárias
Antes de submeter um PR:
1. **Qualidade do Código**:
- Execute `npm run lint` nos diretórios dos projetos afetados
- Corrija todos os erros e avisos de lint
1. **Qualidade do Código**:
- Execute `npm run lint` nas pastas dos projetos afetados
- Corrija todos os erros e avisos reportados
2. **Verificação de Build**:
- Execute `npm run build` se aplicável
- Garanta que não há erros no build
2. **Verificação do Build**:
- Execute `npm run build` se aplicável
- Certifique-se que não haja erros de build
3. **Validação de Links**:
- Teste todos os links markdown
- Verifique referências a imagens
3. **Validação de Links**:
- Teste todos os links markdown
- Verifique se referências de imagens funcionam
4. **Revisão de Conteúdo**:
- Revise ortografia e gramática
- Assegure que exemplos de código estão corretos e educativos
- Verifique traduções para manter sentido original
4. **Revisão de Conteúdo**:
- Revise ortografia e gramática
- Garanta que os exemplos de código estão corretos e educativos
- Verifique se traduções mantêm o significado original
### Requisitos para Contribuição
- Aceitar o CLA da Microsoft (verificação automática no primeiro 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 quando aplicável
- Aceitar o CLA da Microsoft (verificação automática no primeiro PR)
- Seguir o [Código de Conduta Open Source da Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Consulte o [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Referencie números de issues na descrição do PR se aplicável
### Processo de Revisão
- PRs revistos por mantenedores e comunidade
- Clareza educativa é prioritária
- Exemplos de código devem seguir as melhores práticas atuais
- Traduções são revistas para precisão e adequação cultural
- PRs são revistos por mantenedores e comunidade
- Clareza educativa é priorizada
- Exemplos de código devem seguir as melhores práticas atuais
- Traduções são revistas para precisão e adequação cultural
## Sistema de Tradução
### Tradução Automática
- Utiliza GitHub Actions com workflow co-op-translator
- Traduz para 50+ idiomas automaticamente
- Ficheiros fonte nas pastas principais
- Ficheiros traduzidos em diretórios `translations/{language-code}/`
- Utiliza GitHub Actions com workflow co-op-translator
- Traduz automaticamente para 50+ idiomas
- Ficheiros fonte nas pastas principais
- Ficheiros traduzidos nas pastas `translations/{language-code}/`
### Adicionar Melhorias Manuais nas Traduções
### Adição de Melhorias Manuais na Tradução
1. Localize o ficheiro em `translations/{language-code}/`
2. Faça melhorias preservando a estrutura
3. Assegure que exemplos de código permanecem funcionais
4. Teste qualquer conteúdo de quiz localizado
1. Localize o ficheiro em `translations/{language-code}/`
2. Faça melhorias preservando a estrutura
3. Assegure que exemplos de código continuam funcionais
4. Teste qualquer conteúdo de quiz localizado
### Metadados da Tradução
### Metadados de Tradução
Ficheiros traduzidos incluem cabeçalho de metadados:
Os ficheiros traduzidos incluem cabeçalho de metadados:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -288,121 +288,121 @@ CO_OP_TRANSLATOR_METADATA:
}
-->
```
## Depuração e Resolução de Problemas
### Problemas Comuns
**Quiz app não começa**:
- Verifique a versão do Node.js (v14+ recomendado)
- Apague `node_modules` e `package-lock.json`, execute `npm install` novamente
- Verifique conflitos de porta (padrão: Vite usa porta 5173)
**Quiz app não inicia**:
- Verifique a 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 porta 5173)
**Servidor API não inicia**:
- Confirme versão mínima do Node.js (node >=10)
- Verifique se a porta já está em uso
- Assegure que todas as dependências estão instaladas com `npm install`
**Servidor API não inicia**:
- Confirme se o Node.js está na versão mínima (node >=10)
- Veja se a porta já está em uso
- Assegure que todas as dependências estão instaladas com `npm install`
**Extensão do navegador não carrega**:
- Verifique se o manifest.json está corretamente formatado
- Confira console do navegador para erros
- Siga instruções específicas do navegador para instalação da extensão
**Extensão de browser não carrega**:
- Verifique se o manifest.json está formatado corretamente
- Confira erros na consola do browser
- Siga as instruções específicas do browser para instalação da extensão
**Problemas no projeto de chat Python**:
- Assegure que o pacote OpenAI está instalado: `pip install openai`
- Verifique se a variável ambiente GITHUB_TOKEN está definida
- Cheque permissões de acesso a GitHub Models
**Problemas no projeto de chat Python**:
- Verifique se o pacote OpenAI está instalado: `pip install openai`
- Confirme se a variável de ambiente GITHUB_TOKEN está definida
- Verifique permissões de acesso aos GitHub Models
**Docsify não serve a documentação**:
- Instale docsify-cli globalmente: `npm install -g docsify-cli`
- Execute a partir da raiz do repositório
- Confirme que o ficheiro `docs/_sidebar.md` existe
**Docsify não serve a documentação**:
- Instale docsify-cli globalmente: `npm install -g docsify-cli`
- Execute a partir da raiz do repositório
- Verifique se `docs/_sidebar.md` existe
### Dicas para 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
- Use VS Code com a extensão Live Server para projetos HTML
- Instale extensões ESLint e Prettier para formatação consistente
- Use as DevTools do browser para depurar JavaScript
- Para projetos Vue, instale a extensão Vue DevTools para browser
### Considerações de Performance
- Grande número de ficheiros traduzidos (50+ idiomas) torna clones completos grandes
- Use clone raso se só trabalhar com conteúdo: `git clone --depth 1`
- Exclua traduções das pesquisas quando trabalhar com conteúdo em inglês
- Processos de build podem ser lentos na primeira execução (npm install, build Vite)
- Grande número de ficheiros traduzidos (50+ idiomas) faz os clones completos serem grandes
- Use clone superficial se estiver a trabalhar apenas no conteúdo: `git clone --depth 1`
- Exclua traduções das pesquisas quando 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 API nunca devem ser commitadas no repositório
- Use ficheiros `.env` (já incluídos em `.gitignore`)
- Documente as variáveis de ambiente necessárias nos READMEs dos projetos
- Chaves API nunca devem ser cometidas no repositório
- Use ficheiros `.env` (já listados em `.gitignore`)
- Documente variáveis de ambiente necessárias nos READMEs dos projetos
### Projetos Python
- Utilize ambientes virtuais: `python -m venv venv`
- Mantenha dependências atualizadas
- Tokens do GitHub devem ter permissões mínimas necessárias
- Use ambientes virtuais: `python -m venv venv`
- Mantenha dependências atualizadas
- Tokens GitHub devem ter permissões mínimas necessárias
### Acesso ao GitHub Models
### Acesso aos GitHub Models
- Tokens de Acesso Pessoal (PAT) são necessários para GitHub Models
- Tokens devem ser guardados como variáveis ambiente
- Nunca commit tokens ou credenciais
- Tokens de Acesso Pessoal (PAT) são necessários para GitHub Models
- Tokens devem ser guardados como variáveis de ambiente
- Nunca cometa tokens ou credenciais no repositório
## Notas Adicionais
### Público-Alvo
- Principiantes completos no desenvolvimento web
- Estudantes e autodidatas
- Professores usando o currículo em salas de aula
- Conteúdo desenhado para acessibilidade e construção gradual de competências
- Principiantes completos em desenvolvimento web
- Estudantes e autodidatas
- Professores a usar o currículo em sala de aula
- Conteúdo desenhado para acessibilidade e construção gradual de competências
### Filosofia Educativa
- Abordagem de aprendizagem baseada em projetos
- Verificações frequentes de conhecimento (questionários)
- Exercícios práticos de programação
- Exemplos de aplicações do mundo real
- Foco nos fundamentos antes dos frameworks
- Aproximação baseada em projetos
- Verificações frequentes de conhecimento (quizzes)
- Exercícios práticos de programação
- Exemplos de aplicação no mundo real
- Foco nos fundamentos antes dos 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 monitorizadas pelos mantenedores
- Atualizações de tradução automatizadas via GitHub Actions
- Comunidade ativa de aprendizes e contribuidores
- Atualizações regulares de dependências e conteúdo
- 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/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recomendado para aprendizes
- Cursos adicionais: IA generativa, Ciência de Dados, ML, currículos IoT disponíveis
- [Módulos Microsoft Learn](https://docs.microsoft.com/learn/)
- [Recursos no Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recomendado para aprendizes
- Cursos adicionais: IA Generativa, Ciência de Dados, ML, currículos IoT disponíveis
### Trabalhar com Projetos Específicos
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 para navegador
- `6-space-game/README.md` - Desenvolvimento de jogo baseado em Canvas
- `9-chat-project/README.md` - Projeto de assistente chat AI
Para instruções detalhadas de projetos individuais, consulte os ficheiros README em:
- `quiz-app/README.md` - Aplicação quiz em Vue 3
- `7-bank-project/README.md` - Aplicação bancária com autenticação
- `5-browser-extension/README.md` - Desenvolvimento de extensão de browser
- `6-space-game/README.md` - Desenvolvimento de jogo baseado em canvas
- `9-chat-project/README.md` - Projeto de assistente de chat IA
### Estrutura Monorepo
### Estrutura de Monorepo
Embora não seja um monorepo tradicional, este repositório contém múltiplos projetos independentes:
- Cada aula é autónoma
- Projetos não partilham dependências
- Trabalhe em projetos individuais sem afetar outros
- Clone o repositório completo para a experiência do currículo completo
Embora não seja um monorepo tradicional, este repositório contém múltiplos projetos independentes:
- Cada aula é autónoma
- Projetos não partilham dependências
- Trabalhe em projetos individuais sem afetar os outros
- Clone o repositório completo para ter a experiência do currículo completo
---
<!-- 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 tenha em atenção 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 a tradução profissional realizada por um humano. 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 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 automatizadas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se a tradução profissional por um humano. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas resultantes do uso desta tradução.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -12,52 +12,62 @@
# 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 lições aprofunda 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 conhecimento com a nossa eficaz pedagogia baseada em projetos. Comece hoje a sua jornada de programação!
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!
Junte-se à Comunidade Discord Azure AI Foundry
Junte-se à Comunidade Azure AI Foundry no Discord
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Siga estes passos para começar a utilizar estes recursos:
1. **Faça um 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)
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)
### 🌐 Suporte Multilíngue
#### Suportado através de GitHub Action (Automatizado e Sempre Atualizado)
#### Suportado via GitHub Action (Automatizado e Sempre Atualizado)
<!-- 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)](./README.md) | [Punjabi (Gurmukhi)](../pa/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)
[Á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)
> **Prefere Clonar Localmente?**
> Este repositório inclui mais de 50 traduções que aumentam 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, utilize o sparse checkout:
>
> **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'
> ```
> Isto oferece tudo o que precisa para completar o curso com um download muito mais rápido.
>
> **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"
> ```
>
> Isto fornece tudo o que precisa para completar o curso com um download muito mais rápido.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Se desejar ter idiomas de tradução adicionais, os suportados estão listados [aqui](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**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)**
[![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)
[![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)
#### 🧑‍🎓 _É estudante?_
Visite a [**página do Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) onde encontrará recursos para iniciantes, pacotes para estudantes e até formas de obter um voucher para certificado gratuito. Esta é a página que deve adicionar aos favoritos e consultar regularmente pois alteramos o conteúdo mensalmente.
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.
### 📣 Anúncio - Novos desafios do modo GitHub Copilot Agent para completar!
### 📣 Anúncio - Novos desafios do modo Agente GitHub Copilot para completar!
Novo desafio adicionado, procure "GitHub Copilot Agent Challenge 🚀" na maioria dos capítulos. Este é um novo desafio para completar utilizando o GitHub Copilot e o modo Agent. Se nunca usou o modo Agent, ele é capaz não só de gerar texto mas também de criar e editar ficheiros, executar comandos e muito mais.
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.
### 📣 Anúncio - _Novo Projeto para construir usando IA Generativa_
Novo projeto de Assistente AI acabou de ser adicionado, veja o [projeto](./9-chat-project/README.md)
Novo projeto de Assistente AI acabado de adicionar, veja o [projeto](./9-chat-project/README.md)
### 📣 Anúncio - _Novo Currículo_ sobre IA Generativa para JavaScript acaba de ser lançado
### 📣 Anúncio - _Novo Currículo_ sobre IA Generativa para JavaScript acabou de ser lançado
Não perca o nosso novo currículo de IA Generativa!
@ -65,14 +75,13 @@ Visite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para com
![Background](../../translated_images/pt-PT/background.148a8d43afde5730.webp)
- Lições cobrindo tudo, desde o básico até RAG.
- Interaja com personagens históricos usando GenAI e a nossa aplicação acompanhante.
- Narrativa divertida e envolvente, vai viajar no tempo!
- 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!
![character](../../translated_images/pt-PT/character.5c0dd8e067ffd693.webp)
Cada lição inclui uma tarefa a completar, um teste de conhecimento e um desafio para o guiar na aprendizagem de tópicos como:
Cada aula inclui uma tarefa para completar, um controlo de conhecimento e um desafio para guiá-lo na aprendizagem de tópicos como:
- Prompting e engenharia de prompts
- Geração de aplicações de texto e imagem
- Aplicações de pesquisa
@ -83,41 +92,40 @@ Visite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) para com
## 🌱 Começar
> **Professores**, incluímos [algumas sugestões](for-teachers.md) sobre como usar 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 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)!
**[Estudantes](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, para cada lição, comece com um questionário pré-aula e avance lendo o material da aula, completando as várias atividades e verificando a sua compreensão com o questionário pós-aula.
**[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.
Para melhorar a sua experiência de aprendizagem, conecte-se com os seus colegas 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 suas perguntas.
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 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.
### 📋 Configurar o seu ambiente
Este currículo tem um ambiente de desenvolvimento pronto a usar! Ao começar 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! À 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).
#### Crie o seu repositório
Para guardar facilmente o seu trabalho, recomenda-se criar a sua própria cópia deste repositório. Pode fazer isto clicando no botão **Use this template** no topo da página. Isto criará um novo repositório na sua conta GitHub com uma cópia do currículo.
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.
Siga estes passos:
1. **Faça um Fork do Repositório**: Clique no botão "Fork" no canto superior direito desta página.
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`
#### Executar o currículo num Codespace
Na sua cópia do repositório que criou, clique no botão **Code** e selecione **Open with Codespaces**. Isso criará um novo Codespace para trabalhar.
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.
![Codespace](../../translated_images/pt-PT/createcodespace.0238bbf4d7a8d955.webp)
#### Executar o currículo localmente no seu 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 lição, [Introdução às Linguagens de Programação e Ferramentas do Ofício](../../1-getting-started-lessons/1-intro-to-programming-languages), irá guiá-lo por várias opções para cada uma destas ferramentas para seleccionar o que funcionar melhor para si.
Recomendamos usar o [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) como editor, que também inclui um [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Pode descarregar o Visual Studio Code [aqui](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
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.
1. Clone o seu repositório para o seu computador. Pode fazer isto clicando no botão **Code** e copiando a URL:
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:
[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:
```bash
@ -127,87 +135,87 @@ Recomendamos usar o [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id
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 para o Visual Studio Code:
> Extensões recomendadas do 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 rápido
> * [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:
- sketchnote opcional
- vídeo suplementar opcional
- quiz de aquecimento pré-lição
- questionário pré-aula
- lição escrita
- para lições baseadas em projetos, guias passo a passo para construir o projeto
- verificações de conhecimento
- um desafio
- leitura suplementar
- tarefa
- [quiz pós-lição](https://ff-quizzes.netlify.app/web/)
- [questionário pós-aula](https://ff-quizzes.netlify.app/web/)
> **Uma nota sobre quizzes**: Todos os quizzes estão contidos na pasta Quiz-app, 48 quizzes no total com três perguntas cada. Estão disponíveis [aqui](https://ff-quizzes.netlify.app/web/); a aplicação do quiz pode ser executada localmente ou implementada no Azure; siga as instruções na pasta `quiz-app`.
> **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 | 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 software que ajuda desenvolvedores profissionais | [Introdução às 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 conceitos básicos de acessibilidade web | [Fundamentos de Acessibilidade](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Noções Básicas de JS | 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 | Noções Básicas 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 | Noções Básicas de JS | 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 | Noções Básicas de JS | Arrays e Loops | Trabalhar com dados usando arrays e ciclos 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 construçã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) | Closures em JavaScript, manipulação do DOM | Construir o JavaScript para que o terrário funcione como uma interface de arrastar/soltar, 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 | [Typing Game](./4-typing-game/solution/README.md) | Construir um Jogo de Digitação | Aprender como usar eventos do teclado para conduzir a lógica da sua aplicação 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 Navegadores | Aprender como os navegadores funcionam, a sua história, e como esboçar os primeiros elementos de uma extensão para navegador | [Sobre Navegadores](./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 no local storage | 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 Verde para Navegador](./5-browser-extension/solution/README.md) | Processos em segundo plano no navegador, performance web | Usar processos em segundo plano do navegador para gerir o ícone da extensão; aprender sobre performance web e algumas otimizações para melhorar | [Tarefas em Segundo Plano e Performance](./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 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 no 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 no ecrã | Descobrir como 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) | Detecção de colisões | Fazer elementos colidirem e reagirem entre si usando teclas e providenciar uma função de cooldown para assegurar o desempenho do jogo | [Detecção de Colisões](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Jogo Espacial](./6-space-game/solution/README.md) | Manter 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) | Finalizar e reiniciar o jogo | Aprender sobre terminar e reiniciar o jogo, incluindo limpar recursos e redefinir valores de variáveis | [Condição de Fim](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [App Bancário](./7-bank-project/solution/README.md) | Templates HTML e Rotas numa Aplicação Web | Aprender como criar o esqueleto da arquitetura de um site multipágina usando roteamento e templates HTML | [Templates HTML e Rotas](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [App Bancário](./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ário](./7-bank-project/solution/README.md) | Métodos de Recolha e Uso de Dados | Como os dados fluem para dentro e para fora da sua aplicação, como buscar, armazenar e dispensar deles | [Dados](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [App Bancário](./7-bank-project/solution/README.md) | Conceitos de Gestão de Estado | Aprender como a sua aplicação retém estado e como gerir isso 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 o 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 |
| | 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 |
## 🏫 Pedagogia
O nosso currículo foi concebido com dois princípios pedagógicos chave em mente:
O nosso currículo foi desenhado com dois princípios pedagógicos chave em mente:
* aprendizagem baseada em projetos
* quizzes frequentes
* questionários frequentes
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 desenvolver experiência prática construindo um jogo de digitação, terrário virtual, extensão de navegador ecológica, jogo estilo space-invader, e uma aplicação bancária para negócios. No final da série, os alunos terão adquirido 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 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.
> 🎓 Pode fazer as primeiras lições 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!
> 🎓 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!
Garantindo que o conteúdo está alinhado com os 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 introdutórias sobre noções básicas de JavaScript para introduzir conceitos, acompanhadas de 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 cujos autores contribuíram para este currículo.
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.
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.
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.
Embora tenhamos evitado intencionalmente a introdução de frameworks JavaScript para nos concentrarmos nas competências 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: [Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon).
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)".
> Visite as nossas diretrizes de [Código de Conduta](CODE_OF_CONDUCT.md) e [Contribuição](CONTRIBUTING.md). Agradecemos o seu feedback construtivo!
> Visite as nossas diretrizes de [Código de Conduta](CODE_OF_CONDUCT.md) e [Contribuição](CONTRIBUTING.md). Apreciamos 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 digite `docsify serve`. O website 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).
## 🎒 Outros Cursos
A nossa equipa produz outros cursos! Veja:
A nossa equipa produz outros cursos! Confira:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -216,7 +224,7 @@ A nossa equipa produz outros cursos! Veja:
[![LangChain for Beginners](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 / Agentes
### Azure / Edge / MCP / Agents
[![AZD for Beginners](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 for Beginners](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 for Beginners](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)
@ -251,21 +259,21 @@ A nossa equipa produz outros cursos! Veja:
## Obter Ajuda
Se ficar preso ou tiver alguma dúvida sobre como criar aplicações de IA. Junte-se a outros estudantes e programadores experientes em discussões sobre MCP. É uma comunidade de apoio onde as perguntas são bem-vindas e o conhecimento é partilhado livremente.
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.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Se tiver feedback sobre o produto ou erros durante a construção, visite:
Se tiver feedback sobre produtos 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 é licenciado sob a licença MIT. Veja o ficheiro [LICENSE](../../LICENSE) para mais informações.
Este repositório está licenciado sob a licença MIT. Consulte 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, por favor tenha em atenção que as 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 a tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas resultantes da utilização 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 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.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save