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

update-translations
localizeflow[bot] 2 days ago
parent 60354300b7
commit d63ddb6518

@ -1,7 +1,7 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "d45ddcc54eb9232a76d08328b09d792e",
"translation_date": "2026-01-08T10:00:49+00:00",
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T15:30:44+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "et"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T19:10:18+00:00",
"translation_date": "2026-03-06T15:39:39+00:00",
"source_file": "AGENTS.md",
"language_code": "et"
},
@ -516,8 +516,8 @@
"language_code": "et"
},
"README.md": {
"original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
"translation_date": "2026-02-06T19:03:47+00:00",
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T15:26:27+00:00",
"source_file": "README.md",
"language_code": "et"
},

@ -2,27 +2,27 @@
## Projekti ülevaade
See on hariduslik õppekava hoidla algajatele veebiarenduse põhialuste õpetamiseks. Õppekava on Microsoft Cloud Advocatesi poolt koostatud põhjalik 12-nädalane kursus, mis sisaldab 24 praktilist õpetust JavaScripti, CSSi ja HTMLi kohta.
See on hariduslik õppekava hoidla veebiarenduse põhialuste õpetamiseks algajatele. Õppekava on põhjalik 12-nädalane kursus, mille on välja töötanud Microsoft Cloud Advocates, pakkudes 24 praktilist tundi, mis hõlmavad JavaScripti, CSS-i ja HTML-i.
### Põhikomponendid
- **Hariduslik sisu**: 24 struktureeritud õpetust, mis on organiseeritud projekti-põhistesse moodulitesse
- **Praktilised projektid**: Terrarium, Klahvivajutuste mäng, Brauserilaiend, Kosmose mäng, Pangarakendus, Koodiredaktor ja tehisintellekti vestlusassistent
- **Interaktiivsed viktoriinid**: 48 viktoriini, igaühes 3 küsimust (enne ja pärast õpetust)
- **Mitmekeelne tugi**: Automaatne tõlge 50+ keelde GitHub Actionsi abil
- **Tehnoloogiad**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (tehisintellekti projektide jaoks)
- **Hariduslik sisu**: 24 struktureeritud tundi, mis on organiseeritud projektipõhistesse moodulitessse
- **Praktilised projektid**: terrarium, tippmäng, brauserilaiendus, kosmose-mäng, pangarakendus, koodiredaktor ja tehisintellekti vestlusassistent
- **Interaktiivsed viktoriinid**: 48 viktoriini, igaühes 3 küsimust (enne ja pärast tundi)
- **Mitmekeelne tugi**: automatiseeritud tõlked üle 50 keelde GitHub Actions abil
- **Tehnoloogiad**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (tehisintellekti projektide jaoks)
### Arhitektuur
- Hariduslik hoidla õpetuste põhise struktuuriga
- Igas õppetõe kaustas on README, koodinäited ja lahendused
- Sõltumatud projektid eraldi kaustades (quiz-app, erinevad õppetöö projektid)
- Tõlkesüsteem kasutades GitHub Actionsi (co-op-translator)
- Dokumentatsioon esitatakse Docsify kaudu ja on saadaval PDF-na
- Hariduslik hoidla õppetundide-põhise struktuuriga
- Iga õppetunni kaust sisaldab README-d, koodinäiteid ja lahendusi
- Sõltumatud projektid eraldiseisvates kataloogides (quiz-app, erinevad õppetundide projektid)
- Tõlkesüsteem kasutades GitHub Actionsi (co-op-translator)
- Dokumentatsioon on kättesaadav Docsify kaudu ja PDF-formaadis
## Seadistamiskäsud
## Paigaldamiskäsud
See hoidla on peamiselt mõeldud haridusliku sisu tarbimiseks. Spetsiifiliste projektidega töötamiseks:
See hoidla on peamiselt mõeldud haridusliku sisu tarbimiseks. Konkreetselt projektidega töötamiseks:
### Peahoidla seadistamine
@ -37,7 +37,7 @@ cd Web-Dev-For-Beginners
cd quiz-app
npm install
npm run dev # Käivita arendusserver
npm run build # Koosta tootmiseks
npm run build # Ehita tootmiseks
npm run lint # Käivita ESLint
```
@ -48,18 +48,18 @@ cd 7-bank-project/api
npm install
npm start # Käivita API server
npm run lint # Käivita ESLint
npm run format # See läbi Prettieriga
npm run format # Vorminda Prettieriga
```
### Brauserilaiendite projektid
### Brauserilaienduse projektid
```bash
cd 5-browser-extension/solution
npm install
# Järgi brauserispetsiifilisi laienduste laadimise juhiseid
# Järgige brauseri-põhiseid laienduse laadimise juhiseid
```
### Kosmose mängu projektid
### Kosmose mänguprojektid
```bash
cd 6-space-game/solution
@ -67,42 +67,42 @@ npm install
# Ava index.html brauseris või kasuta Live Serverit
```
### Vestlusprojekti (Python taust) seadistamine
### Vestluse projekt (Python backend)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Sea GITHUB_TOKEN keskkonnamuutuja
# Määra GITHUB_TOKEN keskkonnamuutuja
python api.py
```
## Arendusvoog
## Arendusprotsess
### Sisu panustajatele
1. **Tee hoidla fork** oma GitHubi kontole
2. **Klooni oma fork kohalikku keskkonda**
3. **Loo uus haru** oma muudatuste jaoks
4. Muuda õpetuse sisu või koodinäiteid
5. Testi koodimuudatusi vastavates projektikaustades
6. Esita pull request vastavalt panustamise juhistele
1. **Hargne hoidla** oma GitHubi kontole
2. **Klooni oma haru** lokaalselt
3. **Loo uus haru** oma muudatuste jaoks
4. Tee muudatusi õppetundide sisus või koodinäidetes
5. Testi kõiki koodimuudatusi vastavates projektikataloogides
6. Esita pull request'id vastavalt panustamise juhistele
### Õppijatele
1. Tee fork või klooni hoidla
2. Liigu õppetöö kaustade vahel järjestikku
3. Loe iga õppetöö README-faile
4. Täida enne õppetööd viktoriinid aadressil https://ff-quizzes.netlify.app/web/
5. Töötle läbi koodinäited õppetöö kaustades
6. Täida ülesanded ja väljakutsed
7. Tee pärast õppetööd viktoriinid
1. Hargne või klooni hoidla
2. Liigu õppetundide kataloogides järjestikku
3. Loe iga õppetunni README faile
4. Tee ette-viktoriinid aadressil https://ff-quizzes.netlify.app/web/
5. Töötle läbi koodinäited õppetundide kaustades
6. Täida ülesanded ja väljakutsed
7. Tee järel-viktoriinid
### Reaalajas arendus
- **Dokumentatsioon**: Käivita `docsify serve` juurkataloogis (port 3000)
- **Viktoriini rakendus**: Käivita `npm run dev` quiz-app kaustas
- **Projektid**: Kasuta VS Code Live Serveri laiendust HTML projektide jaoks
- **API projektid**: Käivita `npm start` vastavates API kaustades
- **Dokumentatsioon**: käivita `docsify serve` juurkataloogis (port 3000)
- **Viktoriini rakendus**: käivita `npm run dev` quiz-app kataloogis
- **Projektid**: kasuta VS Code Live Server laiendust HTML projektide jaoks
- **API projektid**: käivita `npm start` vastavates API kataloogides
## Testimise juhised
@ -119,164 +119,164 @@ npm run build # Kontrolli, kas ehitus õnnestub
```bash
cd 7-bank-project/api
npm run lint # Kontrolli koodistiili probleeme
node server.js # Kontrolli, kas server käivitub ilma vigadeta
node server.js # Kontrolli, et server käivituks ilma vigadeta
```
### Üldine testimisviis
### Üldine testimise lähenemine
- Tegemist on haridusliku hoidla, millel puudub täielik automatiseeritud testide kogum
- Käsitsi testimine keskendub:
- Koodinäited töötavad ilma vigadeta
- Dokumentatsiooni lingid töötavad korrektselt
- Projektide buildid valmivad edukalt
- Näited järgivad häid tavasid
- See on hariduslik hoidla ilma ulatuslike automatiseeritud testideta
- Käsitsi testimine keskendub:
- Koodinäited jooksevad ilma vigadeta
- Dokumendis olevad lingid toimivad korrektselt
- Projektide ehitused õnnestuvad
- Näited järgivad parimaid tavasid
### Enne esitust tehtavad kontrollid
### Enne esitamist kontrollid
- Käivita `npm run lint` kaustades, kus on package.json
- Kontrolli markdown linkide kehtivust
- Testi koodinäiteid brauseris või Node.js-is
- Kontrolli, et tõlked säilitavad õiged struktuurid
- Käivita `npm run lint` kataloogides, kus on package.json
- Kontrolli, et markdown lingid on kehtivad
- Testi koodinäiteid brauseris või Node.js keskkonnas
- Veendu, et tõlked säilitavad õige struktuuri
## Koodistiili juhised
## Koodi stiili juhised
### JavaScript
- Kasuta kaasaegset ES6+ süntaksit
- Järgi projektides pakutud standardseid ESLinti konfiguratsioone
- Kasuta tähenduslikke muutujate ja funktsioonide nimesid hariduslikul eesmärgil
- Lisa kommentaare, mis selgitavad kontseptsioone õppijatele
- Vorminda Prettieriga, kui see on konfigureeritud
- Kasuta kaasaegset ES6+ süntaksit
- Järgi projektides pakutud ESLint konfiguratsioone
- Kasuta tähenduslikke muutujate ja funktsioonide nimesid haridusliku selguse tagamiseks
- Lisa kommentaare mõistete selgitamiseks õppijatele
- Vorminda Prettieriga seal, kus on seadistatud
### HTML/CSS
- Semantiline HTML5 elementide kasutus
- Reageeriv disainipõhimõtted
- Selged klassinime reeglid
- Kommentaarid, mis selgitavad CSS tehnikat õppijatele
- Semantiline HTML5 elemendid
- Reageeriv disaini põhimõtted
- Selged klassinimede konventsioonid
- Kommentaarid, mis selgitavad CSS-tehnikaid õppijatele
### Python
- Järgi PEP 8 stiilijuhiseid
- Selged, õppe-mõeldud koodinäited
- Tüübiviited, kus need aitavad õppimisel
- PEP 8 stiilijuhised
- Selged, hariduslikud koodinäited
- Tüüpi vihjed sealsamas, kus need aitavad õppimisel
### Markdown dokumentatsioon
- Selge pealkirjade hierarhia
- Koodiplokid keele määranguga
- Lingid täiendavatele ressurssidele
- Ekraanipildid ja pildid `images/` kaustades
- Piltide alternatiivtekst ligipääsetavuse jaoks
- Selge pealkirjade hierarhia
- Koodiblokid keelega märgistatud
- Lingid lisamaterjalide juurde
- Ekraanipildid ja pildid `images/` kataloogides
- Piltide alt-tekst ligipääsetavuseks
### Failide organiseerimine
- Õpetused nummerdatud järjestikku (1-getting-started-lessons, 2-js-basics jne)
- Igal projektil on `solution/` ning sageli ka `start/` või `your-work/` kaustad
- Pildid salvestatud konkreetsete õppetööde `images/` kaustades
- Tõlked asuvad `translations/{language-code}/` struktuuris
- Õppetunnid nummerdatud järjestikku (1-getting-started-lessons, 2-js-basics jne)
- Igal projektil on `solution/` ja tihti ka `start/` või `your-work/` kataloogid
- Pildid talletatud konkreetse õppetunni `images/` kaustas
- Tõlked `translations/{language-code}/` struktuuris
## Ehitus ja juurutamine
## Buildimine ja juurutamine
### Viktoriini rakenduse juurutus (Azure Static Web Apps)
### Viktoriini rakenduse juurutamine (Azure Static Web Apps)
Viktoriini rakendus on konfigureeritud Azure Static Web Apps juurutuseks:
Quiz-app on seadistatud Azure Static Web Apps-ile juurutamiseks:
```bash
cd quiz-app
npm run build # Loob dist/ kausta
# Teeb juurutuse GitHub Actionsi töövoo kaudu, kui surutakse main harusse
npm run build # Loob kausta dist/
# Rakendab GitHub Actionsi töövoo kaudu pushi korral põhisagarasse
```
Azure Static Web Apps konfigureerimine:
- **Rakenduse asukoht**: `/quiz-app`
- **Väljundkaust**: `dist`
- **Töövoog**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
Azure Static Web Apps konfiguratsioon:
- **Rakenduse asukoht**: `/quiz-app`
- **Väljundkaust**: `dist`
- **Töövoog**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Dokumentatsiooni PDF loomine
### Dokumentatsiooni PDF genereerimine
```bash
npm install # Installi docsify-to-pdf
npm run convert # Genereeri PDF dokumentidest
npm run convert # Genereeri PDF docsist
```
### Docsify dokumentatsioon
```bash
npm install -g docsify-cli # Paigalda Docsify globaalsetena
docsify serve # Serveri localhost:3000 peal
npm install -g docsify-cli # Paigalda Docsify ülemaailmselt
docsify serve # Serveeri lokaalselt aadressil localhost:3000
```
### Projekti-spetsiifilised ehitused
### Projektipõhised ehitused
Igal projekti kaustal võib olla oma ehitusprotsess:
- Vue projektid: `npm run build` loob tootmis-paketid
- Staatilised projektid: ehitusastet ei ole, serveeritakse faile otse
Igal projekti kataloogil võib olla oma ehitusprotsess:
- Vue projektid: `npm run build` loob tootmiseks valmis paketid
- Staatilised projektid: ehitusastet ei ole, serveeritakse failid otse
## Pull requesti juhised
## Pull Request'i juhised
### Pealkirja formaat
Kasuta selgeid ja kirjeldavaid pealkirju, mis näitavad muudatuste valdkonda:
- `[Quiz-app] Lisa uus viktoriin õppetöö X jaoks`
- `[Lesson-3] Paranda kirjaviga terrarium projekti puhul`
- `[Translation] Lisa hispaania tõlge õppetöö 5 jaoks`
- `[Docs] Uuenda seadistamise juhiseid`
Kasuta selgeid ja kirjeldavaid pealkirju, mis näitavad muudatuse ala:
- `[Quiz-app] Lisa uus viktoriin õppetunni X jaoks`
- `[Lesson-3] Paranda trükiviga terrarium projekti juures`
- `[Translation] Lisa hispaania keelne tõlge õppetunnile 5`
- `[Docs] Uuenda paigaldusjuhiseid`
### Nõutavad kontrollid
Enne PR-i esitust:
Enne PR-i esitamist:
1. **Koodi kvaliteet**:
- Käivita `npm run lint` mõjutatud projektikaustades
- Paranda kõik lint vead ja hoiatused
1. **Koodi kvaliteet**:
- Käivita `npm run lint` mõjutatud projektikataloogides
- Paranda kõik lintimise vead ja hoiatused
2. **Ehituse kontroll**:
- Käivita `npm run build`, kui rakendub
- Veendu, et ehitusel puuduvad vead
2. **Buildi kontroll**:
- Käivita `npm run build`, kui see on aktuaalne
- Veendu, et build ei viska vigu
3. **Linkide kontroll**:
- Testi kõik markdown lingid
- Kontrolli piltide osutusi
3. **Lingide valideerimine**:
- Testi kõiki markdown linke
- Kontrolli pildiviiteid
4. **Sisu ülevaatamine**:
- Õigekeelsuse ja grammatika kontroll
- Veendu, et koodinäited on õiged ja hariduslikud
- Kontrolli tõlgete vastavust esialgsele tähendusele
4. **Sisu ülevaatus**:
- Paranda õigekirja ja grammatika vead
- Veendu, et koodinäited on õiged ja hariduslikud
- Kontrolli, et tõlked säilitavad algse tähenduse
### Panustamise nõuded
- Nõustu Microsoft CLA-ga (automaattest esimese PR ajal)
- Järgi [Microsofti avatud lähtekoodi käitumiskoodeksit](https://opensource.microsoft.com/codeofconduct/)
- Vaata üksikasjalikke juhiseid failist [CONTRIBUTING.md](./CONTRIBUTING.md)
- Viita probleeminumbritele PR kirjelduse puhul, kui kehtib
- Nõustu Microsoft CLA-ga (automaatne kontroll esimesel PR-il)
- Järgi [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Vaata [CONTRIBUTING.md](./CONTRIBUTING.md) üksikasjalike juhiste jaoks
- Viita issue numbritele PR kirjelduse juures, kui sobib
### Ülevaatusprotsess
- PR-e vaatavad läbi haldajad ja kogukond
- Eristub hariduslik selgus
- Koodinäited peaksid järgima parimaid tavasid
- Tõlked vaadatakse üle täpsuse ja kultuurilise sobivuse jaoks
- PR-id üle vaatavad hooldajad ja kogukond
- Hariduslik selgus on esimene prioriteet
- Koodinäited peaksid järgima parimaid tavasid
- Tõlked kontrollitakse täpsuse ja kultuurilise sobivuse osas
## Tõlkesüsteem
### Automaatne tõlge
### Automatiseeritud tõlge
- Kasutab GitHub Actionsi koos co-op-translator töövooga
- Tõlgib automaatselt 50+ keelde
- Allikafailid paiknevad peamistes kaustades
- Tõlgitud failid on `translations/{language-code}/` kaustades
- Kasutab GitHub Actionsi koos co-op-translator töövooga
- Tõlgib automaatselt üle 50 keelde
- Allikfailid paiknevad peakaustades
- Tõlgitud failid on `translations/{language-code}/` kataloogides
### Käsitsi tõlke täienduste lisamine
### Käsitsi tõlke parenduste lisamine
1. Leia fail kaustast `translations/{language-code}/`
2. Tee parandused säilitades struktuuri
3. Veendu, et koodinäited jäävad toimima
4. Testi kõiki lokaliseeritud viktoriinisisusid
1. Leia fail kataloogist `translations/{language-code}/`
2. Tee parendused, säilitades struktuuri
3. Veendu, et koodinäited jäävad töökorras
4. Testi kõiki lokaliseeritud viktoriine
### Tõlke metaandmed
Tõlgitud failidel on metaandmete päis:
Tõlgitud failid sisaldavad metaandmetega päist:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -291,118 +291,118 @@ CO_OP_TRANSLATOR_METADATA:
## Silumine ja tõrkeotsing
### Levinud probleemid
### Levinumad probleemid
**Viktoriini rakendus ei käivitu**:
- Kontrolli Node.js versiooni (soovitatav v14+)
- Kustuta `node_modules` ja `package-lock.json`, seejärel käivita `npm install` uuesti
- Kontrolli pordi konflikte (vaikimisi: Vite kasutab porti 5173)
**Viktoriini rakendus ei käivitu**:
- Kontrolli Node.js versiooni (soovitatav v14+)
- Kustuta `node_modules` ja `package-lock.json`, käivita uuesti `npm install`
- Kontrolli portide konflikte (vaikimisi: Vite kasutab porti 5173)
**API server ei käivitu**:
- Veendu, et Node.js versioon vastab miinimumile (node >=10)
- Kontrolli, kas port on juba kasutuses
- Veendu, et kõik sõltuvused installitud käsuga `npm install`
**API server ei käivitu**:
- Veendu, et Node.js versioon on piisavalt uus (node >=10)
- Kontrolli, kas port on juba hõivatud
- Veendu, et kõik sõltuvused on paigaldatud käsuga `npm install`
**Brauserilaiend ei laadi**:
- Kontrolli, et manifest.json on korrektselt vormindatud
- Kontrolli brauseri konsooli vigade kohta
- Järgi brauserispetsiifilisi laiendi paigaldamise juhiseid
**Brauserilaiendust ei laadita**:
- Kontrolli, et manifest.json on korrektselt vormistatud
- Vaata brauseri konsoolist vigu
- Järgi brauseri-spetsiifilisi laienduse paigaldusjuhiseid
**Python vestlusprojekti probleemid**:
- Veendu, et OpenAI pakett on installitud: `pip install openai`
- Kontrolli, et GITHUB_TOKEN keskkonnamuutuja on määratud
- Kontrolli GitHub Models juurdepääsu õigusi
**Python vestluse projekti probleemid**:
- Veendu, et OpenAI pakett on paigaldatud: `pip install openai`
- Veendu, et GITHUB_TOKEN keskkonnamuutuja on seadistatud
- Kontrolli GitHubi mudelite kasutusõigusi
**Docsify ei serveeri dokumente**:
- Installi globaalne docsify-cli: `npm install -g docsify-cli`
- Käivita hoidla juurkataloogist
- Kontrolli, et `docs/_sidebar.md` fail on olemas
**Docsify ei serveeri dokumentatsiooni**:
- Paigalda docsify-cli globaalselt: `npm install -g docsify-cli`
- Käivita hoidla juurkataloogist
- Kontrolli, et `docs/_sidebar.md` fail eksisteerib
### Arenduskeskkonna näpunäited
- Kasuta VS Codei koos Live Server laiendusega HTML projektide jaoks
- Paigalda ESLint ja Prettier laiendused ühtseks vormindamiseks
- Kasuta brauseri arendustööriistu JavaScripti silumiseks
- Vue projektide puhul paigalda Vue DevTools brauserilaiend
- Kasuta VS Codei Live Server laiendust HTML projektide jaoks
- Paigalda ESLint ja Prettier laiendused vorminduse järjepidevuseks
- Kasuta brauseri DevToolsi JavaScripti silumiseks
- Vue projektide jaoks paigalda Vue DevTools brauserilaiendus
### Jõudluse kaalutlused
- Suur hulk tõlgitud faile (50+ keelt) teeb tervikhoidla klooni suureks
- Kasuta madalat klooni, kui töötad ainult sisuga: `git clone --depth 1`
- Väldi tõlgete otsimist töös, kui tegeled ingliskeelse sisuga
- Ehitused võivad esimesel käivitamisel olla aeglased (npm install, Vite build)
- Suur hulk tõlgitud faile (üle 50 keele) muudab kloonid suurt e mahukaks
- Kasuta ligikaudset klooni, kui töötad ainult sisuga: `git clone --depth 1`
- Välista tõlked otsingutest, kui töötad ingliskeelse sisuga
- Ehitusprotsessid võivad olla esmakordsel käivitamisel aeglased (npm install, Vite ehitus)
## Turvalisuse kaalutlused
### Keskkonnamuutujad
- API võtmeid ei tohiks kunagi hoidlasse commitida
- Kasuta `.env` faile (juba lisatud `.gitignore` failile)
- Dokumenteeri nõutud keskkonnamuutujad projekti README-des
- API võtmeid ei tohi kunagi hoidlas hoida
- Kasuta `.env` faile (mis on juba `.gitignore`-s)
- Dokumendeeri nõutud keskkonnamuutujad projektide README-des
### Python projektid
- Kasuta virtuaalkeskkonda: `python -m venv venv`
- Hoia sõltuvused ajakohased
- GitHub tokenid peaksid omama minimaalset vajaminevat õigust
- Kasuta virtuaalkeskkonda: `python -m venv venv`
- Hoia sõltuvused ajakohased
- GitHubi tokenitel peaks olema minimaalne vajalik ligipääs
### GitHub Models ligipääs
### GitHub mudelite ligipääs
- GitHub Models kasutamiseks on vajalikud isikliku ligipääsu tokenid (PAT)
- Tokenid peaksid olema salvestatud keskkonnamuutujatena
- Ükski token ega tunnus ei tohi kunagi hoidlasse commitida
- GitHubi mudelite jaoks on vaja isiklikke juurdepääsu võtmeid (PAT)
- Tokeneid hoitakse keskkonnamuutujatena
- Ära kunagi pane tokeneid või mandaate hoidla külge
## Lisamärkused
### Sihtgrupp
- Täielikud algajad veebiarenduses
- Õpilased ja iseseisvad õppijad
- Õpetajad, kes kasutavad õppekava klassiruumis
- Sisu on loodud ligipääsetavaks ja oskuste järkjärguliseks arendamiseks
- Täielikud algajad veebiarenduses
- Üliõpilased ja iseseisvad õppijad
- Õpetajad, kes kasutavad õppekava klassiruumis
- Sisu on loodud ligipääsetavaks ja oskuste järkjärgulise kasvatamise jaoks
### Haridusfilosoofia
- Projektipõhine õpe
- Sageli korduvad teadmiste kontrollid (viktoriinid)
- Käed-külge kodeerimise harjutused
- Reaalsete olukordade rakendamise näited
- Keskendumine põhialustele enne raamistikke
- Projektipõhine õppekava lähenemine
- Sageli teadmiste kontrollid (viktoriinid)
- Praktilised kodeerimisharjutused
- Reaalmaailma rakenduste näited
- Fookus põhialustel enne raamistikke
### Hoidla hooldus
- Aktiivne õppijate ja panustajate kogukond
- Regulaarne sisu ja sõltuvuste uuendamine
- Probleemide ja arutelude jälgimine haldajate poolt
- Tõlkevärskendused automatiseeritud GitHub Actionsi kaudu
- Aktiivne õppijate ja panustajate kogukond
- Regulaarne sisu ja sõltuvuste uuendamine
- Hoiatuste ja arutelude jälgimine hooldajate poolt
- Tõlgete automatiseeritud uuendamine GitHub Actionsi kaudu
### Seotud ressursid
- [Microsoft Learn moodulid](https://docs.microsoft.com/learn/)
- [Õpilaste keskuse ressursid](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) soovitatav õppijatele
- Täiendavad kursused: Generatiivne AI, Andmeteadus, ML, IoT õppekavad kättesaadavad
- [Microsoft Learn moodulid](https://docs.microsoft.com/learn/)
- [Student Hub ressursid](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) soovitatav õppijatele
- Lisakursused: Generatiivne AI, Andmeteadus, ML, IoT õppekavad olemas
### Töötamine spetsiifiliste projektidega
### Töötamine konkreetsete projektidega
Üksikasjad üksikute projektide kohta asuvad nende README failides:
- `quiz-app/README.md` - Vue 3 viktoriini rakendus
- `7-bank-project/README.md` - Panga rakendus autentimisega
- `5-browser-extension/README.md` - Brauserilaiendi arendus
- `6-space-game/README.md` - Canvas-põhine mänguarendus
- `9-chat-project/README.md` - Tehisintellekti vestlusassistendi projekt
Üksikasjaliku juhendi leiad iga projekti README failidest:
- `quiz-app/README.md` - Vue 3 viktoriinirakendus
- `7-bank-project/README.md` - Panga rakendus koos autentimisega
- `5-browser-extension/README.md` - Brauserilaienduse arendus
- `6-space-game/README.md` - Canvas-põhine mänguarendus
- `9-chat-project/README.md` - Tehisintellekti vestlusassistendi projekt
### Monorepo struktuur
Kuigi ei ole traditsiooniline monorepo, sisaldab see hoidla mitmeid iseseisvaid projekte:
- Iga õppetöö on iseseisev
- Projektid ei jaga sõltuvusi
- Üksikute projektidega töötab eraldi, ilma teistele mõju tegemata
- Kogu hoidlasse kloonides saad täieliku õppekava kogemuse
Kuigi ei ole traditsiooniline monorepo, sisaldab see hoidla mitut sõltumatut projekti:
- Iga õppetund on iseseisev
- Projektid ei jaga sõltuvusi
- Töötada saab iga projektiga iseseisvalt, ilma teistele mõjuta
- Klooni kogu hoidla, et saada täielik õppekogemus
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Vastutusest loobumine**:
See dokument on tõlgitud kasutades tehisintellektil põhinevat tõlkesüsteemi [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi püüame tagada täpsust, palun arvestage, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument selle emakeeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti mõistmiste eest.
**Tähelepanek**:
See dokument on tõlgitud kasutades tehisintellekti tõlketeenust [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi püüame tagada täpsust, palun arvestage, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument selle emakeeles tuleks pidada usaldusväärseks allikaks. Olulise teabe puhul soovitatakse professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste ega valesti mõistmiste eest.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -10,201 +10,213 @@
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# Veebiarendus algajatele Õppekava
# Veebiarendus algajatele - õppekava
Õpi veebiarenduse põhialuseid meie 12-nädalase põhjaliku kursusega, mida viivad läbi Microsoft Cloud Advocates. Kõik 24 õppetundi süvenevad JavaScripti, CSS-i ja HTML-i praktiliste projektide kaudu, näiteks terrariumid, brauserilaiendid ja kosmose mängud. Osale viktoriinides, aruteludes ja praktilistes ülesannetes. Paranda oma oskusi ja optimeeri teadmiste meeldejätmist meie tõhusa projektipõhise pedagoogikaga. Alusta oma programmeerimisteekonda juba täna!
Õppige veebiarenduse aluseid meie 12-nädalase põhjaliku kursusega, mida viivad läbi Microsoft Cloud Advocates. Iga 24 õppetundi süveneb JavaScripti, CSS-i ja HTML-i tundmaõppimisse praktiliste projektide kaudu, nagu terrariumid, brauserilaiendused ja kosmosemängud. Osalege viktoriinides, aruteludes ja praktilistes ülesannetes. Parandage oma oskusi ja optimeerige teadmiste omandamist meie tõhusa projektipõhise pedagoogika abil. Alustage oma programmeerimisteekonda juba täna!
Liitu Azure AI Foundry Discordi kogukonnaga
Liituge Azure AI Foundry Discordi kogukonnaga
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Järgige neid samme, et alustada nende ressursside kasutamist:
1. **Jaga hoidlaga**: Klõpsake [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
1. **Tehke fork**: Klõpsake [![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. **Kloonige hoidla**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Liitu Azure AI Foundry Discordiga ning kohtuge ekspertide ja teiste arendajatega**](https://discord.com/invite/ByRwuEEgH4)
3. [**Liituge Azure AI Foundry Discordiga ja kohtuge ekspertide ning kaasarendajatega**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Mitmekeelne tugi
### 🌐 Mitmekeelse toe võimalus
#### Toetatud GitHub Actioni kaudu (automatiseeritud ja alati ajakohane)
#### Tugineb GitHub Actionile (automatiseeritud ja alati ajakohane)
<!-- 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](./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)](../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)
> **Eelistad kohalikku kloonimist?**
> See hoidla sisaldab üle 50 keele tõlget, mis suurendab oluliselt allalaadimismahtu. Tõlgeteta kloonimiseks kasuta harva allalaaditava sisuga kloonimist (sparse checkout):
> **Eelistate kohalikku kloonimist?**
>
> See hoidla sisaldab üle 50 keele tõlget, mis suurendab allalaadimismahu oluliselt. Tõlgeteta kloonimiseks kasutage sparsel checkouti:
>
> **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'
> ```
> See annab sulle kõik vajaliku kursuse läbimiseks palju kiiremalt.
>
> **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"
> ```
>
> See annab teile kõik vajaliku kursuse läbimiseks palju kiirema allalaadimisega.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Kui soovid toetada täiendavaid tõlkekeeli, on nende loetelu [siin](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Kui soovite lisada uusi toetatud tõlkekeeli, on need loetletud [siin](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)
#### 🧑‍🎓 _Oled tudeng?_
#### 🧑‍🎓 _Oled õpilane?_
Külasta [**Tudengikeskuse lehte**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), kus leiad algajale suunatud ressursid, tudengipakid ja isegi võimalused saada tasuta sertifikaadikupong. See on leht, mille soovid järjehoidjaks panna ja aeg-ajalt külastada, sest sisu uuendatakse igakuiselt.
Külasta [**Öpilaskeskuse lehte**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), kus leiad algajatele mõeldud ressursse, õpilaspakette ja isegi võimalusi saada tasuta sertifikaadikuponge. See on leht, mida soovid järjehoidjatesse lisada ja aeg-ajalt vaadata, sest sisu uuendatakse iga kuu.
### 📣 Teade Uued väljakutsed GitHub Copilot Agent režiimis, mida lõpuni viia!
### 📣 Teade - uued GitHub Copilot Agendi režiimi väljakutsed täitmiseks!
Lisandus uus väljakutse, otsi enamikest peatükkidest "GitHub Copilot Agent Challenge 🚀". See on uus väljakutse, mida saad täita GitHub Copilot ja Agent režiimi abil. Kui sa pole varem Agent režiimi kasutanud, siis see suudab mitte ainult teksti genereerida, vaid ka faile luua ja muuta, käivitada käske ja palju muud.
Uus väljakutse lisatud, otsi enamikes peatükkides "GitHub Copilot Agent Challenge 🚀". See on uus väljakutse teile, mida täita GitHub Copiloti ja agendi režiimi abil. Kui te ei ole varem agendi režiimi kasutanud, on see võimeline genereerima mitte ainult teksti, vaid ka looma ja redigeerima faile, käivitama käske ja muud.
### 📣 Teade _Uus generatiivse tehisintellekti abil ehitatav projekt_
### 📣 Teade - _uus projekt, mille saab luua Generatiivse AI abil_
Lisandus uus AI assistendi projekt, vaata lähemalt [projektist](./9-chat-project/README.md)
Uus AI assistendi projekt on just lisatud, vaata projekti [siit](./9-chat-project/README.md)
### 📣 Teade _Uus Generative AI õppekava JavaScriptile_
### 📣 Teade - _Uus õppekava_ Generatiivse AI kohta JavaScriptile on just välja antud
Ära jäta vahele meie uut Generatiivse AI õppekava!
Ära jää ilma meie uuest Generatiivse AI õppekavast!
Alusta aadressil [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)!
Külasta [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) alustamiseks!
![Background](../../translated_images/et/background.148a8d43afde5730.webp)
- Õppetunnid käsitlevad kõike alates põhitõdedest kuni RAG-ni.
- Suhtle ajalooliste tegelastega GenAI ja meie kaasrakenduse abil.
- Lõbus ja kaasahaarav jutustus, kus rändad ajas!
- Õppetunnid hõlmavad kõike alates algteadmistest kuni RAG-ini.
- Suhtle ajalooliste tegelastega GenAI ja meie kaaslase rakenduse abil.
- Lõbus ja kaasahaarav jutustus, kus sa rändad ajas!
![character](../../translated_images/et/character.5c0dd8e067ffd693.webp)
Iga õppetund sisaldab sooritamiseks ülesannet, teadmiste kontrolli ja väljakutset, mis aitavad õpitavates valdkondades nagu:
- Päringute koostamine ja päringute inseneritehnika
- Teksti ja pildirakenduste genereerimine
Iga õppetund sisaldab täidetavat ülesannet, teadmiste kontrolli ja väljakutset, mis juhib õppimist teemadel nagu:
- Käsutamine ja käsu koostamine
- Teksti- ja pildirakenduste genereerimine
- Otsingurakendused
Alusta aadressil [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)!
Külasta [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) alustamiseks!
## 🌱 Alustamine
> **Õpetajad**, me oleme lisanud mõned soovitused [siin](for-teachers.md), kuidas seda õppekava kasutada. Hindame väga teie tagasisidet [meie arutelufoorumis](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Õpetajad**, oleme lisanud [mõningaid soovitusi](for-teachers.md), kuidas seda õppekava kasutada. Ootame teie tagasisidet [meie arutelufoorumis](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Õppijad](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, alustage iga õppetundi eeloengu viktoriiniga, järgige loengumaterjali lugemist, sooritage erinevad tegevused ja kontrollige arusaamist järelõppe viktoriiniga.
**[Õppijad](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, iga õppetunni puhul alustage eel-loengu viktoriiniga ja jätkake õppetükiga, täites erinevaid tegevusi ja kontrollides arusaamist järel-loengu viktoriiniga.
Õppimise kogemuse parandamiseks looge ühendus oma eakaaslastega, et koos projektidega töötada! Arutelud on teretulnud meie [arutelufoorumis](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), kus meie moderaatorite meeskond on valmis teie küsimustele vastama.
Õppimiskogemuse parandamiseks ühenduge oma eakaaslastega, et koos projekte teha! Arutelud on julgustatud meie [arutelufoorumis](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), kus meie moderaatorimeeskond vastab teie küsimustele.
Veelgi rohkem õppimiseks soovitame tungivalt uurida [Microsoft Learni](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) lisastudiumimaterjale.
Haridusteekonna süvendamiseks soovitame tungivalt uurida [Microsoft Learni](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) täiendavaid õppematerjale.
### 📋 Keskkonna seadistamine
Sellel õppekaval on valmis arenduskeskkond! Kursuse alustamisel võid valida selle käivitamise [Codespaceis](https://github.com/features/codespaces/) (_brauseripõhine, pole vaja midagi paigaldada_), või kohalikult oma arvutis tekstitöötlusprogrammi nagu [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) abil.
Sellel õppekaval on arenduskeskkond kohe kasutamiseks valmis! Alustades võite valida, kas kasutada õppekava [Codespaces](https://github.com/features/codespaces/) keskkonnas (_brauseripõhine, installimist mitte nõudev keskkond_) või oma arvutis lokaalselt tekstiredaktorit, näiteks [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Loo oma hoidla
Selleks, et oleks lihtsam oma tööd salvestada, soovitatakse luua selle hoidla koopia. Seda saad teha, klõpsates lehe ülaosas nuppu **Use this template**. See loob uue hoidla sinu GitHubi kontole koos õppekava koopiaga.
Selleks, et oma tööd hõlpsasti salvestada, soovitame luua oma koopia sellest hoidlast. Seda saab teha, klõpsates lehe ülaosas nuppu **Use this template**. See loob uue hoidla teie GitHubi kontole koos õppekava koopiaga.
Järgi neid samme:
1. **Jaga hoidlaga**: Klõpsa selle lehe paremas ülanurgas nuppu "Fork".
Järgige neid samme:
1. **Tehke fork**: Klõpsake selle lehe paremas ülanurgas nuppu "Fork".
2. **Kloonige hoidla**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Õppekava käivitamine Codespaces keskkonnas
#### Õppekava käitamine Codespaces keskkonnas
Selles hoidla koopias, mille lõid, klõpsa nuppu **Code** ja vali **Open with Codespaces**. See loob sulle uue Codespacei töötamiseks.
Oma loodud hoidla koopias klõpsake nuppu **Code** ja valige **Open with Codespaces**. See loob teile uue Codespace'i, kus tööd teha.
![Codespace](../../translated_images/et/createcodespace.0238bbf4d7a8d955.webp)
#### Õppekava käivitamine kohalikult arvutis
#### Õppekava käitamine lokaalselt oma arvutis
Selle õppekava kohalikuks käivitamiseks vajad tekstitöötlusprogrammi, brauserit ja käsurea tööriista. Meie esimene õppetund, [Sissejuhatus programmeerimiskeeltesse ja tööriistadesse](../../1-getting-started-lessons/1-intro-to-programming-languages), juhatab sind läbi erinevate võimaluste ning aitab valida sobivad tööriistad.
Õppekava lokaalseks käivitamiseks vajate tekstiredaktorit, veebilehitsejat ja käsurea tööriista. Meie esimene õppetund, [Sissejuhatus programmeerimiskeeltesse ja tööriistadesse](../../1-getting-started-lessons/1-intro-to-programming-languages), juhendab teid erinevate võimaluste valikul iga tööriista jaoks.
Soovitame kasutada [Visual Studio Codei](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) tekstiredaktorina, millel on ka sisseehitatud [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Codei saad alla laadida [siit](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Kloonige oma hoidla oma arvutisse. Seda saad teha, klõpsates nuppu **Code** ja kopeerides URL:
Soovitame kasutada [Visual Studio Code'i](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) redaktorina, millel on sisseehitatud [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code'i saate alla laadida [siit](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Kopeeri oma hoidla arvutisse. Seda saad teha, klõpsates nuppu **Code** ning kopeerides URL-i:
[CodeSpace](./images/createcodespace.png)
Seejärel ava [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) [Visual Studio Code'i](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) sees ja käivita järgmine käsk, asendades `<your-repository-url>` äsja kopeeritud URL-iga:
Seejärel ava [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) sees ning käivita järgmine käsk, asendades `<your-repository-url>` just äsja kopeeritud URL-iga:
```bash
git clone <your-repository-url>
```
2. Ava kaust Visual Studio Code'is. Seda saad teha, klõpsates **File** > **Open Folder** ja valides äsja kloonitud kausta.
> Soovitatud Visual Studio Code laiendused:
2. Ava Visual Studio Codeis kaust. Seda saad teha, klõpsates **File** > **Open Folder** ning valides kausta, mille just kloonisid.
> Soovitatud Visual Studio Code'i laiendused:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) HTML-lehtede eelvaate kuvamiseks Visual Studio Code'is
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) aitab sul koodi kiiremini kirjutada
## 📂 Iga õppetund sisaldab:
- valikuline visand
- valikuline lisavidin
- eelõppe soojendus-quiz
- kirjalik õppetund
- projektipõhiste õppetundide korral samm-sammult juhised projekti ehitamiseks
- teadmiste kontroll
- väljakutse
- lisalugemine
- ülesanne
- [järgnev quiz](https://ff-quizzes.netlify.app/web/)
> **Märkused quizide kohta**: Kõik quizid asuvad Quiz-app kaustas, kokku 48 quiz'i, igas kolm küsimust. Need on kättesaadavad [siin](https://ff-quizzes.netlify.app/web/). Quiz-rakendust saab käivitada lokaalselt või paigaldada Azure'i; järgi juhiseid `quiz-app` kaustas.
## 🗃️ Õppetunnid
| | Projekti nimi | Õppekäsitlused | Õpieesmärgid | Seotud õppetund | Autor |
| :-: | :------------------------------------------------------: | :------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Alustamine | Programmeerimise ja tööriistade tutvustus | Õpi programmeerimiskeelte alustalasid ja tarkvara, mis aitab arendajatel tööd teha | [Sihtprogrammide ja tööriistade sissejuhatus](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Alustamine | GitHub'i alused, meeskonnatöö | Õpi kasutama GitHubi projektis ja koostööd koodibaasil | [GitHub'i alused](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Alustamine | Ligipääsetavus | Õpi veebipõhise ligipääsetavuse aluseid | [Ligipääsetavuse alused](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS algtõed | JavaScripti andmetüübid | JavaScripti andmetüüpide alused | [Andmetüübid](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS algtõed | Funktsioonid ja meetodid | Õpi rakenduse loogika juhtimise funktsioonide ja meetodite kohta | [Funktsioonid ja meetodid](./2-js-basics/2-functions-methods/README.md) | Jasmine ja Christopher |
| 06 | JS algtõed | Otsuste tegemine JS abil | Õpi, kuidas koodis luua tingimusi otsustusmeetodite abil | [Otsuste tegemine](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS algtõed | Massiivid ja tsüklid | Töötle andmeid massiivide ja tsüklite abil JavaScriptis | [Massiivid ja tsüklid](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML praktikas | Ehitada HTML, et luua veebiterrarium, keskendudes paigutuse loomisele | [Sissejuhatus HTML-i](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS praktikas | Ehita CSS veebiterrariumi stiiliks, keskendudes CSS põhialustele sh lehe reageerivusele | [Sissejuhatus CSS-i](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScripti sulgemised, DOM manipulatsioon | Ehita JavaScript, mis teeb terrariumi lohistamiskogemuseks, keskendudes sulgemistele ja DOM manipulatsioonile | [JavaScript sulgemised, DOM manipulatsioon](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Tippimismängu ehitamine | Õpi kasutama klaviatuurisündmusi oma JavaScripti rakenduse loogika juhtimiseks | [Sündmustepõhine programmeerimine](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Brauseritega töötamine | Õpi, kuidas brauserid toimivad, nende ajalugu ja kuidas esimesed elemendid brauserilaienduse jaoks üles seada | [BROWSERID](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Vormide loomine, API kasutamine ja muutujate salvestamine kohalikku salve | Ehita oma brauserilaienduse JavaScripti osad API kutsumiseks ja kohalikku salvesse muutujate salvestamiseks | [API-d, vormid ja kohalik salvestus](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Brauseril taustaprotsessid, veebitöötluse optimeerimine | Kasuta brauseri taustaprotsesse laiendi ikooni haldamiseks; õpi veebitöötluse ja optimeerimisvõtteid | [Taustatöö ja jõudlus](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | Täiustatud mänguarendus JavaScriptiga | Õpi pärandamist nii klasside kui kompositsiooni kaudu ning Pub/Sub mudelit, et valmistuda mängu ehitamiseks | [Täpsem mänguarendus](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Joonistamine Canvasel | Õpi Canvas API kasutamist elementide joonistamiseks ekraanile | [Joonistamine Canvasel](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Elementide liigutamine ekraanil | Avastage, kuidas objektid saavad liikuma kardiniaalsete koordinaatide ja Canvas API abil | [Elementide liigutamine](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Kokkupõrgete tuvastamine | Pane objektid põrkama ja teineteisega reageerima klahvivajutuste abil, lisa jahutuse funktsioon mängu jõudluse tagamiseks | [Kokkupõrgete tuvastamine](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Tulemustabeli hoidmine | Tee matemaatilisi arvutusi mängu oleku ja jõudluse põhjal | [Tulemustabeli hoidmine](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Mängu lõpetamine ja taaskäivitamine | Õpi mängu lõpetamise ja taaskäivitamise protsessidest, sh ressursside vabastamine ja muutujate lähtestamine | [Lõpetingimus](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | Veebirakenduse HTML mallid ja marsruutimine | Õpi, kuidas luua mitme leheküljega veebilehe arhitektuur, kasutades marsruutimist ja HTML malle | [HTML mallid ja marsruudid](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Sisselogimis- ja registreerimisvorm | Õpi vormide loomist ja valideerimise haldamist | [Vormid](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Andmete pärimine ja kasutamine | Kuidas andmed sinu rakendusse sisenevad ja sealt väljuvad, kuidas neid pärida, salvestada ja lõpetada | [Andmed](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Staatuse halduse kontseptsioonid | Õpi, kuidas rakenduses hallata ja programmiliselt kontrollida olekut | [Oleku haldus](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | VScode kasutamine | Õpi kasutama koodi redaktorit | [VScode koodi redaktori kasutamine](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Tehisintellekti kasutamine | Õpi looma oma AI assistenti | [AI assistendi projekt](./9-chat-project/README.md) | Chris |
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - HTML-lehtede eelvaade Visual Studio Codeis
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - aitab kirjutada koodi kiiremini
## 📂 Iga õppetükk sisaldab:
- valikulist visandit
- valikulist täiendavat videot
- soojendusharjutust enne tundi
- kirjalikku õppetükki
- projektipõhiste õppetükkide puhul samm-sammulisi juhendeid, kuidas projekti ehitada
- teadmiste kontrolli küsimustikke
- väljakutset
- täiendavat lugemist
- ülesannet
- [pärastundi viktoriini](https://ff-quizzes.netlify.app/web/)
> **Märkus viktoriinide kohta**: Kõik viktoriinid asuvad Quiz-app kaustas, kokku 48 viktoriini, milles igas on kolm küsimust. Need on kättesaadavad [siin](https://ff-quizzes.netlify.app/web/). Viktoriini rakendus saab käivitada lokaalselt või paigaldada Azurei; järgige juhiseid `quiz-app` kaustas.
## 🗃️ Õppetükid
| | Projekti nimi | Õpitavad kontseptsioonid | Õpieesmärgid | Seotud õppetükk | Autor |
| :-: | :-------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Alustamine | Sissejuhatus programmeerimisse ja tööriistadesse | Õpi programmeerimiskeelte põhialuseid ja tarkvara, mis aitab professionaalsel arendajal tööd teha | [Sissejuhatus programmeerimiskeeltesse ja tööriistadesse](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Alustamine | GitHub põhialused, sh meeskonnatöö | Kuidas kasutada GitHubi projektis ja kuidas meeskonnana koodil koos töötada | [Sissejuhatus GitHubi](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Alustamine | Juurdepääsetavus | Õpi veebipõhise juurdepääsetavuse aluseid | [Juurdepääsetavuse alused](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS põhitõed | JavaScripti andmetüübid | JavaScripti andmetüüpide põhialused | [Andmetüübid](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS põhitõed | Funktsioonid ja meetodid | Õpi funktsioonidest ja meetoditest rakenduse loogika juhtimisel | [Funktsioonid ja meetodid](./2-js-basics/2-functions-methods/README.md) | Jasmine ja Christopher |
| 06 | JS põhitõed | Otsuste tegemine JS-ga | Õpi, kuidas luua tingimusi oma koodis otsustuste tegemise meetodite abil | [Otsuste tegemine](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS põhitõed | Massiivid ja tsüklid | Töötle andmeid JavaScripti massiivide ja tsüklite abil | [Massiivid ja tsüklid](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML praktikas | Ehita HTML, et luua veebipõhine terrarium, keskendudes paigutuse loomisele | [Sissejuhatus HTML-i](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS praktikas | Ehita CSS veebiterrariumi kujundamiseks, keskendudes CSS põhialustele ja lehe reageerivusele | [Sissejuhatus CSS-i](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScripti sulgemised, DOM-i manipuleerimine | Ehita JavaScript, mis muudab terrariumi lohistatavaks kasutajaliideseks, keskendudes sulgemistele ja DOM-i manipuleerimisele | [JavaScript sulgemised ja DOM-i manipuleerimine](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Tippimismäng](./4-typing-game/solution/README.md) | Tippimismängu loomine | Õpi kasutama klaviatuuri sündmusi, et juhtida oma JavaScripti rakenduse loogikat | [Sündmuspõhine programmeerimine](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Roheline brauserilaiend](./5-browser-extension/solution/README.md) | Brauseritega töötamine | Õpi, kuidas brauserid töötavad, nende ajalugu ja kuidas luua brauserilaiendi esimesed elemendid | [Brauserite kohta](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Roheline brauserilaiend](./5-browser-extension/solution/README.md) | Vormide loomine, API kutsumine ja muutujate salvestamine lokaalsesse mällu | Ehita brauserilaiendi JavaScripti osad API kutsumiseks, kasutades lokaalsesse mällu salvestatud muutujaid | [API-d, vormid ja lokaalne mälu](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Roheline brauserilaiend](./5-browser-extension/solution/README.md) | Taustaprotsessid brauseris, veebitööjõudlus | Kasuta brauseri taustaprotsesse laiendi ikooni juhtimiseks; õpi veebitööjõudlusest ja mõningatest optimeerimistest | [Taustaprotsessid ja tööjõudlus](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Kosmosemäng](./6-space-game/solution/README.md) | Täiustatud mänguarendus JavaScriptiga | Õpi pärandamise kohta klasside ja koostise kaudu ning Pub/Sub mustrit, ettevalmistuseks mängu loomiseks | [Täiustatud mänguarenduse sissejuhatus](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Kosmosemäng](./6-space-game/solution/README.md) | Joonistamine lõuendile | Õpi Canvas API kasutamist ekraanile elementide joonistamiseks | [Joonistamine lõuendile](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Kosmosemäng](./6-space-game/solution/README.md) | Elementide liigutamine ekraanil | Avastage, kuidas elementidele anda liikumist kasutades kaarteesia koordinaate ja Canvas API-d | [Elementide liigutamine](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Kosmosemäng](./6-space-game/solution/README.md) | Kokkupõrke tuvastamine | Tee elementide kokkupõrked ja reageerimine kasutades klahvivajutusi ning lisa jahutusfunktsioon, mis tagab mängu sujuvuse | [Kokkupõrke tuvastamine](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Kosmosemäng](./6-space-game/solution/README.md) | Skoriga arvestamine | Tee matemaatilisi arvutusi mängu staatuse ja jõudluse alusel | [Skoori pidamine](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Kosmosemäng](./6-space-game/solution/README.md) | Mängu lõpetamine ja taaskäivitamine | Õpi mängu lõpetamise ja taaskäivitamise kohta, sh ressursside puhastamine ja muutuja väärtuste lähtestamine | [Lõputingimus](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Pangarakendus](./7-bank-project/solution/README.md) | HTML mallid ja marsruudid veebirakenduses | Õpi, kuidas luua mitmeleheküljelise veebilehe arhitektuuri tugistruktuur marsruutimise ja HTML mallide abil | [HTML mallid ja marsruudid](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Pangarakendus](./7-bank-project/solution/README.md) | Logimise ja registreerimise vormi loomine | Õpi vormide loomist ja valideerimise teostamist | [Vormid](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Pangarakendus](./7-bank-project/solution/README.md) | Andmete pärimise ja kasutamise meetodid | Kuidas andmed voolavad sinu rakendusse ja sealt välja, kuidas neid pärida, salvestada ja eemaldada | [Andmed](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Pangarakendus](./7-bank-project/solution/README.md) | Seisundihalduse kontseptsioonid | Õpi, kuidas sinu rakendus säilitab seisundit ja kuidas seda programmeeritult hallata | [Seisundihaldus](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Brauser/VScode Kood](../../8-code-editor) | Töötamine VScode'iga | Õpi, kuidas kasutada koodiredaktorit| [Kasuta VScode koodiredaktorit](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Tehisintellekti assistendid](./9-chat-project/README.md) | Töötamine tehisintellektiga | Õpi, kuidas ehitada oma tehisintellekti assistent | [Tehisintellekti assistendi projekt](./9-chat-project/README.md) | Chris |
## 🏫 Pedagoogika
Meie õppekava on loodud kahe peamise pedagoogilise printsiibi alusel:
* projektipõhine õpe
* sagedased testid
Meie õppekava on kavandatud kahe peamise pedagoogilise põhimõtte järgi:
* projektipõhine õpe
* sagedased viktoriinid
Programm õpetab JavaScripti, HTML-i ja CSS-i põhialuseid ning uusimaid tööriistu ja tehnikaid, mida kasutavad tänapäeva veebiarendajad. Õpilastel on võimalus praktiliselt kogeda, ehitades tippimismängu, virtuaalse terrariumi, keskkonnasõbraliku brauserilaiendi, kosmose-invader stiilis mängu ja pangarakenduse ettevõtetele. Perioodi lõpuks omandavad õpilased tugeva arusaama veebiarendusest.
Programm õpetab JavaScripti, HTML-i ja CSS-i põhialuseid ning tänapäevaste veebiarendajate kasutatavaid uusimaid tööriistu ja meetodeid. Õpilased saavad praktilise kogemuse, luues tippimismängu, virtuaalse terrariumi, keskkonnasõbraliku brauserilaienduse, kosmosesissetungiva stiilis mängu ja pangarakenduse ettevõtetele. Sarja lõpus on õpilastel kindel arusaam veebiarendusest.
> 🎓 Võid esimesed paar õppetükki sellest õppekavast läbida ka [Õppeteekina](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) Microsoft Learn platvormil!
> 🎓 Võid võtta selle õppekava esimesed õppetunnid Microsoft Learni [Õppeteekina](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon)!
Sisule vastavate projektide abil tehakse õppimisprotsess kaasahaaravamaks ning mõistete meeldejätmine paraneb. Kirjutasime ka mitu algõpetust JavaScripti põhialuste kohta, tutvustamaks mõisteid koos videoga "[Algajate sari: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", mille mõned autorid panustasid sellesse õppekavasse.
Sisuga, mis on kooskõlas projektidega, muutub õppeprotsess õpilastele kaasahaaravamaks ja kontseptsioonide meeldejätmine paremini toimivaks. Samuti kirjutasime mitu JavaScripti baasõppetundi, et tutvustada kontseptsioone, kombineerituna videoga "[Algajate sari: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" videotundide kogumikust, mille autorid sellest õppekavast osa võtsid.
Lisaks seab klassieelse lihtsalt stressivaba viktoriiniga õpilase eesmärgi konkreetse teema õppimiseks, ning teine viktoriin klassijärgsel ajal tagab teadmiste edasi kinnistamise. See õppekava on loodud olema paindlik ja lõbus ning seda saab läbida tervikuna või osaliselt. Projektid alustavad väikestest ja muutuvad 12-nädalase tsükli jooksul järjest keerukamaks.
Lisaks seab madala panusega quiz enne tundi õpilase fookuse teema õppimisele, ja teine quiz tunni järel aitab veelgi teadmisi kinnistada. See õppekava on mõeldud paindlikuks ja lõbusaks ning seda saab võtta tervikuna või osade kaupa. Projektid algavad väikselt ja muutuvad 12-nädalase tsükli lõpuks järjest keerukamaks.
Kuigi oleme teadlikult hoidunud JavaScripti raamistikest, et keskenduda esmalt vajalikele oskustele veebiarendajana enne raamistikku omaksvõttu, võiks järgmine samm selle õppekava lõpetamisel olla Node.js õppimine teise videosarja kaudu: "[Algajate sari: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Kuigi oleme teadlikult vältinud JavaScripti raamistikute tutvustamist, et keskenduda esmalt veebiarendajana vajalikele põhioskustele enne raamistikku omaksvõttu, oleks järgmine samm selle õppekava lõpetamisel õppida Node.js kohta teise videotundide sarja kaudu: "[Algajate sari: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Vaata meie [käitumisreegleid](CODE_OF_CONDUCT.md) ja [panustamise juhiseid](CONTRIBUTING.md). Oleme avatud konstruktiivsele tagasisidele!
> Visiit meie [käitumisjuhisele](CODE_OF_CONDUCT.md) ja [panustamise](CONTRIBUTING.md) suunistele. Ootame sinu konstruktiivset tagasisidet!
## 🧭 Offline ligipääs
## 🧭 Võimalus töötada offline
Seda dokumentatsiooni saab kasutada võrguühenduseta, kasutades [Docsify](https://docsify.js.org/#/). Pane see repo fork ja paigalda oma arvutisse [Docsify](https://docsify.js.org/#/quickstart). Selles repo juurkaustas käivita `docsify serve`. Veebileht on kättesaadav pordi 3000 kaudu sinu kohaliku arvutis: `localhost:3000`.
Seda dokumentatsiooni saad kasutada offline režiimis, kasutades [Docsify](https://docsify.js.org/#/). Hargne see hoidla, [paigalda Docsify](https://docsify.js.org/#/quickstart) oma arvutisse ja seejärel käivita hoidla juurkataloogis käsk `docsify serve`. Veebileht on kättesaadav aadressil `localhost:3000` pordil 3000.
## 📘 PDF
Kõigi õppetundide PDF-versiooni leiate siit [here](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
Kõik õppetunnid koos PDF-ina on saadaval [siin](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Teised kursused
## 🎒 Muud kursused
Meie meeskond toodab ka teisi kursusi! Vaadake lähemalt:
Meie meeskond toodab ka teisi kursusi! Vaadake:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -213,7 +225,7 @@ Meie meeskond toodab ka teisi kursusi! Vaadake lähemalt:
[![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 / Agents
### Azure / Edge / MCP / Agendid
[![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)
@ -221,7 +233,7 @@ Meie meeskond toodab ka teisi kursusi! Vaadake lähemalt:
---
### Generative AI Series
### Generatiivse tehisintellekti seeria
[![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)
@ -229,7 +241,7 @@ Meie meeskond toodab ka teisi kursusi! Vaadake lähemalt:
---
### Core Learning
### Põhiline õppimine
[![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)
@ -240,7 +252,7 @@ Meie meeskond toodab ka teisi kursusi! Vaadake lähemalt:
---
### Copilot Series
### Copiloti seeria
[![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)
@ -248,21 +260,21 @@ Meie meeskond toodab ka teisi kursusi! Vaadake lähemalt:
## Abi saamine
Kui takerdud või sul on küsimusi tehisintellekti rakenduste loomise kohta, liitu teiste õppijate ja kogenud arendajatega MCP aruteludes. See on toetav kogukond, kus küsimused on teretulnud ja teadmisi jagatakse vabalt.
Kui teil tekib takistusi või küsimusi AI-rakenduste loomisel, liituge teiste õppijate ja kogenud arendajatega aruteludes MCP kohta. See on toetav kogukond, kus küsimused on teretulnud ja teadmisi jagatakse vabalt.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Kui sul on toote tagasisidet või tekib ehitamise käigus vigu, külastage:
Kui teil on toodete kohta tagasisidet või ehitamise ajal ilmnevad vead, külastage:
[![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)
## Litsents
See hoidla on litsentseeritud MIT litsentsi alusel. Lisateabe saamiseks vaata [LICENSE](../../LICENSE) faili.
See hoidla on litsentseeritud MIT litsentsi all. Lisateabe saamiseks vaadake faili [LICENSE](../../LICENSE).
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Loaandmene**:
See dokument on tõlgitud tehisintellekti tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi püüame tagada tõlke täpsust, palun arvestage, et automatiseeritud tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument oma algkeeles tuleks pidada usaldusväärseks allikaks. Olulise info puhul soovitatakse kasutada professionaalse inimese tõlget. Me ei vastuta võimalike arusaamatuste ega valesti mõistmiste eest, mis võivad tekkida selle tõlke kasutamisest.
**Vastutusest loobumine**:
See dokument on tõlgitud kasutades tehisintellekti tõlketeenust [Co-op Translator](https://github.com/Azure/co-op-translator). Kuigi püüame tagada täpsust, palun pidage meeles, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument selle algkeeles tuleks pidada autoriteetseks allikaks. Kriitilise informatsiooni puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta ühegi arusaamatuse ega valesti mõistmise eest, mis võib tuleneda sellest tõlkest.
<!-- 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-08T20:01:06+00:00",
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T15:37:07+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "pcm"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T19:11:09+00:00",
"translation_date": "2026-03-06T15:40:35+00:00",
"source_file": "AGENTS.md",
"language_code": "pcm"
},
@ -516,8 +516,8 @@
"language_code": "pcm"
},
"README.md": {
"original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
"translation_date": "2026-02-06T19:06:35+00:00",
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T15:33:54+00:00",
"source_file": "README.md",
"language_code": "pcm"
},

@ -2,27 +2,27 @@
## Project Overview
Dis na educational curriculum repository wey dey teach web development basics to beginners. Di curriculum na comprehensive 12-week course wey Microsoft Cloud Advocates develop, e get 24 hand-on lessons wey cover JavaScript, CSS, and HTML.
Dis na educational curriculum repository wey dem use teach web development fundamentals to pipul wey never sabi before. Di curriculum na beta 12-week course wey Microsoft Cloud Advocates develop, e get 24 hands-on lessons wey dey cover JavaScript, CSS, and HTML.
### Key Components
- **Educational Content**: 24 structured lessons wey dem arrange inside project-based modules
- **Educational Content**: 24 structured lessons wey dem organize inside project-based modules
- **Practical Projects**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor, and AI Chat Assistant
- **Interactive Quizzes**: 48 quizzes wit 3 questions each (before and after lesson assessments)
- **Multi-language Support**: Automated translations for 50+ languages through GitHub Actions
- **Interactive Quizzes**: 48 quizzes wey get 3 questions each (before and after lesson assessments)
- **Multi-language Support**: Automatic translations for 50+ languages using GitHub Actions
- **Technologies**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (for AI projects)
### Architecture
- Educational repository wit lesson-based structure
- Educational repository get lesson-based structure
- Every lesson folder get README, code examples, and solutions
- Standalone projects dey separate directories (quiz-app, various lesson projects)
- Translation system dey use GitHub Actions (co-op-translator)
- Documentation dey served via Docsify and e available as PDF
- Standalone projects dey for separate directories (quiz-app, different lesson projects)
- Translation system wey use GitHub Actions (co-op-translator)
- Documentation dey serve via Docsify and e dey available as PDF
## Setup Commands
Dis repository na mainly for educational content use. For work wit specific projects:
Dis repository na mainly for educational content consumption. If you wan work with particular projects:
### Main Repository Setup
@ -36,7 +36,7 @@ cd Web-Dev-For-Beginners
```bash
cd quiz-app
npm install
npm run dev # Start di development server
npm run dev # Start de development server
npm run build # Build for production
npm run lint # Run ESLint
```
@ -48,7 +48,7 @@ cd 7-bank-project/api
npm install
npm start # Start di API server
npm run lint # Run ESLint
npm run format # Format wit Prettier
npm run format # Arrange wit Prettier
```
### Browser Extension Projects
@ -72,7 +72,7 @@ npm install
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Set GITHUB_TOKEN environment variable
# Set GITHUB_TOKEN environment variable na im
python api.py
```
@ -82,27 +82,27 @@ python api.py
1. **Fork di repository** go your GitHub account
2. **Clone your fork** for your local machine
3. **Create new branch** for your changes
4. Make changes for lesson content or code examples
5. Test any code changes for relevant project directories
6. Submit pull requests follow contribution guidelines
3. **Create new branch** for the changes wey you wan do
4. Make changes to lesson content or code examples
5. Test any code changes inside the project directories wey concern am
6. Submit pull requests based on contribution guidelines
### For Learners
1. Fork or clone di repository
2. Go lesson directories one by one
3. Read README files for every lesson
4. Complete pre-lesson quizzes for https://ff-quizzes.netlify.app/web/
5. Work through code examples for lesson folders
2. Go through lesson directories one by one
3. Read README files for each lesson
4. Do pre-lesson quizzes for https://ff-quizzes.netlify.app/web/
5. Work through code examples inside lesson folders
6. Complete assignments and challenges
7. Take post-lesson quizzes
### Live Development
- **Documentation**: Run `docsify serve` for root (port 3000)
- **Quiz App**: Run `npm run dev` for quiz-app directory
- **Quiz App**: Run `npm run dev` inside quiz-app directory
- **Projects**: Use VS Code Live Server extension for HTML projects
- **API Projects**: Run `npm start` for respective API directories
- **API Projects**: Run `npm start` inside the API directories wey concern am
## Testing Instructions
@ -118,74 +118,74 @@ npm run build # Make sure say build go succeed
```bash
cd 7-bank-project/api
npm run lint # Check for code style mata
node server.js # Make sure say server start without wahala
npm run lint # Check for code style wahala
node server.js # Make sure server start without gbege
```
### General Testing Approach
- Dis na educational repository wey no get full automated tests
- Manual testing focus on:
- Code examples run without errors
- Links for documentation dey work correct
- Project builds finish well
- Examples follow best practices
- Na educational repository dis, e no get full automated tests
- Manual testing dey focus on:
- Code examples dey run without error
- Links for documentation dey work well
- Projects dey build successful
- Examples follow beta practices
### Pre-submission Checks
- Run `npm run lint` for directories wey get package.json
- Make sure markdown links valid
- Run `npm run lint` inside directories wey get package.json
- Make sure markdown links dey valid
- Test code examples for browser or Node.js
- Check sey translations keep the proper structure
- Make sure translations keep proper structure
## Code Style Guidelines
### JavaScript
- Use modern ES6+ syntax
- Follow standard ESLint configs wey dey projects
- Use meaningful variable and function names for educational clarity
- Add comments wey explain concepts for learners
- Format using Prettier if e dey configured
- Follow standard ESLint configurations wey dey projects
- Use correct variable and function names so that e clear for education
- Add comments to explain concepts for learners
- Use Prettier for formatting where e configure
### HTML/CSS
- Semantic HTML5 elements
- Use semantic HTML5 elements
- Responsive design principles
- Clear class naming conventions
- Comments wey explain CSS techniques for learners
- Comments to explain CSS techniques for learners
### Python
- PEP 8 style guidelines
- Clear, educational code examples
- Type hints where e fit help learning
- Follow PEP 8 style guidelines
- Clear and educational code examples
- Use type hints when e go help learning
### Markdown Documentation
- Clear heading hierarchy
- Code blocks wey get language specification
- Code blocks with language specification
- Links to extra resources
- Screenshots and images inside `images/` folders
- Screenshots and images dey for `images/` directories
- Alt text for images for accessibility
### File Organization
- Lessons number one by one (1-getting-started-lessons, 2-js-basics, and so on)
- Every project get `solution/` and most times `start/` or `your-work/` folders
- Images dey inside lesson-specific `images/` folders
- Translations dey `translations/{language-code}/` folder arrangement
- Lessons dey numbered in order (1-getting-started-lessons, 2-js-basics, etc.)
- Every project get `solution/` and sometimes `start/` or `your-work/` directories
- Images dey for lesson-specific `images/` folders
- Translations dey inside `translations/{language-code}/` folder structure
## Build and Deployment
### Quiz App Deployment (Azure Static Web Apps)
Di quiz-app configured for Azure Static Web Apps deployment:
Di quiz-app e configure for Azure Static Web Apps deployment:
```bash
cd quiz-app
npm run build # Dey create dist/ folder
# Dey deploy wit GitHub Actions workflow wen dem push for main
# Dey deploy with GitHub Actions workflow when you push to main
```
Azure Static Web Apps configuration:
@ -203,23 +203,23 @@ npm run convert # Make PDF from docs
### Docsify Documentation
```bash
npm install -g docsify-cli # Install Docsify for everywhere for di system
npm install -g docsify-cli # Install Docsify everywhere for your system
docsify serve # Run am for localhost:3000
```
### Project-specific Builds
Every project directory fit get im own build process:
- Vue projects: `npm run build` dey create production bundles
- Static projects: No build step, dem just serve files directly
- Vue projects: run `npm run build` to create production bundles
- Static projects: no build step, just serve files directly
## Pull Request Guidelines
### Title Format
Use clear, descriptive titles wey show the change area:
Use clear, descriptive titles wey show the area wey you change:
- `[Quiz-app] Add new quiz for lesson X`
- `[Lesson-3] Fix typo for terrarium project`
- `[Lesson-3] Fix typo in terrarium project`
- `[Translation] Add Spanish translation for lesson 5`
- `[Docs] Update setup instructions`
@ -228,49 +228,49 @@ Use clear, descriptive titles wey show the change area:
Before you submit PR:
1. **Code Quality**:
- Run `npm run lint` for projects wey di change affect
- Fix all lint errors and warnings
- Run `npm run lint` in affected project directories
- Fix all linting errors and warnings
2. **Build Verification**:
- Run `npm run build` if e dey necessary
- Run `npm run build` if e dey needed
- Make sure no build errors
3. **Link Validation**:
- Test all markdown links
- Confirm image references dey work
- Verify image references dey work
4. **Content Review**:
- Proofread grammar and spelling
- Make sure code examples correct and educational
- Confirm translations keep original meaning
- Check for spelling and grammar
- Make sure code examples dey correct and educational
- Verify translations dey keep original meaning
### Contribution Requirements
- Agree to Microsoft CLA (di check na automatic for first PR)
- Follow [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- See [CONTRIBUTING.md](./CONTRIBUTING.md) for full guidelines
- Mention issue numbers for PR description if e apply
- Agree to Microsoft CLA (automatic check for first PR)
- Follow the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Check [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines
- Reference issue numbers inside PR description if e dey
### Review Process
- PR dem dey reviewed by maintainers and community
- Educational clarity na top priority
- Code examples suppose follow correct best practices
- Translations dey reviewed for accuracy and cultural fit
- PRs go dey reviewed by maintainers and community
- Educational clarity na priority
- Code examples suppose follow current best practices
- Translations go dey reviewed for accuracy and cultural fit
## Translation System
### Automated Translation
- Uses GitHub Actions wit co-op-translator workflow
- Translates automatically to 50+ languages
- Use GitHub Actions with co-op-translator workflow
- Translates to 50+ languages automatically
- Source files dey main directories
- Translated files dey `translations/{language-code}/` directories
- Translated files dey inside `translations/{language-code}/` folders
### Adding Manual Translation Improvements
1. Find di file for `translations/{language-code}/`
2. Make improvements but keep structure
1. Find file inside `translations/{language-code}/`
2. Make improvements but no disturb structure
3. Make sure code examples still dey work
4. Test any localized quiz content
@ -294,63 +294,63 @@ CO_OP_TRANSLATOR_METADATA:
### Common Issues
**Quiz app no dey start**:
- Check Node.js version (v14+ na recommended)
- Check Node.js version (v14+ recommended)
- Delete `node_modules` and `package-lock.json`, run `npm install` again
- Check for port conflicts (default: Vite dey use port 5173)
- Check if port dey in use (Vite default dey port 5173)
**API server no go start**:
- Confirm Node.js version dey okay (node >=10)
- Check if port don already dey used
- Make sure all dependencies install with `npm install`
**API server no fit start**:
- Make sure Node.js version pass minimum (node >=10)
- Check if port already dey used
- Make sure all dependencies install finish with `npm install`
**Browser extension no go load**:
- Make sure manifest.json get correct format
**Browser extension no dey load**:
- Check manifest.json well make e correct
- Check browser console for errors
- Follow browser-specific extension installation instructions
**Python chat project wahala**:
- Make sure OpenAI package install: `pip install openai`
- Confirm sey GITHUB_TOKEN environment variable dey set
- Check say GITHUB_TOKEN environment variable dey set
- Check GitHub Models access permissions
**Docsify no dey serve docs**:
- Install docsify-cli globally: `npm install -g docsify-cli`
- Run from repository root directory
- Check sey `docs/_sidebar.md` dey
- Run am from repository root directory
- Check that `docs/_sidebar.md` dey there
### Development Environment Tips
- Use VS Code wit Live Server extension for HTML projects
- Use VS Code with Live Server extension for HTML projects
- Install ESLint and Prettier extensions for consistent formatting
- Use browser DevTools for debugging JavaScript
- For Vue projects, install Vue DevTools browser extension
### Performance Considerations
- Plenty translated files (50+ languages) go make full clones big
- Use shallow clone if you dey only work on content: `git clone --depth 1`
- Exclude translations from searches when you dey work on English content
- Build processes fit be slow for first run (npm install, Vite build)
- Plenty translated files (50+ languages) mean full clones dey big
- Use shallow clone if na only content you dey work on: `git clone --depth 1`
- Exclude translations from searches when you dey do English content
- Build processes fit slow for first run (npm install, Vite build)
## Security Considerations
### Environment Variables
- API keys no suppose ever commit to repository
- Use `.env` files (dem don already put am for `.gitignore`)
- Document the required environment variables in project READMEs
- API keys no suppose ever commit go repository
- Use `.env` files (dem dey already inside `.gitignore`)
- Document the environment variables wey project README dem require
### Python Projects
- Use virtual environments: `python -m venv venv`
- Keep dependencies updated
- GitHub tokens suppose get only minimum permissions
- Keep dependencies up to date
- GitHub tokens suppose get only minimal needed permissions
### GitHub Models Access
- Personal Access Tokens (PAT) na requirement for GitHub Models
- Store tokens as environment variables
- Never commit tokens or credentials
- Personal Access Tokens (PAT) dey required for GitHub Models
- Tokens suppose store as environment variables
- No ever commit tokens or credentials
## Additional Notes
@ -358,15 +358,15 @@ CO_OP_TRANSLATOR_METADATA:
- Complete beginners to web development
- Students and self-learners
- Teachers wey dey use di curriculum for classrooms
- Content dey designed for accessibility and gradual skill building
- Teachers wey dey use curriculum for classroom
- Content designed for accessibility and gradual skill building
### Educational Philosophy
- Project-based learning approach
- Project-based learning way
- Frequent knowledge checks (quizzes)
- Hands-on coding exercises
- Real-world example applications
- Real-world application examples
- Focus on fundamentals before frameworks
### Repository Maintenance
@ -374,35 +374,35 @@ CO_OP_TRANSLATOR_METADATA:
- Active community of learners and contributors
- Regular updates to dependencies and content
- Issues and discussions dey monitored by maintainers
- Translation updates automated with GitHub Actions
- Translation updates dey automated via GitHub Actions
### Related Resources
- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recommended for learners
- Additional courses: Generative AI, Data Science, ML, IoT curricula dey available
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) wey people recommend for learners
- Other courses: Generative AI, Data Science, ML, IoT curricula dey available
### Working with Specific Projects
For detailed instructions on individual projects, check README files for:
For detailed instructions on individual projects, check README files inside:
- `quiz-app/README.md` - Vue 3 quiz application
- `7-bank-project/README.md` - Banking application wit authentication
- `7-bank-project/README.md` - Banking application with authentication
- `5-browser-extension/README.md` - Browser extension development
- `6-space-game/README.md` - Canvas-based game development
- `9-chat-project/README.md` - AI chat assistant project
### Monorepo Structure
Even though no be traditional monorepo, dis repository get many independent projects:
- Every lesson na self-contained
Although dis no be traditional monorepo, dis repository get plenty independent projects:
- Every lesson dey self-contained
- Projects no dey share dependencies
- You fit work on individual projects without affecting others
- Clone di whole repo if you want full curriculum experience
- You fit work on projects separately without affecting others
- Clone full repo if you want the complete curriculum experience
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
Dis document don translate wit AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). Even though we dey try make am correct, abeg sabi say automated translations fit get mistakes or no be 100% accurate. Di original document wey e be for im own language na di correct one. For important info, e better make human professional translate am. We no go take any blame if person no understand well or if dem misunderstand tins wey come from dis translation.
Dis document don translate by AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). Even though we dey try make am correct, abeg sabi say automated translations fit get mistakes or wrong parts. Di original document wey dey im correct language na im be di real correct source. For important matter, make you use professional human translation. We no go take any blame if person no understand well or interpret am wrong because of dis translation.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,37 +1,47 @@
# Web Development for Beginners - A Curriculum
Learn di fundamentals of web development wit our 12-week complete course by Microsoft Cloud Advocates. Each of di 24 lessons go deep into JavaScript, CSS, and HTML through hands-on projects like terrariums, browser extensions, and space games. Engage wit quizzes, discussions, and practical assignments. Improve your skills and make sure sey you sabi well wit our good project-based way to learn. Start your coding journey today!
Learn di fundamentals of web development wit our 12-week complete course by Microsoft Cloud Advocates. Each of di 24 lessons dey dive into JavaScript, CSS, an HTML through hands-on projects like terrariums, browser extensions, an space games. Engage wit quizzes, discussions, an practical assignments. Enhance your skills an optimize your knowledge retention wit our effective project-based way wey we teach. Start your coding journey today!
Join di Azure AI Foundry Discord Community
Follow these steps to start to use these resources:
Follow these steps to get started using these resources:
1. **Fork di Repository**: Click [![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 di Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Join Di Azure AI Foundry Discord and meet experts and fellow developers**](https://discord.com/invite/ByRwuEEgH4)
3. [**Join The Azure AI Foundry Discord an meet experts an fellow developers**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Multi-Language Support
#### Supported via GitHub Action (Automated & Always Up-to-Date)
> **Prefer to Clone Locally?**
> Dis repository get 50+ language translations wey go make di download size big. To clone without translations, use sparse checkout:
>
> Dis repository get 50+ language translations wey dey increase di download size well well. To clone without translations, 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'
> ```
> Dis go give you everything you need to finish di course faster.
>
> **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"
> ```
>
> Dis go give you everything you need to complete di course wit better faster download.
**If you want make we add more translation languages, dem dey listed [here](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**If you wan get more language translations wey support dey listed [here](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
#### 🧑‍🎓 _You be student?_
Visit [**Student Hub page**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) wey get beginner resources, Student packs and even ways to get free certificate voucher. This na the page wey you go want bookmark and check every time because we dey change content every month.
Visit [**Student Hub page**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) wey you go find beginner resources, Student packs an even ways to get free certificate voucher. Dis na di page you for bookmark an dey check sometimes as we dey switch content monthly.
### 📣 Announcement - New GitHub Copilot Agent mode challenges to complete!
New Challenge don add, look for "GitHub Copilot Agent Challenge 🚀" for most chapters. Na new challenge for you to complete using GitHub Copilot and Agent mode. If you never use Agent mode before e fit no only generate text but also fit create and edit files, run commands and more.
New Challenge add, look for "GitHub Copilot Agent Challenge 🚀" inside plenty chapters. Na new challenge you fit complete using GitHub Copilot an Agent mode. If you never use Agent mode before, e fit not only generate text but fit also create an edit files, run commands an more.
### 📣 Announcement - _New Project to build using Generative AI_
@ -43,18 +53,13 @@ No miss our new Generative AI curriculum!
Visit [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) to start!
![Background](../../translated_images/pcm/background.148a8d43afde5730.webp)
- Lessons wey cover everything from basics to RAG.
- Talk to historical characters using GenAI and our companion app.
- Fun and interesting story, you go dey time travel!
![character](../../translated_images/pcm/character.5c0dd8e067ffd693.webp)
- Lessons wey cover everything from basics go RAG.
- Interact wit historical characters usin GenAI an our companion app.
- Fun an engaging story, you go dey time travel!
Every lesson get assignment to finish, knowledge check and challenge to guide you for learning topics like:
- Prompting and prompt engineering
- Text and image app generation
Each lesson get assignment to complete, knowledge check an challenge to guide you for learning topics like:
- Prompting an prompt engineering
- Text an image app generation
- Search apps
Visit [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) to start!
@ -63,130 +68,126 @@ Visit [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) to start!
## 🌱 Getting Started
> **Teachers**, we get [some suggestions](for-teachers.md) on how to take use this curriculum. We go like make you give feedback [for our discussion forum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Teachers**, wey don [put some suggestions](for-teachers.md) on how to use dis curriculum. We go like hear your feedback [for our discussion forum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Learners](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, for each lesson, start wit pre-lecture quiz and follow am to read di lecture material, finish di activities and check your understanding wit post-lecture quiz.
**[Learners](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, for every lesson, start wit pre-lecture quiz an follow through by reading di lecture material, complete di different activities an check your understanding wit di post-lecture quiz.
To make your learning better, join wit your peers to work on projects together! Discussions dey encouraged for our [discussion forum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) where our moderators go dey available to answer your questions.
To better your learning experience, connect wit your peers make una work on di projects together! Discussions dem dey encouraged for our [discussion forum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) where our moderators go dey ready to answer your questions.
To continue your education, we dey recommend say you check [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) for more study materials.
To go further your education, we highly recommend say you explore [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) for extra study materials.
### 📋 Setting up your environment
Dis curriculum get development environment ready! As you start, you fit choose run di curriculum for [Codespace](https://github.com/features/codespaces/) (_na browser-based, no need install environment_), or locally for your computer using text editor like [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Dis curriculum get development environment ready! As you start you fit choose to run di curriculum in a [Codespace](https://github.com/features/codespaces/) (_na browser-based, no installation environment_), or locally for your computer using text editor like [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Create your repository
To make am easy for you to save your work, e good make you create your own copy of dis repository. You fit do am by clicking di **Use this template** button at di top of di page. E go create new repository for your GitHub account with copy of di curriculum.
Make you fit save your work well well, e good make you create your own copy of this repository. You fit do am by clicking **Use this template** button wey dey top of di page. E go create new repository inside your GitHub account wit copy of di curriculum.
Follow these steps:
1. **Fork the Repository**: Click on di "Fork" button for top-right corner of dis page.
2. **Clone the Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Running di curriculum in a Codespace
1. **Fork di Repository**: Click di "Fork" button wey dey top-right corner of this page.
2. **Clone di Repository**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
For your copy of dis repository wey you create, click di **Code** button and select **Open with Codespaces**. E go create new Codespace for you to work.
#### Running di curriculum inside Codespace
![Codespace](../../translated_images/pcm/createcodespace.0238bbf4d7a8d955.webp)
For your copy of dis repository wey you create, click di **Code** button then select **Open with Codespaces**. E go create new Codespace for you work.
#### Running di curriculum locally on your computer
To run dis curriculum locally for your computer, you go need text editor, browser and command line tool. Our first lesson, [Introduction to Programming Languages and Tools of the Trade](../../1-getting-started-lessons/1-intro-to-programming-languages), go show you options for each of these tools to pick wey fit you best.
To run dis curriculum locally for your computer, you need text editor, browser an command line tool. Our first lesson, [Introduction to Programming Languages and Tools of the Trade](../../1-getting-started-lessons/1-intro-to-programming-languages), go show you different options for all these tools make you choose wetin best for you.
Our advice na to use [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) as your editor, wey get inside [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). You fit download Visual Studio Code [here](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Clone your repository to your computer. You fit do am by clicking di **Code** button and copy di URL:
We recommend say you use [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) as your editor, wey get built-in [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). You fit download Visual Studio Code [here](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Copy yor repository go yor computer. You fit do dis by klik di **Code** button den copy di URL:
[CodeSpace](./images/createcodespace.png)
Then, open [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) inside [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) and run dis command, replace `<your-repository-url>` with di URL wey you just copy:
Den, open [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) for [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) den run dis command, change `<your-repository-url>` wit di URL wey you just copy:
```bash
git clone <your-repository-url>
```
2. Open di folder for Visual Studio Code. You fit do dis by click **File** > **Open Folder** and choose di folder wey you just clone.
2. Open di folder inside Visual Studio Code. You fit do dis by clicking **File** > **Open Folder** den select di folder wey you just clone.
> Recommended Visual Studio Code extensions:
> Recommended Visual Studio Code extensions:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - for preview HTML pages inside Visual Studio Code
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - to preview HTML pages inside Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - to help you write code quick quick
## 📂 Each lesson get:
- optional sketchnote
- optional supplemental video
- pre-lesson warmup quiz
- written lesson
- for project-based lessons, step-by-step guides on how to build di project
- sketchnote if you want
- extra video if you want
- quiz to prepare for lesson
- di lesson wey dem write
- for project-based lessons, guide step by step how to build di project
- knowledge checks
- challenge
- supplemental reading
- extra reading
- assignment
- [post-lesson quiz](https://ff-quizzes.netlify.app/web/)
> **One note about quizzes**: All quizzes dey inside Quiz-app folder, total na 48 quizzes with three questions each. Dem dey available [here](https://ff-quizzes.netlify.app/web/), di quiz app fit run locally or you fit deploy am for Azure; follow di instruction inside `quiz-app` folder.
> **Note about quizzes**: All di quizzes dey inside Quiz-app folder, 48 quizzes total and every one get three questions. You fit find dem [here](https://ff-quizzes.netlify.app/web/) quiz app fit run for your own machine or you fit deploy am for Azure; follow instruction for di `quiz-app` folder.
## 🗃️ Lessons
| | Project Name | Concepts Taught | Learning Objectives | Linked Lesson | Author |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Getting Started | Introduction to Programming and Tools of the Trade | Learn di basic foundation wey most programming languages get and about software wey dey help professional developers do dia work | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Getting Started | Basics of GitHub, including how to work with team | How to use GitHub for your project, how to collaborate with others on code base | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 01 | Getting Started | Introduction to Programming and Tools of the Trade | Learn di basic foundation behind most programming languages and software wey dey help pro developers do their work | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Getting Started | Basics of GitHub, dey include work with team | How to use GitHub for your project, how to collaborate wit others for code base | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Getting Started | Accessibility | Learn di basics of web accessibility | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Basics | JavaScript Data Types | Basics of JavaScript data types | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Basics | Functions and Methods | Learn about functions and methods to manage how application logic dey flow | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | JS Basics | Making Decisions with JS | Learn how to create condition inside your code using decision-making methods | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Basics | Arrays and Loops | Work with data using arrays and loops in JavaScript | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML in Practice | Build di HTML to create online terrarium, dey focus on building layout | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS in Practice | Build di CSS to style di online terrarium, focus on basics of CSS including making di page responsive | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM manipulation | Build di JavaScript to make terrarium work as drag/drop interface, focus on closures and DOM manipulation | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Build a Typing Game | Learn how to use keyboard events to run the logic of your JavaScript app | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Working with Browsers | Learn how browsers work, dia history, and how to scaffold di first elements of a browser extension | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Building form, dey call API and storing variables inside local storage | Build JavaScript elements of your browser extension to call API using variables wey dey store inside local storage | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Background processes for browser, web performance | Use browser background processes to manage extension icon; learn about web performance and some optimization to improve am | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | More Advanced Game Development with JavaScript | Learn about Inheritance using both Classes and Composition and Pub/Sub pattern, to prepare for building game | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Drawing to canvas | Learn about di Canvas API wey dem dey use to draw elements for screen | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Moving elements around di screen | Discover how elements fit move using Cartesian coordinates and di Canvas API | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Collision detection | Make elements collide and react to each other with keypresses and put cooldown function to make sure game performance pep | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Keeping score | Do math calculations based on di game status and performance | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Ending and restarting di game | Learn about ending and restarting game, including cleaning up assets and resetting variable values | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML Templates and Routes for Web App | Learn how to create scaffold of multipage website architecture using routing and HTML templates | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Build Login and Registration Form | Learn how to build forms and handle validation routines | [Forms](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Methods of Fetching and Using Data | How data dey flow in and out of your app, how to fetch am, store am, and discard am | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 04 | JS Basics | JavaScript Data Types | Di basics of JavaScript data types | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Basics | Functions and Methods | Learn about functions and methods to manage an app logic flow | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | JS Basics | Making Decisions with JS | Learn how to create conditions for your code using decision-making methods | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Basics | Arrays and Loops | Work wit data using arrays and loops inside JavaScript | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML in Practice | Build di HTML to create online terrarium, focus on building layout | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS in Practice | Build di CSS to style the online terrarium, focus on basics of CSS including how to make di page responsive | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closures, DOM manipulation | Build di JavaScript to make di terrarium work as drag/drop interface, focus on closures and DOM manipulation | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Build a Typing Game | Learn how to use keyboard events to drive the logic of your JavaScript app | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Working with Browsers | Learn how browsers dey work, their history, and how to scaffold first elements of browser extension | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Build form, call API and store variables for local storage | Build di JavaScript elements for your browser extension to call API using variables wey dey inside local storage | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Background processes inside browser, web performance | Use browser background processes to manage extension icon; learn about web performance and optimizations | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | More Advanced Game Development with JavaScript | Learn about Inheritance using Classes and Composition and Pub/Sub pattern, prepare for building a game | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Drawing to canvas | Learn about Canvas API, wey dem use to draw elements for screen | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Moving elements around screen | Find out how elements fit move using cartesian coordinates and Canvas API | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Collision detection | Make elements collide and react to each other using keypress and provide cooldown to keep game performance | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Keeping score | Do maths calculations based on game's status and performance | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Ending and restarting game | Learn about how to end and restart game, including cleaning up assets and reseting variables | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML Templates and Routes for Web App | Learn how to create scaffold for multipage website architecture using routing and HTML templates | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Build Login and Registration Form | Learn about building forms and how to handle validation routines | [Forms](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Methods of Fetching and Using Data | How data go inside and outside your app, how to fetch, store am, and clear am | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Concepts of State Management | Learn how your app dey keep state and how to manage am programmatically | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Working with VScode | Learn how to Using code editor| [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 25 | [Browser/VScode Code](../../8-code-editor) | Working with VScode | Learn how to use code editor | [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Working with AI | Learn how to build your own AI assistant | [AI Assistant project](./9-chat-project/README.md) | Chris |
## 🏫 Pedagogy
Our curriculum design take two main pedagogy principles seriously:
Our curriculum design get two important pedagogical principles in mind:
* project-based learning
* frequent quizzes
Di program dey teach fundamentals of JavaScript, HTML, and CSS, plus di latest tools and techniques wey web developers dey use now. Students go fit develop hands-on experience by building typing game, virtual terrarium, eco-friendly browser extension, space-invader style game, and banking app for businesses. By the end of the course, students go get solid understanding of web development.
> 🎓 You fit take di first few lessons in dis curriculum as [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) for Microsoft Learn!
Di program dey teach fundamentals of JavaScript, HTML, and CSS, plus di latest tools and techniques wey web developers dey use today. Students go get chance to build hands-on experience by making typing game, virtual terrarium, eco-friendly browser extension, space-invader-style game, and banking app for business dem. By end of di series, students go sabi web development well well.
By making sure content match projects, the process go make learning more interesting for students and concepts go remain for mind well well. We also write some starter lessons for JavaScript basics to introduce concepts, plus video from "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" collection of video tutorials, some authors from the videos join to help design this curriculum.
> 🎓 You fit take di first few lessons for dis curriculum as [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) for Microsoft Learn!
Plus, low-stakes quiz before class dey set student mindset for learning topic, and second quiz after class make sure say dem remember well. This curriculum na flexible and fun one wey you fit do as whole or part. Projects start small and go get more complex by 12-week cycle end.
By making sure say di content match projects, e make di process beta and more interesting for students and e go help dem remember concepts well. We self write some starter lessons for JavaScript basics to introduce concepts, plus video from "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" video collection, wey some authors contribute to this curriculum.
Even though we no bother to introduce JavaScript frameworks so that we go focus on basic skills wey web developers need before use framework, good next step after dis curriculum na to learn Node.js with another video series: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Plus, a low-stakes quiz before class dey set student mind to learn topic, while second quiz after class go help dem remember am pass. This curriculum design to be flexible and fun and fit be taken as whole or part. The projects start small and go dey more complex by end of 12-week cycle.
> Visit our [Code of Conduct](CODE_OF_CONDUCT.md) and [Contributing](CONTRIBUTING.md) guidelines. We welcome your constructive feedback!
Even though we no include JavaScript frameworks purposely to focus on basic skills wey web developer suppose get before using framework, next step wey fit make sense after dis curriculum na to learn about Node.js via another video collection: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Check our [Code of Conduct](CODE_OF_CONDUCT.md) and [Contributing](CONTRIBUTING.md) guidelines. We dey welcome your constructive feedback!
## 🧭 Offline access
You fit run dis documentation offline by using [Docsify](https://docsify.js.org/#/). Fork this repo, [install Docsify](https://docsify.js.org/#/quickstart) for your local machine, then for root folder of dis repo, type `docsify serve`. Di website go dey serve for port 3000 for your localhost: `localhost:3000`.
You fit run dis documentation offline by using [Docsify](https://docsify.js.org/#/). Fork dis repo, [install Docsify](https://docsify.js.org/#/quickstart) for your local machine, then for root folder of this repo, type `docsify serve`. Di website go run for port 3000 on your localhost: `localhost:3000`.
## 📘 PDF
PDF of all di lessons fit find [here](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
A PDF of all of the lessons fit find [here](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Other Courses
Our team dey produce oda courses! Make you check am out:
Our team dey produce other courses! Check am out:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -230,21 +231,21 @@ Our team dey produce oda courses! Make you check am out:
## Getting Help
If you jam or get any question about how to build AI apps. Come join other learners and developers wey sabi well well for talks about MCP. Na supportive community wey dey welcome questions and dem share knowledge freely.
If you jam or get any questions about how to build AI apps, join other learners and experienced developers for discussions about MCP. Na supportive community where questions dey welcome and knowledge dey shared freely.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
If you get product feedback or you see error as you dey build, visit:
If you get product feedback or find errors while you dey build, visit:
[![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)
## License
Dis repository get MIT license. See the [LICENSE](../../LICENSE) file for more info.
This repository get MIT license. See the [LICENSE](../../LICENSE) file for more info.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
Dis document don translate wit AI translation service wey dem dey call [Co-op Translator](https://github.com/Azure/co-op-translator). Even though we dey try make am correct, abeg mek you sabi say machine translation fit get some errors or wrong tins. The og document for im original language na di correct one wey you suppose trust. If na important info, better make person wey sabi translate am well do the work. We no go take responsibility if pesin no understand or misunderstand tins because of dis translation.
Dis document e been translate wit AI translation service [Co-op Translator](https://github.com/Azure/co-op-translator). Even tho we dey try make am correct, abeg sabi say automatic translation fit get some mistakes or no too correct. Di original document wey e dey for im correct language na di correct one. For important tins, make person wey sabi translate do di work. We no go responsible if pipo no understand well or if dem misinterpret tins because of dis translation.
<!-- 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-07T13:56:32+00:00",
"original_hash": "bec5e35642176d9e483552bfc82996d8",
"translation_date": "2026-03-06T15:24:09+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "ta"
},
@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T19:00:23+00:00",
"translation_date": "2026-03-06T15:38:26+00:00",
"source_file": "AGENTS.md",
"language_code": "ta"
},
@ -516,8 +516,8 @@
"language_code": "ta"
},
"README.md": {
"original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
"translation_date": "2026-02-06T18:55:52+00:00",
"original_hash": "a2c9eed480687319517c08a6319e5536",
"translation_date": "2026-03-06T15:19:59+00:00",
"source_file": "README.md",
"language_code": "ta"
},

@ -2,27 +2,27 @@
## Project Overview
து ஆரம்பநிலை பயனாளர்களுக்கு வலை மேம்பாட்டின் அடிப்படைகளை கற்பிப்பதற்கான கல்வி பாடத்திட்டக் களஞ்சியம் ஆகும். இந்த பாடத்திட்டம் Microsoft Cloud Advocates மூலம் உருவாக்கப்பட்ட முழுமையான 12-வாரம் கால பாடநெறி, இதில் JavaScript, CSS மற்றும் HTML அடங்கிய 24 கைமுறைகளான பாடங்கள் உள்ளன.
ந்த அனுஷ்டானம் ஆரம்பகட்ட மாணவர்களுக்கு வலை வளர்ச்சி அடிப்படைகளை கற்பிப்பதற்கான கல்வி பாடத்திட்டக் களஞ்சியமாகும். இந்த பாடத்திட்டம் மைக்ரோசாஃப்ட் கிளௌட் வாதாளர்களால் உருவாக்கப்பட்ட முழுமையான 12 வார பாடநெறி ஆகும், இதில் ஜாவாஸ்கிரிப்ட், CSS, மற்றும் HTML-ஐ உள்ளடக்கிய 24 கையேடு பாடங்கள் உள்ளன.
### Key Components
- **கல்வி உள்ளடக்கம்**: திட்ட அடிப்படையிலான தொகுதிகள் வெளிப்படுத்தப்பட்ட 24 கட்டமைக்கப்பட்ட பாடங்கள்
- **ஆய்வின் செயல்பாடுகள்**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor மற்றும் AI Chat உதவியாளர்
- **இணையக் கேள்விகள்**: ஒவ்வொரு பாடத்திற்கும் 3 கேள்விகளுடன் 48 கேள்விச்செட்டுக்கள் (பாடம் முன்/பிறகு மதிப்பாய்வுகள்)
- **பல மொழி ஆதரவு**: GitHub Actions மூலம் 50+ மொழிகளுக்கு தானாக மொழிபெயர்ப்பு
- **கல்வி உள்ளடக்கம்**: 24 கட்டமைக்கப்பட்ட பாடங்கள், திட்ட அடிப்படையிலான மொட்யூல்கள்
- **பயன்முறை திட்டங்கள்**: டெரேரியம், டைப் செய்பவர் விளையாட்டு, உலாவி நீட்டிப்பு, விண்வெளி விளையாட்டு, வங்கி பயன்பாடு, குறியீடு ஆசிரியர், மற்றும் AI உரையாடல் உதவியாளர்
- **இணைய வினாடி கேள்விகள்**: 3 கேள்விகளுடன் 48 வினாக்கள் (முன்/பின் பாடநெறி மதிப்பீடுகள்)
- **பல மொழி ஆதரவு**: GitHub செயற்பாடுகள் மூலம் 50+ மொழிகளுக்கு தானியங்கி மொழிபெயர்ப்பு
- **தொழில்நுட்பங்கள்**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI திட்டங்களுக்கு)
### Architecture
- பாடத்திட்ட அடிப்படையிலான கல்வி களஞ்சியம்
- ஒவ்வொரு பாடக் கோப்பகத்திலும் README, குறியீட்டு உதாரணங்கள் மற்றும் தீர்வுகள் இருக்கின்றன
- தனித்தனியானத் திட்டங்கள் வேறு கோப்பகங்களில் (quiz-app, பல பாடத் திட்டங்கள்)
- GitHub Actions (co-op-translator) மூலம் மொழிபெயர்ப்பு அமைப்பு
- Docsify மூலம் ஆவணங்கள் வழங்கப்படுகிறன மற்றும் PDF ஆக கிடைக்கின்றன
- பாடத்தின் அடிப்படையிலான அமைப்பு கொண்ட கல்விக் களஞ்சியம்
- ஒவ்வொரு பாடத்துக்குமான கோப்புறை README, குறியீடு உதாரணங்கள் மற்றும் தீர்வுகளை கொண்டது
- தனித்தனியாய் உள்ள திட்டங்கள் (quiz-app, பல பாடத் திட்டங்கள்)
- GitHub செயற்பாடுகள் கொண்டு மொழிபெயர்ப்பு அமைப்பு (co-op-translator)
- Docsify மூலம் ஆவணப்படுத்தல் வழங்கப்படுகின்றது மற்றும் PDF வடிவில் கிடைக்கும்
## Setup Commands
இந்தக் களஞ்சியம் முதன்மையாக கல்வி உள்ளடக்கம் பயன்பட்டிற்கானது. குறிப்பிட்ட திட்டங்களுடன் வேலை செய்ய:
இந்தக் களஞ்சியம் முதன்மையாக கல்வி உள்ளடக்கம் பயன்படுததப்புகிறது. குறிப்பிட்ட திட்டங்களுடன் வேலை செய்ய:
### Main Repository Setup
@ -30,79 +30,79 @@
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Quiz App Setup (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # மேம்பாட்டு சர்வரை தொடங்கு
npm run build # உற்பத்திக்காக கட்டமைக்கவும்
npm run lint # ESLint ஐ செயல்படுத்த
npm run dev # மேம்பாட்டு சர்வரைத் தொடங்கு
npm run build # உற்பத்திக்கான கட்டமைப்பை உருவாக்கு
npm run lint # ESLint ஐ இயக்க
```
### Bank Project API (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
npm start # API சேவையகத்தைத் தொடங்கு
npm run lint # ESLint இயக்கு
npm start # API சேவையகத்தை துவக்கம் செய்க
npm run lint # ESLint இயக்கு
npm run format # Prettier உடன் வடிவமைக்கவும்
```
### Browser Extension Projects
```bash
cd 5-browser-extension/solution
npm install
# உலாவி-சிறப்பு விரிவாக்க ஏற்றும் வழிமுறைகளை பின்பற்றவும்
# பROWSER-சார்ந்த நீட்டித்தை ஏற்றுதல் வழிமுறைகளை பின்பற்றவும்
```
### Space Game Projects
```bash
cd 6-space-game/solution
npm install
# index.html ஐ உலாவியில் திறக்கவும் அல்லது Live Server ஐ பயன்படுத்தவும்
# index.html ஐ உலாவியில் திறக்கவும் அல்லது லைவ் சர்வரை பயன்படுத்து
```
### Chat Project (Python Backend)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# GITHUB_TOKEN சுற்றுச்சூழல் மாறியை அமைக்கவும்
# GITHUB_TOKEN சுற்றுச் சூழல் மாறியை அமைக்கவும்
python api.py
```
## Development Workflow
### For Content Contributors
1. **உங்கள் GitHub கணக்கில் களஞ்சியத்தை Fork செய்யவும்**
2. **உங்கள் Fork-ஐ உள்ளூரில் Clone செய்யவும்**
3. **உங்கள் மாற்றங்களுக்கு புதிய கிளை உருவாக்கவும்**
4. பாட உள்ளடக்கம் அல்லது குறியீட்டு உதாரணங்களில் மாற்றங்கள் செய்யவும்
5. சம்பந்தப்பட்ட திட்டக் கோப்பகங்களில் குறியீடு மாற்றங்களை சோதிக்கவும்
6. பங்குதாரர் வழிகாட்டுதல்களை பின்பற்றி Pull Request சமர்ப்பிக்கவும்
1. **உங்கள் GitHub கணக்கில் களஞ்சியத்தை Fork செய்க**
2. **உங்கள் Fork-ஐ உள்ளூர் கணினியில் Clone செய்க**
3. **மாற்றங்களுக்கான புதிய கிளை உருவாக்குக**
4. பாடத் தரவுகள் அல்லது குறியீடு உதாரணங்களில் மாற்றங்கள் செய்யவும்
5. தொடர்புடைய திட்டக் கோப்புறைகளில் குறியீடுகளை சோதனை செய்யவும்
6. பங்களிப்பு வழிகாட்டுதல்களை பின்பற்றி pull request சமர்ப்பிக்கவும்
### For Learners
1. களஞ்சியத்தை Fork அல்லது Clone செய்யவும்
2. பாடக் கோப்பகங்களை முறையே நீக்கிச் செல்லவும்
3. ஒவ்வொரு பாடத்திற்குமான README கோப்புகளைப் படிக்கவும்
4. https://ff-quizzes.netlify.app/web/ இல் பாட முன் கேள்விச்செட்டுக்களை முடிக்கவும்
5. பாடக் கோப்பகங்களில் குறியீட்டு உதாரணங்களுடன் பணியாற்றவும்
6. பணிகள் மற்றும் சவால்களை முடிக்கவும்
7. பாடம் பின் கேள்விச்செட்டுக்களை எடுத்துக்கொள்ளவும்
1. களஞ்சியத்தை Fork செய்யவும் அல்லது Clone செய்யவும்
2. பாடக் கோப்புறைகளில் தொடர் முறையில் செல்லவும்
3. ஒவ்வொரு பாடத்திற்குமான README கோப்புகளை படிக்கவும்
4. https://ff-quizzes.netlify.app/web/ என்ற இடத்தில் முன் பாட வினாடி கேள்விகளை முடிக்கவும்
5. பாடக் கோப்புறைகளில் குறியீடு உதாரணங்களைத் தொடர்ந்து வேலை செய்க
6. பணிகள் மற்றும் சவால்களை நிறைவேற்றுக
7. பின் பாட வினாடி கேள்விகளை எடுக்கவும்
### Live Development
- **ஆவணங்கள்**: ரூட்டில் `docsify serve` இயக்கவும் (போர்ட் 3000)
- **Quiz App**: quiz-app கோப்பகத்தில் `npm run dev` இயக்கவும்
- **திட்டங்கள்**: HTML திட்டங்களுக்கு VS Code Live Server விரிவாக்கத்தைப் பயன்படுத்தவும்
- **API திட்டங்கள்**: சம்பந்தப்பட்ட API கோப்பகங்களில் `npm start` இயக்கவும்
- **ஆவணங்கள்**: ரூட் (port 3000)இல் `docsify serve` இயக்கவும்
- **Quiz App**: quiz-app கோப்புறையில் `npm run dev` இயக்கவும்
- **திட்டங்கள்**: VS Code Live Server நீட்டிப்பை HTML திட்டங்களுக்கு பயன்படுத்தவும்
- **API திட்டங்கள்**: சம்பந்தப்பட்ட API கோப்புறைகளில் `npm start` இயக்கவும்
## Testing Instructions
@ -110,173 +110,173 @@ python api.py
```bash
cd quiz-app
npm run lint # குறியீட்டை வடிவமைப்பு பிழைகள் இருப்பதை சரிபார்க்கவும்
npm run build # கட்டுமானம் வெற்றி பெறுவதை உறுதிசெய்க
npm run lint # குறியீடு நடைமுறைப் பிழைகளை சரிபார்க்கவும்
npm run build # கட்டமைப்பு வெற்றியடையுமா என்பதை உறுதிசெய்தல்
```
### Bank API Testing
```bash
cd 7-bank-project/api
npm run lint # குறியீட்டு பாணி பிழைகள் உள்ளதா என்பதை சரிபார்க்கவும்
node server.js # சேவையகத் துவக்கம் பிழைகள் இல்லாமல் நடந்ததா என்பதை உறுதிப்படுத்தவும்
npm run lint # குறியீட்டு வடிவமைப்பு பிழைகள் உள்ளதா பார்க்கவும்
node server.js # சேவையகம் பிழைகள் இல்லாமல் தொடங்குகிறதா என உறுதி செய்யவும்
```
### General Testing Approach
- இது முழுமையான தானியங்கி சோதனைகள் இல்லாத கல்வி களஞ்சியம்
- கைமுறை சோதனை பின்வருமாறு கவனம் செலுத்துகிறது:
- குறியீட்டு உதாரணங்கள் பிழையின்றி இயங்கினால்
- ஆவணங்களில் உள்ள இணைப்புகள் சரியாக செயல்படினால்
- திட்டங்களின் கட்டுமானம் வெற்றிகரமாக முடிந்தால்
- உதாரணங்கள் சிறந்த நடைமுறைகளை பின்பற்றினால்
- இந்தக் களஞ்சியம் விரிவான தானியங்கி சோதனைகள் இல்லாமல் கல்விக்கானது
- கைமுறை சோதனைகள் கவனம் செலுத்துகின்றன:
- குறியீடு உதாரணங்கள் பிழையின்றி இயங்குதல்
- ஆவணங்களில் உள்ள இணைப்புகள் வேலை செய்வது
- திட்ட கட்டுமானங்கள் வெற்றிகரமாக நிறைவேற்றல்
- உதாரணங்கள் சிறந்த நடைமுறைகளை பின்பற்றல்
### Pre-submission Checks
- package.json உள்ள கோப்பகங்களில் `npm run lint` இயக்கவும்
- Markdown இணைப்புகள் செல்லுபடியாக உள்ளதா என சரிபார்க்கவும்
- குறியீட்டு உதாரணங்களை உலாவியில் அல்லது Node.js இல் சோதிக்கவும்
- மொழிபெயர்ப்புகள் சரியான கட்டமைப்போடு உள்ளதா என்பதைக் கண்காணிக்கவும்
- package.json உள்ள கோப்புறைகளில் `npm run lint` இயக்கவும்
- மார்க்டவுன் இணைப்புகள் செல்லுபடியாக உள்ளதா என்று சரிபார்க்கவும்
- குறியீடு உதாரணங்களை உலாவி அல்லது Node.js இல் சோதனை செய்யவும்
- மொழிபெயர்ப்புகள் சரியான அமைப்பை பராமரிக்கின்றனவா எனச் சரிபார்க்கவும்
## Code Style Guidelines
### JavaScript
- நவீன ES6+ தொகுக்குள் எழுதவும்
- திட்டங்களில் வழங்கப்பட்ட ESLint கட்டமைப்புகளை பின்பற்றவும்
- கல்வி தெளிவுக்கு பொருந்தும் பொருத்தமான மாறிலிகள் மற்றும் செயல்பாட்டுப் பெயர்களைப் பயன்படுத்தவும்
- கற்றலுக்கான கருத்துகளுடன் கருத்துரைகளைச் சேர்க்கவும்
- Prettier ஐ அமைப்பில் பயன்படுத்தி வடிவமைக்கவும்
- நவீன ES6+ சொற்றொடர்கள் பயன்படுத்துக
- திட்டங்களில் வழங்கப்பட்ட பராமரிக்கப்பட்ட ESLint கட்டமைப்புகளை பின்பற்றுக
- கல்வி பண்பாட்டிற்கு பொருத்தமான மாறிலி மற்றும் செயல்பாடுகளின் பெயர்களைப் பயன்படுத்துக
- கற்றுக்கொள்ளும் நோக்கத்துக்கான கருத்துக்களைச் சேர்க்கவும்
- கட்டமைக்கப்பட்ட இடங்களில் Prettier மூலம் வடிவமைக்கவும்
### HTML/CSS
- அர்த்தபூர்வ HTML5 கூறுகள்
- பதிலளிக்கும் வடிவமைப்பு 원칙ங்கள்
- தெளிவான வகுப்பு பெயரிடும் விதிகள்
- CSS கலப்பாணி விளக்கக் கருத்துரைகள்
- பொருத்தமான HTML5 கூறுகள்
- பதிலளிக்கும் வடிவமைப்புக் கொள்கைகள்
- தெளிவான வகுப்பு பெயரிடுகைகள்
- CSS தொழில்நுட்பங்கள் விளக்கும் கருத்துக்களைச் சேர்க்கவும்
### Python
- PEP 8 நடைமுறைகளைக் கடைப்பிடிக்கவும்
- தெளிவான, கல்விசார் குறியீட்டு உதாரணங்கள்
- கற்றலுக்காக தேவைப்பட்டால் வகை குறியீடுகளுடன்
- PEP 8 பாணி வழிகாட்டுதல்கள்
- தெளிவான, கல்வி குறியீடு உதாரணங்கள்
- கற்றுக்கொள்ள உதவும் இடங்களில் வகை குறிப்பு
### Markdown Documentation
- தெளிவான தலைப்பு வரிசை
- மொழி விவரிக்கப்பட்ட குறியீட்டு தொகுதிகள்
- கூடுதல் ஆதாரங்கள் இணைப்புகள்
- படங்கள் மற்றும் ஸ்கிரீன்ஷாட்கள் `images/` கோப்பகங்களில
- அணுகலும் வசதிக்கும் படங்களுக்கான Alt உரை
- தெளிவான தலைப்பு வரிசைமை
- மொழி குறிப்புடன் குறியீடு தொகுதிகள்
- கூடுதல் வளங்களுக்கு இணைப்புகள்
- `images/` கோப்புறைளில் திரைபடங்கள் மற்றும் படங்கள்
- படங்களுக்கு அணுகல் வசதிக்கான Alt உரை
### File Organization
- பாடங்கள் தொடர் எண்களுடன் (1-getting-started-lessons, 2-js-basics, என)
- ஒவ்வொரு திட்டத்திற்கும் `solution/` மற்றும் பெரும்பாலும் `start/` அல்லது `your-work/` கோப்பகங்கள்
- படங்கள் பாடத் தனிப்பட்ட `images/` கோப்பகங்களில்
- மொழிபெயர்ப்புகள் `translations/{language-code}/` அமைப்பில்
- பாடங்கள் தொடர் எண்களுடன் (1-getting-started-lessons, 2-js-basics, போன்றவை)
- ஒவ்வொரு திட்டத்துக்கும் `solution/` மற்றும் பெரும்பாலும் `start/` அல்லது `your-work/` கோப்புறைகள்
- பாடத் தனித்துவமான `images/` கோப்புறைகளில் படம் சேமிப்பு
- `translations/{language-code}/` அமைப்பில் மொழிபெயர்ப்புகள்
## Build and Deployment
### Quiz App Deployment (Azure Static Web Apps)
quiz-app Azure Static Web Apps வெளியீட்டிற்கு அமைக்கப்பட்டுள்ளது:
quiz-app Azure Static Web Apps இடைமுகம் கொண்டு ஒழுங்குபடுத்தப்பட்டுள்ளது:
```bash
cd quiz-app
npm run build # dist/ கோப்புறை உருவாக்குகிறது
# மெயின் கிளையில் புஷ் செய்தபோது GitHub Actions வேலைநடத்தை மூலம் பிரசாரம் செய்கிறது
npm run build # dist/ கோப்புறையை உருவாக்குகிறது
# பிரதான கிளையை புதுப்பிக்கும் போது GitHub Actions பண்அமைப்பினூடாக வெளியிடுகிறது
```
Azure Static Web Apps வரைகலை:
- **App location**: `/quiz-app`
- **Output location**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
Azure Static Web Apps அமைப்பு:
- **App இடம்**: `/quiz-app`
- **வெளியீடு இடம்**: `dist`
- **வேலைபாடு**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Documentation PDF Generation
```bash
npm install # docsify-to-pdf ஐ நிறுவவும்
npm run convert # docs இலிருந்து PDF ஐ உருவாக்கவும்
npm install # docsify-to-pdf ஐ நிறுவுக
npm run convert # docs இலிருந்து PDF உருவாக்குக
```
### Docsify Documentation
```bash
npm install -g docsify-cli # Docsify ஐ முழுமையாக நிறுவுக
docsify serve # localhost:3000 இல் சேவை செய்க
npm install -g docsify-cli # Docsify ஐ உலகளாவிய முறையில் நிறுவவும்
docsify serve # localhost:3000 இல் சேவை வழங்கவும்
```
### Project-specific Builds
ஒவ்வொரு திட்டக் கோப்பகத்திலும் தனிப்பட்ட கட்டுமான செயல்முறை இருக்கும்:
- Vue திட்டங்கள்: `npm run build` மூலம் தயாரிப்புத் தொகுப்புகள் உருவாக்கப்படும்
- நிலையான (Static) திட்டங்கள்: கட்டுமான படி இல்லாமல் நேரடியாக கோப்புகளை வழங்கும்
ஒவ்வொரு திட்டக் கோப்புறைக்கும் தனிப்பட்ட கட்டுமான செயல்முறை இருக்கலாம்:
- Vue திட்டங்கள்: `npm run build` மூலம் தயாரிப்பு தொகுதிகள் உருவாகும்
- நிலையான (static) திட்டங்கள்: கட்டுமான படி இல்லை, கோப்புகளை நேரடியாக வழங்குகிறது
## Pull Request Guidelines
### Title Format
மாற்றத்தின் பகுதியை தெளிவாக காட்டும் தலைப்புகளைப் பயன்படுத்தவும்:
- `[Quiz-app] பாடம் Xக்கான புதிய கேள்வி சேர்க்கவும்`
- `[Lesson-3] terrarium திட்டத்தில் பிழை திருத்தம்`
- `[Translation] பாடம் 5க்கான ஸ்பானிஷ் மொழிபெயர்ப்பு சேர்க்கவும்`
- `[Docs] அமைப்பு நிகழைகள் புதுப்பித்தல்`
மாற்றத்தை தெளிவாக விளக்கும் தலைப்புகளைப் பயன்படுத்துக:
- `[Quiz-app] பாடம் X க்கான புதிய வினாடி கேள்வி சேர்க்கவும்`
- `[Lesson-3] டெரேரியம் திட்டத்தில் எழுத்துப் பிழை திருத்தவும்`
- `[Translation] பாடம் 5 க்கு ஸ்பானிஷ் மொழிபெயர்ப்பு சேர்க்கவும்`
- `[Docs] அமைப்பு வழிமுறைகளை புதுப்பிக்கவும்`
### Required Checks
PR சமர்ப்பிப்புக்கு முன்:
PR சமர்ப்பிப்பதற்கு முன்:
1. **குறியீட்டு தரம்**:
- தாக்கத்துக்குள்ளான திட்டக் கோப்பகங்களில் `npm run lint` இயக்கவும்
- அனைத்து பிழைகளும் எச்சரிக்கைகளும் சரிசெய்யப்பட வேண்டும்
1. **குறியீடு தரம்**:
- சம்பந்தப்பட்ட திட்டக் கோப்புறைகளில் `npm run lint` இயக்கவும்
- அனைத்து lint பிழைகள் மற்றும் எச்சரிக்கைகளை சரி செய்யவும்
2. **கட்டுமான சரிபார்ப்பு**:
- பொருந்துமானால் `npm run build` இயக்கவும்
- கட்டுமான பிழைகள் இருக்கக் கூடாது
2. **கட்டுமான சரிபார்ப்பு**:
- பொருந்துமானால் `npm run build` இயக்கவும்
- கட்டுமான பிழைகள் வராமல் உறுதி செய்யவும்
3. **இணைப்பு சரிபார்ப்பு**:
- அனைத்து Markdown இணைப்புகளும் சரிபார்க்கப்பட வேண்டும்
- படங்கள் குறிப்பு சரியாக இருக்க வேண்டும்
3. **இணைய இணைப்பு சரிபார்ப்பு**:
- அனைத்து மார்க்டவுன் லிங்குகளை சோதிக்கவும்
- படம் மேற்கோள்கள் வேலை செய்கின்றதா என உறுதிசெய்யவும்
4. **உள்ளடக்கம் ஆய்வு**:
- எழுத்து மற்றும் இலக்கண பிழைகள் இல்லாமல் இருக்க வேண்டும்
- குறியீட்டு உதாரணங்கள் சரியாகவும் கல்விசரியும் இருக்க வேண்டும்
- மொழிபெயர்ப்புகள் அசல் பொருளினை பாதுகாத்திருக்க வேண்டும்
4. **உள்ளடக்கம் பரிசீலனை**:
- எஃகு மற்றும் இலக்கண பிழைகள் இல்லாததைக் கோருங்கள்
- குறியீடு உதாரணங்கள் சரியானதும் கல்விக்கூடியதுமானது
- மொழிபெயர்ப்புகள் உண்மையான பொருளை பராமரிக்கின்றன
### Contribution Requirements
- Microsoft CLAஐ ஏற்றுக்கொள்ள வேண்டும் (முதல் PRஇல் தானாகச் சரிபார்க்கப்படுக)
- [Microsoft Open Source Code of Conduct](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 விளக்கத்தில் பிரச்சினை எண்களை குறிப்பிடுங்கள் எனில்
### Review Process
- PRகள் பராமரிப்பாளர்கள் மற்றும் சமூகத்தால் மதிப்பாய்வு செய்யப்படுகின்றன
- கல்வி தெளிவுக்கு முக்கியத்துவம் கொடுக்கப்படுகிறது
- குறியீட்டு உதாரணங்கள் தற்போதைய சிறந்த நடைமுறைகளை பின்பற்ற வேண்டும்
- மொழிபெயர்ப்புகள் சரியான தன்மை மற்றும் பண்பாட்டு பொருத்தத்திற்கு ஆய்வு செய்யப்படுகின்றன
- PR-களை பராமரிப்பவர்கள் மற்றும் சமுதாயம் விமர்சனப்படுத்துவர்
- கல்வி தெளிவு முன்னிருத்தப்படும்
- குறியீடு உதாரணங்கள் தற்போதைய சிறந்த நடைமுறைகளை பின்பற்றவேண்டும்
- மொழிபெயர்ப்புகள் துல்லியமும் பண்பாட்டுத் தகுதியும் பரிசீலிக்கப்படும்
## Translation System
### Automated Translation
- GitHub Actions உடன் co-op-translator workflow பயன்படுத்தப்படுகிறது
- தானாக 50+ மொழிகளுக்கு மொழிபெயர்க்கிறது
- மூல கோப்புகள் பிரதான கோப்பகங்களில்
- மொழிபெயர்க்கப்பட்ட கோப்புகள் `translations/{language-code}/` கோப்பகங்களில்
- GitHub செயற்பாடுகள் மற்றும் co-op-translator வேலைப்பாட்டைப் பயன்படுத்துகிறது
- தானாக 50+ மொழிகளுக்கு மொழிபெயர்க்கின்றது
- மூல கோப்புகள் முதன்மை கோப்புறைகளில்
- மொழிபெயர்க்கப்பட்ட கோப்புகள் `translations/{language-code}/` கோப்புறைகளில்
### Adding Manual Translation Improvements
1. `translations/{language-code}/` இல் கோப்பை கண்டுபிடிக்கவும்
2. கட்டமைப்பை பாதுகாத்து மேம்படுத்தулер செய்யவும்
3. குறியீட்டு உதாரணங்கள் செயல்படுவதில் இணக்கமானவை என்பதை உறுதி செய்யவும்
4. உள்ளூர்தமிழ் கேள்விகளுக்கு சோதனை செய்யவும்
1. `translations/{language-code}/` இல் கோப்பை கண்டறியவும்
2. அமைப்பை மாறாமல் மேம்படுத்துக
3. குறியீடு உதாரணங்கள் செயல்படுவதை உறுதிசெய்க
4. உள்ளூர் வினாடி கேள்விகள் இருந்தால் சோதிக்கவும்
### Translation Metadata
மொழிபெயர்க்கப்பட்ட கோப்புகளில் metadata தலைப்பு இடப்பட்டுள்ளது:
மொழிபெயர்க்கப்பட்ட கோப்புகளில் metadata தலைப்பு உள்ளது:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -288,121 +288,121 @@ CO_OP_TRANSLATOR_METADATA:
}
-->
```
## Debugging and Troubleshooting
### Common Issues
**Quiz app துவங்காது**:
- Node.js பதிப்ப (v14+ பரிந்துரைக்கப்படுகிறது)
- `node_modules` மற்றும் `package-lock.json` நீக்கி `npm install` மீண்டும் இயக்கவும்
- போர்ட் முரண்பாடுகள் (இயல்புநிலை: Vite 5173 போர்ட் பயன்படுத்துகிறது) சரிபார்க்கவும்
**Quiz app துவங்காமல் போவது**:
- Node.js பதிப்பchecks (v14+ பரிந்துரைக்கப்படுகிறது)
- `node_modules` மற்றும் `package-lock.json` நீக்கி `npm install` மீண்டும் இயக்கவும்
- போர்ட் எதிர்ப்பு இருந்தால் சரிபார்க்கவும் (இயல்புநிலை: Vite போர்ட் 5173 பயன்படுத்துகிறது)
**API சேவையகம் துவங்கவில்லை**:
- Node.js பதிப்பு குறைந்தபட்சம் node >=10 இருக்கிறதா என உறுதி செய்யவும்
- போர்ட் ஏற்கனவே பயன்படுத்தப்படுகிறதா என சரிபார்க்கவும்
- அனைத்து சார்புகள் `npm install` மூலம் நிறுவப்பட்டுள்ளனவா என உறுதி செய்யவும்
**API சர்வர் துவங்காது**:
- Node.js பதிப்பு குறைந்தபட்சம் node >=10 இருக்க வேண்டும்
- போர்ட் ஏற்கனவே பயன்பாட்டில் இருக்கிறதா என்று பார்க்கவும்
- அனைத்து சார்பு தொகுதிகள் `npm install` மூலம் நிறுவப்பட்டுள்ளனவா என சரிபார்க்கவும்
**Browser extension ஏற்றப்படவில்லை**:
- manifest.json சரியாக வடிவமைக்கப்பட்டுள்ளதா என்பதை சரிபார்க்கவும்
- உலாவி(console) பிழைத் தொடரலை பார்வையிடவும்
- உலாவி-சுட்டி சிறப்பு நிறுவல் வழிமுறைகளை பின்பற்றவும்
**Browser Extension ஏற்றாது**:
- manifest.json சரியான வடிவில் இருக்கிறதா பார்க்கவும்
- உலாவி கன்சோலில் பிழைகளை பார்க்கவும்
- உலாவி-சிறப்ப நீட்டிப்பு நிறுவல் வழிமுறைகளை பின்பற்றவும்
**Python chat திட்டத்தில் பிரச்சினைகள்**:
- OpenAI தொகுப்பு நிறுவப்பட்டுள்ளது: `pip install openai`
- GITHUB_TOKEN சுற்றுச்சூழல் மாறி அமைக்கப்பட்டுள்ளது என உறுதி செய்யவும்
- GitHub மாடல்கள் அணுகல் அனுமதிகளைச் சரிபார்க்கவும்
**Python உரையாடல் திட்ட பிழைகள்**:
- OpenAI தொகுதி நிறுவப்பட்டுள்ளதா (`pip install openai`)
- GITHUB_TOKEN சுற்றுச்சூழல் மாறி அமைக்கப்பட்டுள்ளது
- GitHub Models அணுகல் அனுமதிகளை சரிபார்க்கவும்
**Docsify ஆவண சேவை வழங்கவில்லை**:
- உலகளாவிய docsify-cli நிறுவவும்: `npm install -g docsify-cli`
- களஞ்சியத்தின் ரூட் கோப்பகத்தில் இயக்கவும்
- `docs/_sidebar.md` கோப்பு உள்ளது என்பதை உறுதி செய்யவும்
**Docsify ஆவணங்கள் வழங்கவில்லை**:
- docsify-cli-ஐ உலகளவில் நிறுவவும்: `npm install -g docsify-cli`
- களஞ்சியத்தின் ரூட் கோப்புறைஇருந்து இயக்கவும்
- `docs/_sidebar.md` உள்ளது என உறுதிசெய்க
### Development Environment Tips
- HTML திட்டங்களுக்கு VS Code Live Server விரிவாக்கம் பயன்படுத்தவும்
- ஒரே மாதிரியான வடிவமைப்புக்கு ESLint மற்றும் Prettier விரிவாக்கங்களை நிறுவவும்
- JavaScript பிழைகள் கண்டறிய Browser DevTools பயன்படுத்தவும்
- Vue திட்டங்களுக்கு Vue DevTools உலாவி விரிவாக்கத்தை நிறுவவும்
- HTML திட்டங்களுக்கு VS Code Live Server நீட்டிப்பைப் பயன்படுத்தவும்
- ஒத்திவைக்கும் வடிவமைப்புக்கு ESLint மற்றும் Prettier நீட்டிப்புகளை நிறுவவும்
- JavaScript பிழைத்திருத்தத்திற்கு உலாவி DevTools பயன்படுத்தவும்
- Vue திட்டங்களுக்கு Vue DevTools உலாவி நீட்டிப்பைப் பயன்படுத்தவும்
### Performance Considerations
- மொழிபெயர்க்கப்பட்ட கோப்புகள் (50+ மொழிகள்) அதிகமானவை காரணமாக முழு க்ளோன்கள் பெரிதாக இருக்கும்
- உள்ளடக்கத்துடன் மட்டும் வேலை செய்ய shallow clone பயன்படுத்தவும்: `git clone --depth 1`
- ஆங்கில உள்ளடக்கங்களில் மொழிபெயர்ப்புகளை தேடல்களில் விலக்கு விடவும்
- கட்டுமான செயல்முறைகள் முதன்முறையாக மெதுவாக இருக்க வாய்ப்பு (npm install, Vite build)
- 50+ மொழிகளில் மொழிபெயர்க்கப்பட்ட கோப்புகள் அதிகம் இருப்பதால் முழு கிளோன் பெரிதாக இருக்கும்
- உள்ளடக்கம் மட்டுமே வேலை செய்வின் `git clone --depth 1` பயன்படுத்தவும்
- ஆங்கில உள்ளடக்கத்தில் மொழிபெயர்ப்புகளைத் தேடும் போது தவிர்க்கவும்
- கட்டுமான செயல்முறைகள் முதன்முறையாக மெதுவாக இருக்கலாம் (npm install, Vite build)
## Security Considerations
### Environment Variables
- API விசைகளை களஞ்சியத்தில் பதிப்பிக்க கூடாது
- `.env` கோப்புகளை (ஏற்கனவே `.gitignore` உள்ளது) பயன்படுத்தவும்
- திட்ட README-களில் தேவையான சுற்றுச்சூழல் மாறிகள் ஆவணப்படுத்தவும்
- API விசைகள் களஞ்சியத்தில் சேர்க்கப்படக் கூடாது
- `.env` கோப்புகளை பயன்படுத்தவும் (ஈவ்வுலகில் `.gitignore` உள்ளது)
- திட்ட README-களில் தேவைப்படும் சுற்று மாறிகள் ஆவணப்படுத்தவும்
### Python Projects
- `python -m venv venv` கொண்டு மெய்நிகர் சுற்றுச்சூழல்களைப் பயன்படுத்தவும்
- சார்புகளை மேம்படுத்திக் கொள்வது முக்கியம்
- GitHub டோகன்கள் குறைந்தபட்ச அனுமதிகளுடன் இருக்க வேண்டும்
- மெய்நிகர் சுற்றுச்சூழல்களை பயன்படுத்தவும்: `python -m venv venv`
- சார்புகளை புதுப்பித்து வைக்கவும்
- GitHub டோக்கன்களுக்கு குறைந்தபட்ச தேவையான அனுமதிகளை அளிக்கவும்
### GitHub Models Access
- GitHub Models க்கு தனிப்பட்ட அணுகல் டோகன்கள் (PAT) தேவை
- டோகன்கள் சுற்றுச்சூழல் மாறிகள் ஆக பாதுகாக்கப்பட வேண்டும்
- டோகன்கள் அல்லது கடவுச்சொற்களை பதிப்பிப்பது தவிர்க்கவும்
- GitHub Models-க்கு தனிப்பட்ட அணுகல் டோக்கன்கள் தேவை
- டோக்கன்களை சுற்றுச்சூழல் மாறிகளாக வைத்திருக்கவும்
- டோக்கன் அல்லது சான்றுகளை களஞ்சியத்தில் சேர்க்கக்கூடாது
## Additional Notes
### Target Audience
- வலை மேம்பாட்டிற்கு முழுமையான ஆரம்பநிலை பயனாளர்கள்
- மாணவர்கள் மற்றும் தன்னடையாள கற்றல் செய்பவர்கள்
- வகுப்பறைகளில் பாடத்திட்டத்தைப் பயன்படுத்தும் ஆசிரியர்கள்
- உள்ளடக்கம் அணுகல் வசதி மற்றும் படிப்படியான திறன் வளர்ச்சிக்காக வடிவமைக்கப்பட்டுள்ளது
- முழுமையாக ஆரம்ப நிலையில் உள்ள வலை வளர்ச்சி கற்றுக் கொள்ளும்வர்
- மாணவர்கள் மற்றும் சுய கற்றுநர்
- வகுப்பறைகளில் பாடத்திட்டத்தை பயன்படுத்தும் ஆசிரியர்கள்
- அணுகல் வசதிக்கானவும் படிப்படியாக திறமை வளர்க்கும் வகையിലുള്ള உள்ளடக்கம்
### Educational Philosophy
- திட்ட அடிப்படையிலான கற்றல் முறையை பயன்படுத்துகிறது
- அடிக்கடி அறிவு சோதனை (quizzes)
- கைமுறை குறியீட்டு பயிற்சிகள்
- நிஜ உலகைப் பயன்படுத்திய பயன்பாட்டு உதாரணங்கள்
- முன் அமைப்புகளுக்கு முன்னால் அடிப்படைகள் மீது கவனம்
- திட்ட அடிப்படையிலான கற்றல் முறை
- அடிக்கடி அறிவு சோதனை (வினாடி கேள்விகள்)
- கையேடு குறியீடு பயிற்சிகள்
- நெறிமுறை பயன்பாட்டு உதாரணங்கள்
- கட்டமைப்புகளை விட அடிப்படைகளை முன்னுரிமை
### Repository Maintenance
- சுறுசுறுப்பான கற்றல் மற்றும் பங்கு செய்பவர் சமூகத்துடன்
- சார்புகள் மற்றும் உள்ளடக்கம் தொடர்ந்து புதுப்பிக்கப்படுகின்றன
- பிரச்சினைகள் மற்றும் விவாதங்களை பராமரிப்பாளர்கள் கண்காணிக்கின்றனர்
- மொழிபெயர்ப்புகள் GitHub Actions வழியாக தானாக புதுப்பிக்கப்படுகின்றன
- திடீர் மாணவர்கள் மற்றும் பங்களிப்பாளர்கள் மூலம் செயலில்
- சார்புகள் மற்றும் உள்ளடக்கங்களில் தேவையான புதுப்பிப்புகள்
- பிரச்சினைகள் மற்றும் விவாதங்கள் பராமரிப்போரால் கண்காணிப்பு
- மொழிபெயர்ப்பு புதுப்பிப்புகள் GitHub செயல்பாடுகள் மூலம் தானாக நடைபெறுகின்றன
### Related Resources
- [Microsoft Learn modules](https://docs.microsoft.com/learn/)
- [Student Hub resources](https://docs.microsoft.com/learn/student-hub/)
- கற்றவர்களுக்கு பரிந்துரைக்கப்படும் [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)
- கூடுதல் பாடநெறிகள்: Generative AI, Data Science, 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, தரவு அறிவியல், இயந்திர கற்றல், IoT பாடத்திட்டங்கள்
### Working with Specific Projects
தனித்தனியான திட்டங்களுக்கான விரிவான வழியுறைகளைப் பெற:
- `quiz-app/README.md` - Vue 3 கேள்வி பதில் செயலி
- `7-bank-project/README.md` - அங்கீகாரம் உடைய வங்கிக் செயலி
- `5-browser-extension/README.md` - உலாவி விரிவாக்க மேம்பாடு
- `6-space-game/README.md` - கன்வாஸ் அடிப்படையிலான விளையாட்டு
- `9-chat-project/README.md` - AI உரையாடல் உதவியாளர் திட்டம்
ஒவ்வொரு திட்டத்திற்கான விரிவான வழிமுறைகள் README கோப்புகளில் உள்ளன:
- `quiz-app/README.md` - Vue 3 வினாடி கேள்விகள் செயலி
- `7-bank-project/README.md` - அங்கீகாரம் கொண்ட வங்கி பயன்பாடு
- `5-browser-extension/README.md` - உலாவி நீட்டிப்பு உருவாக்கம்
- `6-space-game/README.md` - கன்வாஸ் அடிப்படையிலான விளையாட்டு
- `9-chat-project/README.md` - AI உரையாடல் உதவியாளர் திட்டம்
### Monorepo Structure
பாரம்பரியமாக ஒரு monorepo ஆக இல்லாவிட்டாலும், இந்தக் களஞ்சியம் பல தனித்தனி திட்டங்களை கொண்டுள்ளது:
- ஒவ்வொரு பாடமும் தனித்தனி உள்ளது
- திட்டங்கள் சார்புகளை பகிர வேண்டாமே
- தனிப்பட்ட திட்டங்களில் மட்டுமே பணியாற்றலாம் மற்றவற்றுக்கு பாதிப்பில்லை
- முழு பாடத்திட்ட அனுபவத்திற்குள் முழுக் களஞ்சியத்தை கிளோன் செய்யவும்
சார்பு பகிர்வு இல்லாத பல தனித்தனியான திட்டங்கள் கொண்ட களஞ்சியம்:
- ஒவ்வொரு பாடமும் தனித்தனியாக உள்ளது
- திட்டங்கள் சார்புகளை பகிர்வதில்லை
- தனித்திட்டங்களில் வேலை செய்யலாம் மற்றவற்றை பாதிக்காமல்
- முழு பாடத்திட்ட அனுபவத்திற்கான முழுக் களஞ்சியத்தை கிளோன் செய்யவும்
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**குறிப்புரை**:
இந்த ஆவணம் AI மொழிபெயர்ப்பு சேவை [Co-op Translator](https://github.com/Azure/co-op-translator) மூலம் மொழிபெயர்க்கப்பட்டுள்ளது. நாங்கள் துல்லியத்திற்காக முயலினாலும், தானாக மொழிபெயர்ப்புகள் சில தவறுகள் அல்லது துல்லியமற்ற பார்வைகளை கொண்டிருக்கலாம் என்பதை தயவுசெய்து கவனத்தில் கொள்ளுங்கள். அதன் தாய்மொழியில் உள்ள அசல் ஆவணம் அதிகாரப்பூர்வ மூலமாக கணிக்கப்பட வேண்டும். முக்கிய தகவல்களுக்கு, தொழில்முனைவோர் மனித மொழிபெயர்ப்பை பரிந்துரைக்கப்படுகின்றது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்பாளிகள் அல்ல.
**புரிந்துணர்வு**:
இந்த ஆவணம் [Co-op Translator](https://github.com/Azure/co-op-translator) என்ற செயற்கை நுண்ணறிவு மொழிபெயர்ப்புச் சேவையைப் பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. துல்லியத்திற்காக நாம் முயற்சிக்கிறோம் என்றாலும், தானாகக் செய்யப்பட்ட மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறான தகவல்கள் இருக்கக்கூடும் என்பதை தயவுசெய்து கவனிக்கவும். அசல் ஆவணம் தனது இயல்புநிலைய மொழியில் அங்கீகாரம் பெற்ற மூலமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, திறமையான மனித மொழிபெயர்ப்பை பரிந்துரைக்கிறோம். இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்பட்டுள்ள எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கும் நாங்கள் பொறுப்பேற்கமாட்டோம்.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -10,204 +10,213 @@
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
# ஆரம்ப நிலை வலைப் பயன்பாட்டுக்கான முன்னுரிமை பாடத்திட்டம்
# ஆரம்பநிலை நெட்வெர் மேம்பாட்டுக்கான பாடத்திட்டம்
Microsoft Cloud Advocates வழங்கும் 12 வார முழுமையான பாடத்திட்டத்துடன் வலை பயன்பாட்டின் அடிப்படைகளை கற்றுக்கொள்ளுங்கள். ஒவ்வொரு 24பாடமுமும் மற்றும் JavaScript, CSS மற்றும் HTML -ஐ கையாளும் செயல்முறைகள், Browser விசிறிகள் மற்றும் விண்வெளி விளையாட்டுகள் போன்ற செய்முறை செயலுந் திட்டங்களுடன் கூடி உள்கட்டளை பெறுகிறது. வினாக்கள், விவாதங்கள் மற்றும் நடைமுறை பணிகள் மூலம் ஈடுபடவும். உங்கள் திறன்களை மேம்படுத்தி அறிவுகொள்ளும் திறனை எளிமையாக ஆக்கவும் எங்கள் செயல்முறையான திட்ட அடிப்படையிலான கற்பித்தல் முறையை பயன்படுத்துங்கள். உங்கள் குறியீடு பயணத்தை இன்றே தொடங்குங்கள்!
Microsoft Cloud Advocates வழங்கும் 12 வார விரிவான பாடநெறியுடன் வலை மேம்பாட்டின் அடிப்படைகளை கற்றுக்கொள்க. 24 பாடங்களின் ஒவ்வொன்றும் ஜாவாஸ்கிரிப்ட், CSS மற்றும் HTML ஐ கரைதிருக்கும் திட்டங்களான டெராரியம்கள், உலாவி நீட்சிகள் மற்றும் விண்வெளி விளையாட்டுகள் மூலம் கையடக்கப் பயிற்சிகளுடன் ஆராய்கிறது. கேள்வி கேட்கிற, விவாதம் செய்க, மற்றும் நடைமுறை பணிகளை மேற்கொள். உங்கள் திறன்களை மேம்படுத்தவும் உங்கள் அறிவு நினைவாற்றலை எங்கள் பயிற்சி திட்டத்தின் மூலம் மேம்படுத்தவும். இன்று உங்கள் குறியீட்டு பயணம் தொடங்குங்கள்!
Azure AI Foundry Discord சமூகத்தில் இணைக
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. **காப்பகத்தை Fork செய்யவும்**: சொடுக்கவும் [![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)
### 🌐 பல மொழி ஆதரவு
### 🌐 பலமொழி ஆதரவு
#### GitHub செயல்பாட்டின் மூலம் ஆதரவு (தானாகவும் எப்போதும் புதுப்பிக்கப்படுபவும்)
#### GitHub செயல்பாட்டின் மூலம் ஆதரவு (தானியங்கி & எப்போதும் கன்டேட்)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../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](./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+ மொழி மொழிபெயர்ப்புகளை உள்ளடக்குகிறது, இது பதிவிறக்கக் காட்சியை பெருக்குகிறது. மொழிபெயர்ப்புகள் இல்லாமல் கிளோன் செய்ய 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'
> ```
> இது பாடத்திட்டம் முழுவதும் விரைவான பதிவிறக்கத்துடன் செய்ய தேவையான எல்லாவற்றையும் உங்களுக்கு வழங்கும்.
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> இது விரைவான பதிவிறக்கத்துடன் படிப்பை முடிப்பதற்கான அனைத்து தேவைகளையும் உங்களுக்கு வழங்கும்.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**மேலும் மொழிபெயர்ப்புகள் ஆதரவு தேவையெனில் [இங்கே](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md) பட்டியலிடப்பட்டுள்ளன**
**மேலும் மொழிபெயர்ப்புகளுக்காக ஆதரவு தேவையெனில், இங்கு பட்டியலிட்டுள்ளன [here](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _நீங்கள் ஒரு மாணவரா?_
#### 🧑‍🎓 _நீங்கள் மாணவரா?_
[**மாணவர் மைய பக்கம்**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) பார்வையிடவும், அங்கு நீங்கள் ஆரம்பநிலை வளங்கள், மாணவர் தொகுப்புகள் மற்றும் இலவச சான்றிதழ் கூப்பன்களை பெறும் வழிகளையும் காண்பீர்கள். மாதாந்திரமாக உள்ளடக்கம் மாற்றப்படுவதால் இந்தப் பக்கத்தை உங்கள் பிரபலமானங்களில் சேர்த்து பரிசீலிக்கவும்.
[**மாணவர் ஹப் பக்கம்**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) பார்க்கவும், அங்கே நீங்கள் ஆரம்பநிலை வளங்கள், மாணவர் பேக்குகள் மற்றும் இலவச சான்றிதழ் வவுச்சர் பெறும் வழிகளையும் காண்பீர்கள். மாதந்தோறும் உள்ளடக்கங்கள் மாறும் என்பதால் இந்தப் பக்கத்தைக் குறிச்சொல் வைத்து உடனுக்குடன் பார்க்கவும்.
### 📣 அறிவிப்பு - புதிய GitHub Copilot Agent முறையின சவால்கள்!
### 📣 அறிவிப்பு - புதிய GitHub Copilot Agent முறையிலான சவால்கள் நிறைவு செய்க!
புதிய சவாலைச் சேர்த்துள்ளோம், பெரும்பாலான அத்தியாயங்களில் "GitHub Copilot Agent Challenge 🚀" என பாருங்கள். இது GitHub Copilot மற்றும் Agent முறையைப் பயன்படுத்தி பல்வேறு சவால்களை நிறைவேற்றும் புதிய சவால் ஆகும். நீங்கள் Agent முறையை முன்பு பயன்படுத்தவில்லையெனில், இது உரை உருவாக்குவதற்கே அல்ல, கோப்புகளை உருவாக்கவும் திருத்தவும், கட்டளைகளை இயக்கவும் திறன் கொண்டது.
புதிய சவால் சேர்க்கப்பட்டது, பெரும்பாலான அத்தியாயங்களில் "GitHub Copilot Agent Challenge 🚀" என்பதைத் தேடுங்கள். இது GitHub Copilot மற்றும் Agent முறையைப் பயன்படுத்தி முடிக்க புதிய சவாலாகும். நீங்கள் முன்பு Agent முறையைப் பயன்படுத்தவில்லையெனில், இது உரையை உருவாக்குவததற்கு மட்டுமல்லாமல் கோப்புகளை உருவாக்கி மாற்றவும், கட்டளைகளை நடத்தவும் முடியும்.
### 📣 அறிவிப்பு - _புதிய Project உருவாக்க Generative AI பயன்படுத்தவும்_
### 📣 அறிவிப்பு - _உருவாக்கும் AI பயன்படுத்தும் புதிய திட்டம்_
புதிய AI உதவியாளர் திட்டம் இப்போது சேர்க்கப்பட்டது, பார்வையிடவும் [project](./9-chat-project/README.md)
புதிய AI உதவியாளர் திட்டம் சேர்க்கப்பட்டது, சரிபார்க்கவும் [project](./9-chat-project/README.md)
### 📣 அறிவிப்பு - _JavaScript க்கான Generative AI_ புதிய பாடத்திட்டம் வெளியிடப்பட்டது
### 📣 அறிவிப்பு - _புதிய பாடத்திட்டம்_ ஜாவாஸ்கிரிப்டுக்கான உருவாக்கும் AI பற்றியவை வெளியிடப்பட்டது
புதிய Generative AI பாடத்திட்டத்தை தவறவிடாதீர்கள்!
எங்கள் புதிய உருவாக்கும் AI பாடத்திட்டம் தவறவிடாதீர்கள்!
தொடங்க [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) பார்வையிடுங்கள்!
தொடங்க [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) பார்க்கவும்!
![Background](../../translated_images/ta/background.148a8d43afde5730.webp)
- அடிப்படைகளிலிருந்து RAG வரை அனைத்தும் உள்ள பாடங்கள்.
- வரலாற்றுச் கதாபாத்திரத்துடன் GenAI மற்றும் எங்கள் நண்பர் செயலியை பயன்படுத்தி தொடர்பு கொள்ளுங்கள்.
- ரசிக்கக்கூடிய மற்றும் சுவாரஸ்யமான கதை; நீங்கள் காலப்பயணம் செய்கிறீர்கள்!
- அடிப்படைகள் முதல் RAG வரை பாடங்கள்.
- GenAI மற்றும் எங்கள் துணை செயலியுடன் பண்புமிகு கதாப்பாத்திரங்களுடன் முத்திரை அமைத்து தொடர்பு கொள்ளுங்கள்.
- சுவையாகவும் ஈர்க்கும் கதைக்களம், நீங்கள் காலப்பயணம் செய்யப் போகிறீர்கள்!
![character](../../translated_images/ta/character.5c0dd8e067ffd693.webp)
ஒவ்வொரு பாடத்திலும் ஒப்படைப்பு, அறிவு சோதனை மற்றும் கீழ்காணும் தலைப்புகளில் கற்றலை வழிநடத்தும் சவாலை உள்ளடக்கியுள்ளது:
- Prompting மற்றும் prompt பொறியியல
- உரை மற்றும் பட தலைப்பு செயலிகள் உருவாக்கல
ஒவ்வொரு பாடத்திலும் ஒரு பணியை நிறைவு செய்ய வேண்டும், அறிவு பரிசோதனை மற்றும் சில சவால்கள் உண்டாகும், அவை கீழ்காணும் தலைப்புகளில் உங்களுக்கு வழிகாட்டும்:
- ஃப்ராம்ட் மற்றும் ஃப்ராம்ட் என்ஜினியரிங
- உரை மற்றும் பட செயலி உருவாக்கம
- தேடல் செயலிகள்
தொடங்க [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) பார்வையிடுங்கள்!
தொடங்க [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 செய்யவும்**: இத்தளத்தின் மேல் வலது மூலையில் உள்ள "Fork" பொத்தானை அழுத்தவும்.
2. **காப்பகத்தை Clone செய்யவும்**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
இந்த படிகளை பின்பற்றவும்:
1. **காப்பகத்தை Fork செய்க**: இந்த பக்கத்தின் வலது மேல் மூலையில் உள்ள "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/ta/createcodespace.0238bbf4d7a8d955.webp)
#### உங்கள் கணினியில் உள்ளிருந்தே பாடத்திட்டம் இயக்குவது
உங்கள் கணினியில் இந்த பாடத்திட்டத்தை இயக்க, ஒரு உரை தொகுப்பி, ஒரு பிரவுசர் மற்றும் கட்டளை வரி கருவி தேவை. நமது முதல் பாடம் [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) என்ற தொகுப்பாளர். இது கட்டமைக்கப்பட்ட [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) பதிவிறக்கம் செய்யலாம்.
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) ஐத் திறந்து, கீழ்கண்ட கட்டளையை இயக்குங்கள், `<your-repository-url>` என்பதற்கு நீங்கள் நடப்பில் நகலெடுத்த URLஐ மாற்றி:
```bash
git clone <your-repository-url>
```
2. Visual Studio Code-இல் கோப்புறை திறக்கவும். இது **File** > **Open Folder** என்பதை கிளிக் செய்து, நீங்கள் இப்பொழுது கிளோன் செய்த கோப்புறையை தேர்ந்தெடுக்கலாம்.
2. Visual Studio Code இல் கோப்புறை(ஐ) திறக்கவும். நீங்கள் இதை **File** > **Open Folder** என்பவற்றை கிளிக் செய்து, நீங்கள் கிளோன் செய்த கோப்புறை(ஐ) தேர்ந்தெடுக்கவும் செய்யலாம்.
> பரிந்துரைக்கப்பட்ட Visual Studio Code விரிவுரைகள்:
> பரிந்துரைக்கப்பட்ட Visual Studio Code நீட்சிகள்:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - Visual Studio Code உள்ளே HTML பக்கங்களை முன்னோட்டம் பார்க்க
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - உங்கள் குறியீட்டை விரைவாக எழுத உதவ
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - Visual Studio Code இல் HTML பக்கங்களை முன்னோட்டம் காண
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - உங்கள் குறியீட்டை வேகமாக எழுத உதவும்
## 📂 ஒவ்வொரு பாடத்திலும் உள்ளது:
## 📂 ஒவ்வொரு பாடமும் அடங்கும்:
- விருப்பத்தேர்ந்த ஸ்கெட்ச் நோட்
- விருப்பத்தேர்ந்த கூடுதல் காணொளி
- பாடத்திற்கு முன் வெப்ப ஊட்டக் க்விஸ்
- எழுதப்பட்ட பாடம்
- திட்ட அடிப்படையிலான பாடங்களுக்கு, திட்டத்தை எப்படி கட்டுவது என்பதற்கான படி படியாக வழிகாட்டல்கள்
- அறிவு சரிபார்ப்புகள்
- விருப்பமான ஸ்கெட்ச் நோட்
- விருப்பமான கூடுதல் வீடியோ
- பாடத்திற்கு முந்தின ஆய்வுக் கேள்வி
- எழுதிய பாடம்
- திட்ட அடிப்படையிலான பாடங்களுக்கு, திட்டத்தை கட்டடண பயிற்சிகள்
- அறிவு பரிசோதனைகள்
- ஒரு சவால்
- கூடுதல் வாசிப்பு
- பணிக்கான ஒப்படைப்ப
- [பாடத்திறகு பின் க்விஸ்](https://ff-quizzes.netlify.app/web/)
- பணிஎழுத்த
- [பாடம் முடித்திறகு கேள்வி](https://ff-quizzes.netlify.app/web/)
> **்விஸ்களின் குறிப்பு**: அனைத்து க்விஸ்களும் Quiz-app கோப்புறையில் உள்ளன,ஒவ்வொரு க்விசும் மூன்று கேள்விகளுடன் 48 க்விஸ்கள் உள்ளன. இவை [இங்கே](https://ff-quizzes.netlify.app/web/) கிடைக்கின்றன; Quiz app-ஐ உள்ளூரில் இயக்க அல்லது Azure-க்கு பரப்ப முடியும்; `quiz-app` கோப்புறையில் bulunan வழிமுறைகளை பின்பற்றவும்.
> **ேள்விகளுக்கு ஒரு குறிப்பு**: அனைத்து கேள்விகள் Quiz-app கோப்புறையில் உள்ளன, ஒவ்வொன்றும் மூன்று கேள்விகளால் ஆன 48 கேள்விகள். இவற்றை [இங்கே](https://ff-quizzes.netlify.app/web/) பெறலாம். கேள்வி செயலியை உள்ளகமாக இயக்கவோ அல்லது Azure இல் வெளியிடவோ செய்யலாம்; `quiz-app` கோப்புறையில் உள்ள வழிமுறைகளை பின்பற்றவும்.
## 🗃️ பாடங்கள்
| | திட்ட் பெயர் | கற்பிக்கப்பட்ட கருத்துக்கள் | கற்றல் நோக்ககள் | இணைக்கப்பட்ட பாடம் | ஆசிரியர் |
| | திட்டத்தின் பெயர் | கற்பிக்கப்பட்ட கருத்துக்கள் | கற்றல் நோக்கங்கள் | இணைக்கப்பட்ட பாடம் | ஆசிரியர் |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | தொடக்கம் | நிரலாக்கம் அறிமுகம் மற்றும் தொழில்நுட்ப கருவிகள் | பெரும்பான்மை நிரலாக்க மொழிகளின் அடிப்படைகளை மற்றும் தொழில்முறை டெவலபர்களுக்கு உதவும் மென்பொருளைப் பற்றி கற்றல் | [நிரலாக்க மொழிகள் மற்றும் தொழில்நுட்ப கருவிகள் அறிமுகம்](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | தொடக்கம் | GitHub அடிப்படைகள், குழுவென வேலை செய்யும் கற்றல் | உங்கள் திட்டத்தில் GitHub எப்படி பயன்படுத்துவது, மற்றவர்களுடன் இணைந்து நிரலை எப்படி பராமரிப்பது | [GitHub அறிமுகம்](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | தொடக்கம் | அணுகல் சாத்தியம் | வலை அணுகல் சாத்தியத்தின் அடிப்படைகளை கற்றல் | [அணுகல் சாத்தியம் அடிப்படைகள்](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS அடிப்படை | JavaScript தரவு வகைகள் | JavaScript தரவு வகைகளின் அடிப்படைகள் | [தரவு வகைகள்](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS அடிப்படை | செயல்பாடுகள் மற்றும் முறைமைகள் | பயன்பாட்டு தரிணை இயக்கக் கையேடுகளுக்கான செயல்பாடுகள் மற்றும் முறைமைகள் பற்றி கற்றல் | [செயற்பாடுகள் மற்றும் முறைமைகள்](./2-js-basics/2-functions-methods/README.md) | Jasmine மற்றும் Christopher |
| 06 | JS அடிப்படை | JS மூலம் முடிவெடுத்தல் | உங்கள் குறியீட்டில் முடிவெடுத்தல் முறைகள் பயன்படுத்தி நிபந்தனைகளை உருவாக்குவது எப்படி என்பதை கற்றல் | [முடிவெடுத்தல்](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS அடிப்படை | வரிசைகள் மற்றும் வழுக்கல்கள் | JavaScript-ல் வரிசைகள் மற்றும் வழுக்கல்களுடன் தரவை பணியாற்றுவது | [வரிசைகள் மற்றும் வழுக்கல்கள்](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML பயிற்சி | ஆன்லைன் டெராரியம் உருவாக்க HTML கட்டமைக்கவும், அமைப்பை கட்டமைக்க கவனம் செலுத்துகின்றது | [HTML அறிமுகம்](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS பயிற்சி | ஆன்லைன் டெராரியம் அலங்கரிக்க CSS கட்டமைக்கவும், பக்கத்தை பதில் அளிக்கும் வகையில் அடிப்படைகளை கற்றல் | [CSS அறிமுகம்](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript மூடுகள், DOM கையாளுதல் | டெராரியம் ஒரு இழுத்து/விடும் இடைமுகமாக செயல்பட JavaScript உருவாக்கவும், மூடுகள் மற்றும் DOM கையாளுதலை கவனித்து | [JavaScript மூடுகள், DOM கையாளுதல்](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [தட்டச்சு விளையாட்டு](./4-typing-game/solution/README.md) | தட்டச்சு விளையாட்டு உருவாக்குதல் | உங்கள் JavaScript செயலிக்கு விசைப்பலகை நிகழ்வுகளை பயன்படுத்தி மனசாட்சியை இயக்குவது எப்படி என்பதை கற்றல் | [நிகழ்வு இயக்க நிரலாக்கம்](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [பசுமை உலாவி நீட்டிப்பு](./5-browser-extension/solution/README.md) | உலாவிகளுடன் வேலை செய்தல் | உலாவிகள் எப்படி வேலை செய்கின்றன, அவற்றின் வரலாறு, உலாவி நீட்டிப்பின் முதல் கூறுகளை உருவாக்குவது எப்படி | [உலாவிகள் பற்றி](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [பசுமை உலாவி நீட்டிப்பு](./5-browser-extension/solution/README.md) | படிவம் உருவாக்கல், API அழைப்பு மற்றும் உள்ளூர் சேமிப்பில் மாறிகள் சேமித்தல் | API அழைக்க உங்கள் உலாவி நீட்டிப்பிற்கான JavaScript கூறுகளை உருவாக்குதல், உள்ளூர் சேமிப்பில் உள்ள மாறிகளை பயன்படுத்தல் | [APIs, படிவங்கள் மற்றும் உள்ளூர் சேமிப்பு](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [பசுமை உலாவி நீட்டிப்பு](./5-browser-extension/solution/README.md) | உலாவியில் பின்னணி செயலிகள், வலை செயல்திறன் | நீட்டிப்பின் அடையாளத்தை நிர்வகிக்க உலாவியின் பின்னணி செயல்களை பயன்படுத்தல்; வலை செயல்திறன் மற்றும் சில மேம்பாடுகள் பற்றி கற்றல் | [பின்னணி செயலிகள் மற்றும் செயல்திறன்](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [வானில் விளையாட்டு](./6-space-game/solution/README.md) | JavaScript கொண்டு மேம்பட்ட விளையாட்டு உருவாக்கல் | கிளாஸ்கள் மற்றும் தொகுப்புகள் பயன்படுத்தி உட்புகுத்தல் மற்றும் Pub/Sub மாதிரியை கற்றல், விளையாட்டு கட்டுவதற்கான தயார் | [மேம்பட்ட விளையாட்டு உருவாக்கம் அறிமுகம்](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [வானில் விளையாட்டு](./6-space-game/solution/README.md) | கேன்வாஸ் வரைச்சல் | திரையில் கூறுகளை வரைச்ச கேன்வாஸ் API பற்றி கற்றல் | [கேன்வாஸுக்கு வரைச்சல்](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [வானில் விளையாட்டு](./6-space-game/solution/README.md) | திரையில் கூறுகளை நகர்த்துதல் | கார்டிசியன் ஒருங்கிணைப்புகள் மற்றும் கேன்வாஸ் API-ஐ பயன்படுத்தி கூறுகளை இயக்குவது எப்படி என்பதை கண்டுபிடிக்க | [குறிப்புகளை நகர்த்துதல்](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [வானில் விளையாட்டு](./6-space-game/solution/README.md) | மோதல் கண்டறிதல் | விசையொத்துக்களை பயன்படுத்தி கூறுக்கள் மோதுதல் மற்றும் விளையாட்டு செயல்திறனை உறுதி செய்ய குளிர்ச்சிக் காரியத்தை வழங்குதல் | [மோதல் கண்டறிதல்](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [வானில் விளையாட்டு](./6-space-game/solution/README.md) | மதிப்பெண் வைத்தல் | விளையாட்டின் நிலை மற்றும் செயல்திறன் அடிப்படையில் கணிதக் கணக்கீடுகளை செய்தல் | [மதிப்பெண் வைத்தல்](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [வானில் விளையாட்டு](./6-space-game/solution/README.md) | விளையாட்டை நிறுத்தல் மற்றும் மீண்டும் தொடங்குதல் | விளையாட்டை நிறுத்துதல் மற்றும் மீண்டும் தொடங்குதல் பற்றி கற்றல், சொத்துக்களை சுத்தம் செய்தல் மற்றும் மாறிகள் மதிப்புகளை மீட்டமைத்தல் | [முடிவுநிலை](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [வங்கி செயலி](./7-bank-project/solution/README.md) | வலை பயன்பாட்டில் HTML வார்ப்புருக்கள் மற்றும் வழிகள் | ஒரு பலப்பக்க வலைதள கட்டமைப்பின் அடித்தளத்தை வழிசெலுத்தல் மற்றும் HTML வார்ப்புருக்கள் பயன்படுத்தி உருவாக்குவது எப்படி கற்றல் | [HTML வார்ப்புருக்கள் மற்றும் வழிகள்](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [வங்கி செயலி](./7-bank-project/solution/README.md) | உள்நுழைவு மற்றும் பதிவு படிவத்தை உருவாக்குதல் | படிவங்களை உருவாக்கும் முறைகள் மற்றும் செல்லுபடிகள் சோதனை நடைமுறைகளை கற்றல் | [படிவங்கள்](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [வங்கி செயலி](./7-bank-project/solution/README.md) | தரவைப் பெற்றல் மற்றும் பயன்படுத்தும் முறைகள் | உங்கள் செயலியிலிருந்து தரவு எப்படி ஓடுபது, அதை எப்படிப் பெறுவது, சேமிப்பது மற்றும் அகற்றுவது | [தரவு](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [வங்கி செயலி](./7-bank-project/solution/README.md) | நில மேலாண்மை கருத்துக்கள் | உங்கள் செயலி நிலையை எப்படி காப்பாற்றுகிறது மற்றும் அதை நிரலாக பராமரிப்பது எப்படி என்பதை கற்றல் | [நிலை மேலாண்மை](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | VScode-இல் வேலை செய்தல் | குறியீட்டு தொகுப்பியலில் எப்படி வேலை செய்வது கற்றல்| [VScode குறியீடு தொகுப்பியலைப் பயன்படுத்துதல்](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI உதவியாளர்கள்](./9-chat-project/README.md) | AI உடன் வேலை செய்தல் | உங்கள் சொந்த AI உதவியாளரை உருவாக்குவது எப்படி கற்றல் | [AI உதவியாளர் திட்டம்](./9-chat-project/README.md) | Chris |
| 01 | Getting Started | நிரலாக்க அறிமுகம் மற்றும் கருவிகள் | பெரும்பாலான நிரலாக்க மொழிகளின் அடிப்படைகளை அறிந்து, தொழில்முறை டெவலப்பர்களின் பணிக்கான மென்பொருட்களைப் பற்றி அறிதல் | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Getting Started | GitHub அடிப்படைகள், குழுவுடன் பணியாற்றுதல் | உங்கள் திட்டத்தில் GitHub எப்படி பயன்படுத்துவது, மற்றவர்களுடன் குறியீட்டு தளத்தில் கூட்டிணைவது | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Getting Started | அணுகல்திறன் | வலை அணுகல்திறன் அடிப்படைகளை கற்றுக்கொள்ளவும் | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Basics | ஜாவாஸ்கிரிப்ட் தரவுகளின் வகைகள் | ஜாவாஸ்கிரிப்ட் தரவுகளின் அடிப்படைகள் | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Basics | செயல்பாடுகள் மற்றும் முறைகள் | பயன்பாட்டின் காரியஒழுங்கை நிர்வகிக்கும் செயல்பாடுகள் மற்றும் முறைகள் பற்றி கற்றுக்கொள்ளவும் | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | JS Basics | JS ஆகிய மூலம் முடிவெடுத்தல் | உங்கள் குறியீட்டில் முடிவெடுத்தல் முறைகளைப் பயன்படுத்தி நிபந்தனைகளை உருவாக்குவது எப்படி என்பதைக் கற்றுக்கொள்ளவும் | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Basics | வரிசைகள் மற்றும் மீண்டும் சுழற்சிகள் | ஜாவாஸ்கிரிப்ட் வரிசைகள் மற்றும் மீண்டும் சுழற்சிகளைப் பயன்படுத்தி தரவை கையாளவும் | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML நடைமுறை | ஆன்லைன் டெரேரியத்தை உருவாக்க HTML உருவாக்கு, அமைப்பை கட்டமைப்பதில் கவனம் செலுத்துக | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS நடைமுறை | ஆன்லைன் டெரேரியத்தை வடிவமைக்க CSS உருவாக்கு, அடிப்படைகள் மற்றும் பக்கத்தை பதிலளிக்கும் முறைகள் பற்றியும் கவனம் செலுத்துக | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | ஜாவாஸ்கிரிப்ட் மூடுபனிகள், DOM கையாள்தல் | டெரேரியத்தை ஒரு டிராக்/டிராப் இடைமுகமாக செயல்படுத்த ஜாவாஸ்கிரிப்டை உருவாக்கு, மூடுபனிகள் மற்றும் DOM கையாள்தலில் கவனம் செலுத்துக | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | தட்டச்சு விளையாட்டை உருவாக்கு | கீபோர்டு நிகழ்வுகளைப் பயன்படுத்தி உங்கள் ஜாவாஸ்கிரிப்ட் செயலியின் கோட்பாட்டை இயக்குவது எப்படி என்பதைக் கற்றுக்கொள்ளவும் | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | உலாவிகளுடன் பணியாற்றுதல் | உலாவிகள் எப்படி செயபடுகின்றன, அவற்றின் வரலாறு மற்றும் உலாவி நீட்சியின் முதல் கூறுகளை உருவாக்குவது எப்படி என்பதைக் கற்றுக்கொள்ளவும் | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | படிவம் உருவாக்கல், API அழைக்கல் மற்றும் உள்ளூர் சேமிப்பில் மாறிகள் சேமித்தல் | உள்ளூர் சேமிப்பில் சேமித்த மாறிகளைப் பயன்படுத்தி API அழைக்க உலாவி நீட்சியின் ஜாவாஸ்கிரிப்ட் கூறுகளை உருவாக்குங்கள் | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | உலாவியில் பின்புல செயலிகள், வலை செயல்திறன் | நீட்சியின் ஐகானை நிர்வகிப்பதற்காக உலாவியின் பின்புல செயலிகளைப் பயன்படுத்தவும்; வலை செயல்திறன் மற்றும் சில மேம்பாடுகளை கற்றுக்கொள்ளவும் | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | ஜாவாஸ்கிரிப்ட் மூலமாக மேம்பட்ட விளையாட்டு உருவாக்குதல் | வகுப்புகள் மற்றும் உருவாக்கலைப் பயன்படுத்தி ஒத்திசைக்கையாள்கையைப் பற்றியும் Pub/Sub மாதிரியைப் பற்றியும் கற்றுக்கொள்ளவும் | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | கேன்வாஸ் வரைபடம் | திரைக்கு கூறுகளை வரைய கண்வாஸ் API பற்றி கற்றுக்கொள்ளவும் | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | திரையில் கூறுகளை நகர்த்தல் | கார்டீசியன் இணைவரிசைகள் மற்றும் கேன்வாஸ் APIஐப் பயன்படுத்தி கூறுகள் எப்படி இயக்கம் பெறுகின்றன என்பதை அறிக | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | மோதல் கண்டறிதல் | முக்கிய அழுத்தங்களைப் பயன்படுத்தி கூறுகள் ஒருமொருவற்குப் பதிலளித்து மோதச் செய்க; விளையாட்டு செயல்திறனை உறுதி செய்ய ஒரு குளிர்ச்சி செயல்பாட்டைச் செய்க | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | மதிப்பெண் கண்காணித்தல் | விளையாட்டின் நிலை மற்றும் செயல்திறன் அடிப்படையில் கணிதக் கணக்கீடுகளைச் செய்க | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | விளையாட்டை முடித்தல் மற்றும் மீண்டும் துவக்கல் | விளையாட்டை முடித்தல் மற்றும் மீண்டும் துவக்குவது பற்றி கற்றுக்கொள்ளவும், சொந்தச் சொத்துகளை சுத்தம் செய்யவும் மற்றும் மாறி மதிப்புகளை மீட்டமைக்கவும் | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | வலை செயலியில் HTML மாதிரிகள் மற்றும் பாதைகள் | நெடுஞ்சாலைகளையும் HTML மாதிரிகளையும் பயன்படுத்தி பலப் பக்க வலைத்தள உருவமைப்பை உருவாக்குவது எப்படி என்பதைக் கற்றுக்கொள்ளவும் | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | உள்நுழைவும் பதிவு படிவமும் உருவாக்கல் | படிவங்களை உருவாக்குவது மற்றும் சரிபார்ப்பு நடைமுறைகளை கையாள்வது பற்றி கற்றுக்கொள்ளவும் | [Forms](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | தரவு பெற்றலும் பயன்பாடும் முறைகள் | உங்கள் செயலியில் தரவு எப்படி போகிறது, அதை எவ்வாறு பெறுவது, சேமிப்பது மற்றும் நீக்கும் முறைகள் | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | மாநில மேலாண்மை கருத்துக்கள் | உங்கள் செயலி மாநிலத்தை எவ்வாறு பராமரிக்கிறது மற்றும் அதை நிரலாக்க முறையில் எவ்வாறு நிர்வகிப்பது | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | VScode உடன் பணியாற்றுதல் | குறியீடு ஆசிரியரை பயன்படுத்துவது எப்படி கற்றுக்கொள்ளவும் | [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | AI உடன் பணியாற்றுதல் | உங்கள் சொந்த AI உதவியாளரை உருவாக்குவது எப்படி கற்றுக்கொள்ளவும் | [AI Assistant project](./9-chat-project/README.md) | Chris |
## 🏫 கற்பித்தல் முறைகள
## 🏫 கல்வி தத்துவம
எங்கள் பாடத்திட்டம் இரண்டு முக்கியக் கல்விப்பார்வை தத்துவங்களையுடன் வடிவமைக்கப்பட்டுள்ளது:
* திட்ட அடிப்படையிலான கற்ல்
* அடிக்கடி க்வீஸ்கள்
எங்கள் பாடத்திட்டம் இரண்டு முக்கிய கல்வி தத்துவங்கள் மனதில் கொண்டு வடிவமைக்கப்பட்டுள்ளது:
* திட்ட அடிப்படையிலான கற்பித்தல்
* அடிக்கடி கேள்விகள்
இந்த நிரல் JavaScript, HTML, CSS அடிப்படைகளை பெற்றுத் தருகிறது, மற்றும் இன்றைய வலை டெவலபர்கள் பயன்படுத்தும் சமீபத்திய கருவிகள் மற்றும் முறைகளை கற்றுக் கொடுக்கிறது. மாணவர்கள் தட்டச்சு விளையாட்டு, மெய்நிகர் டெராரியம், சூழலின் நட்பு உலாவி நீட்டிப்பு, விண்வெளி வென்றுபோவது போன்ற விளையாட்டு, வணிக நிறுவனங்களுக்கு வங்கி செயலி போன்றவற்றை கட்டி அனுபவம் பெற வாய்ப்பு பெறுவர். தொடர் முடிவில், மாணவர்கள் வலை மேம்பாட்டு குறித்த உறுதியான அறிவைப் பெற்றிருக்கிறார்கள்.
இந்தத் திட்டம் ஜாவாஸ்கிரிப்ட், HTML, CSS அடிப்படைகளை மற்றும் இன்றைய வலை டெவலப்பர்கள் பயன்படுத்தும் சமீபத்திய கருவிகள் மற்றும் நுட்பங்களை கற்பிக்கிறது. மாணவர்கள் தட்டச்சு விளையாட்டு, மெய்நிகர் டெரேரியம், பசுமை உலாவி நீட்டிப்பு, விண்வெளி தாக்குதல் பாணி விளையாட்டு மற்றும் வங்கி செயலியை உருவாக்கி செயல்பாட்டுக் கற்றல் வாய்ப்பைப் பெறுவார்கள். தொடரின் முடிவில், மாணவர்கள் வலை வளர்ச்சியில் மூலபொருளான கற்பிதலைப் பெறுவார்கள்.
> 🎓 இந்த பாடத்திட்டத்தின் முதல் சில பாடங்களை மைக்ரோசாப்ட் லேர்னில் [கற்றல் பாதை](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) ஆக எடுத்துக்கொள்ளலாம்!
> 🎓 நீங்கள் இந்தப் பாடத்திட்டத்தில் ஆரம்ப சில பாடங்களை Microsoft Learn இல் [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) என்ற முறையில் எடுத்துக்கொள்ளலாம்!
உள்ளடக்கம் திட்டங்களுடன் இணைக்கப்படுவதன் மூலம் மாணவர்களுக்கு கற்றலின் ஆர்வம் அதிகரிக்கப்படும் மற்றும் கருத்துக்களின் நினைவாற்றல் மேம்படும். மேலும், JavaScript அடிப்படைகளை அறிமுகப்படுத்த சில முதன்மை பாடங்களை உருவாக்கியுள்ளோம், அவற்றுக்கு "[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 வார காலக்கட்டம் முடிவில் progressively சிக்கலானவையாக மாறுகின்றன.
JavaScript வழிமுறைகளை அறிமுகப்படுத்தாமல், வலை டெவலப்பராக அடிப்படைக் கைவசமோடு செயல்பட முதலில் கவனம் செலுத்துவதை நாம் மேற்கொண்டுள்ளோம்; மேலும் இந்த பாடத்திட்டத்தை முடிப்பதற்கான அடுத்த நல்ல படி Node.js குறித்து "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)" மற்றொரு வீடியோ திரட்டலைக் கற்றுக்கொள்வதுதான்.
நாங்கள் தயாராக ஜாவாஸ்கிரிப்ட் கட்டமைப்புகளை அறிமுகப்படுத்தாமல், ஒரு கட்டமைப்பை ஏற்குமாறு முன்னர் அடிப்படை திறன்களை கவனிக்கவுள்ளோம். இந்த பாடத்திட்டத்தை முடித்த பிறகு அடுத்த நல்ல படி Node.js பற்றி மற்றொரு வீடியோ தொகுப்பாகவும் "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)" கற்றுக்கொள்ளலாம்.
> எங்கள் [நடத்தை அனுசரிப்பு](CODE_OF_CONDUCT.md) மற்றும் [ஆதரவு](CONTRIBUTING.md) வழிமுறைகளைப் பார்வையிடவும். உங்கள் கட்டுமான சுயவிவரத்தை எதிர்பார்க்கிறோம்!
> எங்கள் [Code of Conduct](CODE_OF_CONDUCT.md) மற்றும் [Contributing](CONTRIBUTING.md) வழிகாட்டிகளுக்கு பார்வையிடவும். உங்கள் கட்டுமான கருத்துக்களை வரவேற்கின்றோம்!
## 🧭 ஆப்லைன் அணுகல்
## 🧭 ஆப்லைன் அணுகல்
[Docsify](https://docsify.js.org/#/) கொண்டு இந்த அடிக்குறிப்பை ஆப்லைனில் இயக்கலாம். இந்த ரெப்போகை Fork செய்து, உங்கள் உள்ளூரில் [Docsify-ஐ நிறுவி](https://docsify.js.org/#/quickstart), பிறகு இந்த ரெப்போவின் ரூட் கோப்புறையில் `docsify serve` என தட்டவும். தளம் உங்கள் உள்ளூர் கணினியில் போர்ட் 3000-ல் இயக்கப்படும்: `localhost:3000`.
[Docsify](https://docsify.js.org/#/) ஐப் பயன்படுத்தி இந்த அறிக்கையை ஆஃப்லைனில் இயக்கலாம். இந்த களஞ்சியத்தை ஃபோர்க் செய்து, உங்கள் உள்ளூர் இயந்திரத்தில் [Docsify ஐ நிறுவி](https://docsify.js.org/#/quickstart), பின்னர் இக்களஞ்சியத்தின் அடிப்புற கோப்புறையில் `docsify serve` என்ற கட்டளையை தட்டுங்கள். இந்த வலைத்தளம் பங்கேற்பாளரின் உள்ளூரில் port 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
@ -251,21 +260,21 @@ JavaScript வழிமுறைகளை அறிமுகப்படுத
## உதவி பெறுதல்
நீங்கள் சிக்கலில் இருந்தால் அல்லது AI பயன்பாடுகள் உருவாக்குவதில் கேள்விகள் இருந்தால். MCP பற்றி விவாதங்களில் மற்ற கற்றார்களுடன் மற்றும் அனுபவம் வாய்ந்த டெவலப்பர்களுடன் இணைக்கவும். இது ஒரு ஆதரவு சமூகமாகும், இங்கு கேள்விகள் வரவேற்கப்படுகின்றன மற்றும் அறிவு சுதந்திரமாக பகிரப்படுகின்றது.
நீங்கள் சிக்கிக்கொள்ளலா அல்லது AI செயலிகளை உருவாக்குவதில் ஏதேனும் கேள்விகள் உள்ளதா? MCP பற்றி fellow learners மற்றும் அனுபவித்துள்ள டெவலப்பர்களுடன் விவாதிக்க இணைகவும். இது கேள்விகள் கேட்கப்படக்கூடிய மற்றும் அறிவு சுதந்திரமாக பகிரப்பட்டு வருகிற ஒருங்கிணைந்த கருச்சுற்றுச்சூழல் ஆகும்.
[![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) மூலம் மொழிபெயர்க்கப்பட்டது. நிச்சயதார்த்தத்திற்கு முயற்சி செய்தாலும், தானாக இடமாற்றிய மொழிபெயர்ப்பு தவறுகள் அல்லது தவறான தகவல்களை கொண்டிருக்கும் வாய்ப்பு உள்ளது. துெழில் மொழியில் உள்ள ஒரிஜினல் ஆவணம் அதிகாரப்பூர்வ மூலமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பின் பயன்பாட்டினால் ஏற்படும் எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்பில்லை.
**குறிப்பு**:
இந்த ஆவணம் [Co-op Translator](https://github.com/Azure/co-op-translator) எனும் செயற்கை நுண்ணறிவு மொழி மாற்ற சேவையை பயன்படுத்தி மொழிமாற்றம் செய்யப்பட்டதாகும். துல்லியத்திற்காக முயலினாலும், தானாக உருவாகும் மொழிபெயர்ப்புகளில் பிழைகள் அல்லது தவறுகள் இருக்க வாய்ப்பு உள்ளதை நினைவில் கொள். அசல் ஆவணம் அதன் சொந்த மொழியில் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பை பரிந்துரைப்போம். இந்த மொழிபெயர்ப்பைப் பயன்படுத்தியதில் ஏற்படும் எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்பாளர்கள் அல்ல.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save