diff --git a/translations/et/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/translations/et/1-getting-started-lessons/1-intro-to-programming-languages/README.md
index dce0fcc7c..0ddf48f09 100644
--- a/translations/et/1-getting-started-lessons/1-intro-to-programming-languages/README.md
+++ b/translations/et/1-getting-started-lessons/1-intro-to-programming-languages/README.md
@@ -1,64 +1,246 @@
-# Sissejuhatus programmeerimiskeeltesse ja tööriistadesse
+# Sissejuhatus programmeerimiskeeltesse ja kaasaegsesse arendustööriistadesse
+
+Tere tulemast, tulevane arendaja! 👋 Kas tohin sulle midagi rääkida, mis ikka veel igal päeval külmavärinaid tekitab? Sa oled just avastamas, et programmeerimine ei ole ainult arvutite jaoks – see on tegelike supervõimete omandamine oma metsikumaid ideid ellu viimiseks!
+
+Sa tead seda hetke, kui kasutad oma lemmikrakendust ja kõik lihtsalt klapib täiesti täiuslikult? Kui vajutad nuppu ja juhtub midagi täiesti maagilist, mis paneb sind mõtlema "Wau, kuidas nad seda TEGID?" No keegi, kellel on sina moodi – tõenäoliselt oma lemmikkohvikus kell 2 öösel, joob oma kolmandat espresso – kirjutas just selle koodi, mis selle maagia lõi. Ja siin on see, mis su meeled pea peale pöörab: selle tunni lõpuks sa mitte ainult ei mõista, kuidas nemad seda tegid, vaid sul on ka isu ise proovida!
+
+Kuule, ma saan täiesti aru, kui programmeerimine tundub praegu hirmutav. Kui ma esimest korda alustasin, arvasin ausalt, et pead olema mingi matemaatikageenius või kodeerima hakkama juba viieaastaselt. Aga siin on see, mis mu vaatepunkti täiesti muutis: programmeerimine on täpselt nagu uue keele õppimine, et pidada vestlusi. Sa alustad "tere" ja "aitäh" sõnadega, siis jõuad kohvi tellimiseni ja enne kui aru saad, arutad sügavaid filosoofilisi teemasid! Ainult et siin räägid sa arvutitega, ja ausalt? Nemad on kõige kannatlikumad vestluspartnerid üldse – nad ei hinnangu sinu vigu ja on alati valmis uuesti proovima!
+
+Täna uurime uskumatuid tööriistu, mis teevad kaasaegse veebi arendamise mitte ainult võimalikuks, vaid väga sõltuvust tekitavaks. Räägin täpselt nendest samadest editoridest, brauseritest ja töövoogudest, mida kasutavad Netflixi, Spotify ja sinu lemmik sõltumatu rakenduse stuudio arendajad iga päev. Ja siin on osa, mis paneb sind rõõmust tantsima: enamik neist professionaalsest klassist ja tööstusharu standarditest tööriistadest on täiesti tasuta!
+
+
+> Sketchnote autor [Tomomi Imura](https://twitter.com/girlie_mac)
+
+```mermaid
+journey
+ title Teie programmeerimise teekond täna
+ section Avastamine
+ Mis on programmeerimine: 5: You
+ Programmeerimiskeeled: 4: You
+ Tööriistade ülevaade: 5: You
+ section Uurimine
+ Koodiredaktorid: 4: You
+ Brauserid & DevTööriistad: 5: You
+ Käsklusrida: 3: You
+ section Harjutamine
+ Keele detektiiv: 4: You
+ Tööriistade uurimine: 5: You
+ Kogukonnaga ühenduse loomine: 5: You
+```
+## Vaatame, mida sa juba tead!
+
+Enne kui sukeldume lõbusasse ossa, olen uudishimulik – mida sa sellest programmeerimise maailmast juba tead? Ja kuule, kui sa vaatad neid küsimusi ja mõtled "mul pole sellest mitte vähimatki aimu", siis see ei ole mitte ainult okei, vaid ideaalne! See tähendab, et sa oled täiesti õiges kohas. Mõtle sellele viktoriinile nagu venitusele enne trenni – me lihtsalt soojendame neid ajulihaseid!
+
+[Võta eelmise tunni viktoriin](https://forms.office.com/r/dru4TE0U9n?origin=lprLink)
+
+## Seiklus, millele me koos asume
+
+Ok, ma olen tõesti elevil selle üle, mida me täna avastame! Ausalt, ma sooviksin näha sinu nägu, kui mõned neist mõistetest klapivad. Siin on see uskumatu teekond, kuhu me koos läheme:
+
+- **Mis programmeerimine tegelikult on (ja miks see on lahedaim asi üldse!)** – Avastame, kuidas kood on sõna otseses mõttes nähtamatu maagia, mis paneb sinu ümber kõik tööle, alates äratusest, mis kuidagi teab, et on esmaspäeva hommik, kuni algoritmini, mis ideaalselt kureerib sinu Netflixi soovitused
+- **Programmeerimiskeeled ja nende hämmastavad isiksused** – Kujuta ette, et lähed peole, kus igaühel on täiesti erinevad supervõimed ja probleemide lahendamise viisid. Nii ongi programmeerimiskeelte maailm ja sulle meeldib neiga kohtuda!
+- **Põhilised koostisosad, mis muudavad digitaalse maagia võimalikuks** – Mõtle neile kui ülimale loomingulisele LEGO komplektile. Kui sa mõistad, kuidas need tükid kokku sobivad, siis saad sõna otseses mõttes luua kõike, mida su fantaasia välja mõtleb
+- **Professionaalsed tööriistad, mis panevad sind tundma nagu oleksid võlukepp kätte saanud** – Ma ei liialda siin – need tööriistad panevad sind tõesti tundma, nagu sul oleksid supervõimed, ja parim osa? Need on täpselt samad, mida tõsised proffid kasutavad!
+
+> 💡 **Siin on asi**: Ära isegi mõtle kõike täna pähe õppida! Praegu tahan lihtsalt, et tunneksid seda põnevat sädet, mis väljendab kõike seda, mis võimalik on. Detailid tulevad loomulikult meelde, kui harjutame koos – nii õige õppimine käib!
+
+> Sa võid selle tunni võtta [Microsoft Learn’is](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon)!
+
+## Misasi on programmeerimine täpsemalt?
-See õppetund käsitleb programmeerimiskeelte põhialuseid. Siin käsitletavad teemad kehtivad enamiku tänapäevaste programmeerimiskeelte kohta. Jaotises "Tööriistad" õpid tundma kasulikku tarkvara, mis aitab sind arendajana.
+Okei, võtame käsile miljoni-dollarilise küsimuse: mis see programmeerimine tegelikult on?
-
-> Sketšimärkus: [Tomomi Imura](https://twitter.com/girlie_mac)
+Annan sulle loo, mis täiesti muutis mu mõtteviisi. Eelmisel nädalal proovisin emale seletada, kuidas kasutada meie uut nutikat teleri puldit. Leidsin end ütlemas asju nagu „Vajuta punast nuppu, aga mitte seda suurt punast nuppu, vaid väikest punast nuppu vasakul... ei, sinu teine vasak... okei, nüüd hoia seda kaks sekundit, mitte üks, mitte kolm...” Kas see kõlab tuttavalt? 😅
-## Eeltest
-[Eeltest](https://forms.office.com/r/dru4TE0U9n?origin=lprLink)
+See ongi programmeerimine! See on kunst anda äärmiselt detailseid, samm-sammult juhiseid millelegi, mis on väga võimas, aga vajab kõike täpselt sõnastatult. Ainult et selle asemel, et seletada emale (kes võib küsida „milline punane nupp?!“), seletad sa arvutile (kes teeb täpselt, mida sa ütled, isegi kui see, mida sa ütlesid, pole päris see, mida sa mõtlesid).
-## Sissejuhatus
+Siin on see, mis mind esimest korda uskumatult imestama pani: arvutid on sisuliselt üsna lihtsad. Nad mõistavad ainult kahte asja – 1 ja 0, mis on põhimõtteliselt „jah“ ja „ei“ või „sees“ ja „väljas“. See ongi kõik! Aga siin muutub asi maagiliseks – me ei pea rääkima 1-de ja 0-de keeles nagu The Matrix’is. Siin tulevad appi **programmeerimiskeeled**. Need on nagu parim tõlk maailmas, kes võtab sinu täiesti normaalsed inimmõtted ja tõlgib need arvuti keelde.
-Selles õppetunnis käsitleme:
+Ja siin on see, mis annab mulle igal hommikul tegelikult külmavärinad: sõna otseses mõttes *kõik* digitaalne sinu elus algas kellegagi nagu sina, tõenäoliselt pidžaamas, kohvitassi kõrval, tippimas koodi oma sülearvutisse. See Instagrami filter, mis paneb sind ideaalsena välja nägema? Keegi kirjutas selle koodi. Soovitus, mis viis sind su uue lemmiklauluni? Arendaja ehitas selle algoritmi. Rakendus, mis aitab sul sõpradega õhtusöögi arveid jagada? Jep, keegi mõtles „see on tüütu, ma arvan, et suudan selle parandada“ ja siis... nad tegidki seda!
-- Mis on programmeerimine?
-- Programmeerimiskeelte tüübid
-- Programmi põhielemendid
-- Kasulik tarkvara ja tööriistad professionaalsele arendajale
+Kui õpid programmeerima, ei omanda sa mitte ainult uut oskust – sa muutud osaks sellest uskumatust probleemilahendajate kogukonnast, kes veedavad oma päevi mõeldes: „Mis oleks, kui saaksin midagi ehitada, mis teeb kellegi päeva lihtsalt natuke paremaks?“ Ausalt, kas midagi lahedamat ongi olemas?
-> Võid selle õppetunni läbida [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101/introduction-programming/?WT.mc_id=academic-77807-sagibbon) platvormil!
+✅ **Lõbus faktide otsing**: Siin on midagi väga lahedat, mida võid otsida, kui on vaba hetk – kes sa arvad oli maailma esimene arvutiprogrammeerija? Ma annan vihje: see ei pruugi olla see, keda sa ootad! Selle inimese lugu on absoluutselt põnev ja näitab, et programmeerimine on alati olnud loov probleemilahendus ja kastist välja mõtlemine.
-## Mis on programmeerimine?
+### 🧠 **Kiirülevaade: Kuidas Sul läheb?**
-Programmeerimine (tuntud ka kui kodeerimine) on protsess, kus kirjutatakse juhiseid seadmele, näiteks arvutile või mobiilseadmele. Me kirjutame need juhised programmeerimiskeeles, mida seade seejärel tõlgendab. Neid juhiste kogumeid võib nimetada erinevate nimedega, näiteks *programm*, *arvutiprogramm*, *rakendus (app)* ja *käivitatav fail*.
+**Võta hetk, et reflekteerida:**
+- Kas mõte "arvutitele juhiste andmisest" tundub nüüd arusaadav?
+- Kas tead mõnda igapäevast ülesannet, mida tahaksid programmeerimise abil automatiseerida?
+- Millised küsimused sul selles programmeerimise teemas praegu kerkivad?
-*Programm* võib olla mis tahes, mis on kirjutatud koodiga; veebilehed, mängud ja telefonirakendused on programmid. Kuigi on võimalik luua programm ilma koodi kirjutamata, tõlgendab seade siiski aluseks olevat loogikat, mis tõenäoliselt on kirjutatud koodiga. Programm, mis *käivitab* või *täidab* koodi, viib juhised ellu. Seade, millega sa seda õppetundi loed, käitab programmi, et kuvada seda ekraanil.
+> **Pea meeles**: On täiesti normaalne, kui mõned mõisted tunduvad praegu ebaselged. Programmeerimise õppimine on nagu uue keele õppimine – ajul kulub aega, et luua need närvivõrgud. Sa teed suurepärast tööd!
-✅ Tee veidi uurimistööd: kes peetakse maailma esimeseks arvutiprogrammeerijaks?
+## Programmeerimiskeeled on nagu erinevad maagia maitsed
-## Programmeerimiskeeled
+Ok, see võib kõlada veidralt, aga kuula mind – programmeerimiskeeled on väga sarnased erinevatele muusikastiilidele. Mõtle sellele: on jazz, mis on sujuv ja improvisatoorne; rock, mis on võimas ja otsekohene; klassika, mis on elegantne ja struktureeritud; ja hip-hop, mis on loominguline ja väljendusrikas. Igal stiilil on oma vibe, oma kirglike fännide kogukond ja igaüks sobib erinevatele meeleoludele ja sündmustele.
-Programmeerimiskeeled võimaldavad arendajatel kirjutada juhiseid seadmele. Seadmed mõistavad ainult binaarkoodi (1 ja 0), kuid *enamiku* arendajate jaoks pole see väga tõhus viis suhtlemiseks. Programmeerimiskeeled on vahend suhtlemiseks inimeste ja arvutite vahel.
+Programmeerimiskeeled töötavad täpselt samamoodi! Sa ei kasutaks sama keelt, et teha lõbusat mobiilimängu, mida kasutad tohutu kliimaandmete töötlemiseks, just nagu sa ei mängiks death metali joogaklassis (no, enamasti mitte! 😄).
-Programmeerimiskeeled on erinevates vormingutes ja võivad täita erinevaid eesmärke. Näiteks JavaScripti kasutatakse peamiselt veebirakenduste jaoks, samas kui Bash on peamiselt operatsioonisüsteemide jaoks.
+Aga siin on see, mis mind iga kord täielikult hämmastab: need keeled on nagu kõige kannatlikumad ja geniaalsemad tõlgid maailmas, kes istuvad su kõrval. Sa saad väljendada oma ideid viisil, mis tundub loomulik sinu inimese ajule, ja nemad teevad kogu uskumatult keeruka töö selle tõlkimisel 1-deks ja 0-deks, mida arvutid tõesti räägivad. See on nagu sõber, kes on täiesti ladus mõlemas – „inimloomingus“ ja „arvutilogikas“ – ja ta ei väsigi kunagi, ei vaja kohvipause ega mõista sind hukka, kui küsid sama küsimust kaks korda!
-*Madala taseme keeled* vajavad tavaliselt vähem samme, et seade juhiseid tõlgendaks, kuid *kõrge taseme keeled* on populaarsed oma loetavuse ja toe tõttu. JavaScripti peetakse kõrge taseme keeleks.
+### Populaarsed programmeerimiskeeled ja nende kasutusvaldkonnad
-Järgmine kood näitab erinevust kõrge taseme keele (JavaScript) ja madala taseme keele (ARM assembleri kood) vahel.
+```mermaid
+mindmap
+ root((Programmeerimiskeeled))
+ Veebiarendus
+ JavaScript
+ Esiplaanimaagia
+ Interaktiivsed Veebisaidid
+ TypeScript
+ JavaScript + Tüübid
+ Ettevõtete Rakendused
+ Andmed & tehisintellekt
+ Python
+ Andmeteadus
+ Masinõpe
+ Automaatika
+ R
+ Statistika
+ Uurimistöö
+ Mobiilirakendused
+ Java
+ Android
+ Ettevõte
+ Swift
+ iOS
+ Apple Ökosüsteem
+ Kotlin
+ Kaasaegne Android
+ Platvormideülene
+ Süsteemid & Jõudlus
+ C++
+ Mängud
+ Jõudluskriitiline
+ Rust
+ Mälu Turvalisus
+ Süsteemi Programmeerimine
+ Go
+ Pilveteenused
+ Mõõdetav Tagatise
+```
+| Keel | Parim milleks | Miks on populaarne |
+|------|---------------|-------------------|
+| **JavaScript** | Veebiarendus, kasutajaliidesed | Töötab brauserites ja juhib interaktiivseid veebilehti |
+| **Python** | Andmeteadus, automatiseerimine, tehisintellekt | Lihtne lugeda ja õppida, võimsad teegid |
+| **Java** | Ettevõtte rakendused, Androidi rakendused | Platvormist sõltumatu, usaldusväärne suurte süsteemide jaoks |
+| **C#** | Windowsi rakendused, mänguarendus | Tugev Microsofti ökosüsteemi tugi |
+| **Go** | Pilveteenused, backend süsteemid | Kiire, lihtne, loodud kaasaegse arvutustöö jaoks |
+
+### Kõrgetasemelised vs madalamatasemelised keeled
+
+Ok, see oli ausalt öeldes see mõiste, mis mu aju murdis, kui ma esimest korda õppisin, nii et ma jagan võrdlust, mis lõpuks selle minu jaoks selgeks tegi – ja ma tõesti loodan, et see aitab ka sind!
+
+Kujuta ette, et sa reisisid riiki, kus sa ei räägi keelt ja sul on hädasti vaja leida lähim tualett (me oleme kõik sellises olukorras olnud, eks? 😅):
+
+- **Madalatase programmeerimine** on nagu kohalikku murret nii hästi õppida, et saad vestelda vanaemaga, kes müüb nurgal puuvilju, kasutades kultuurilisi viiteid, kohalikke slängisõnu ja sise nalju, mida mõistab ainult keegi, kes seal üles kasvanud on. Väga muljetavaldav ja uskumatult efektiivne... kui sa just oled selles täiesti sorav! Aga üsna üle jõu käiv, kui sa lihtsalt otsid tualetti.
+
+- **Kõrgetase programmeerimine** on nagu sul oleks see imeline kohalik sõber, kes lihtsalt mõistab sind. Sa võid öelda lihtsalt inglise keeles „Ma tõesti pean tualetti minema“, ja tema teeb kogu kultuurilise tõlke ning annab sulle juhised viisil, mis mõistab su mitte-kohalik aju täiuslikult.
+
+Programmeerimise mõistes:
+- **Madala taseme keeled** (nagu Assembly või C) lubavad sul pidada uskumatult detailseid vestlusi arvuti enda riistvaraga, aga sa pead mõtlema nagu masin, mis on... noh, ütleme nii, üsna suur vaimne hüpe!
+- **Kõrgetase keeled** (nagu JavaScript, Python või C#) lubavad sul mõelda nagu inimene, samal ajal kui nad tegelevad kogu masinakõnega taga. Lisaks on neil imelised toetavad kogukonnad täis inimesi, kes mäletavad, kuidas on olla algaja, ja tõesti tahavad aidata!
+
+Arva ära, milliseid ma võiksin soovitada alustuseks? 😉 Kõrgetasemelised keeled on nagu abiratastega jalgratas, mida sa tegelikult iialgi maha võtta ei taha, sest see muudab kogu kogemuse palju nauditavamaks!
+
+```mermaid
+flowchart TB
+ A["👤 Inimese mõte: 'Ma tahan arvutada Fibonacci numbreid'"] --> B{Vali keeltee tase}
+
+ B -->|Kõrgtase| C["🌟 JavaScript/Python Lihtne lugeda ja kirjutada"]
+ B -->|Alamtase| D["⚙️ Assembly/C Otsene riistvara juhtimine"]
+
+ C --> E["📝 Kirjuta: fibonacci(10)"]
+ D --> F["📝 Kirjuta: mov r0,#00 sub r0,r0,#01"]
+
+ E --> G["🤖 Arvuti aru saamine: Tõlk käsitleb keerukust"]
+ F --> G
+
+ G --> H["💻 Sama tulemus: 0, 1, 1, 2, 3, 5, 8, 13..."]
+
+ style C fill:#e1f5fe
+ style D fill:#fff3e0
+ style H fill:#e8f5e8
+```
+### Las ma näitan, miks kõrgetasemelised keeled on palju sõbralikumad
+
+Okei, näitan sulle midagi, mis täiuslikult demonstreerib, miks ma armusin kõrgetasemeliste keeltesse, aga esmalt palun ma midagi. Kui näed esimest koodinäidet, ära ehmu! See peakski tunduma hirmutav. Täpselt seda ma tahan öelda!
+
+Vaatame täpselt sama ülesannet kirjutatuna kahes täiesti erinevas stiilis. Mõlemad loovad nn Fibonacci jada – see on ilus matemaatiline muster, kus iga number on kahe eelneva summa: 0, 1, 1, 2, 3, 5, 8, 13... (Lõbus fakt: seda mustrit leiad sõna otseses mõttes kõikjalt loodusest – päevalille seemnete spiraalid, käbide mustrid, isegi galaktikate kujunemine!)
+
+Valmis nägema erinevust? Läheme!
+
+**Kõrgetasemeline keel (JavaScript) – inimloetav:**
```javascript
-let number = 10
-let n1 = 0, n2 = 1, nextTerm;
-
-for (let i = 1; i <= number; i++) {
- console.log(n1);
- nextTerm = n1 + n2;
- n1 = n2;
- n2 = nextTerm;
+// 1. samm: Põhiline Fibonacci seadistus
+const fibonacciCount = 10;
+let current = 0;
+let next = 1;
+
+console.log('Fibonacci sequence:');
+```
+
+**Mis see kood teeb:**
+- **Määrab** konstantse väärtuse, kui palju Fibonacci numbreid soovime genereerida
+- **Algatab** kaks muutujat, et jälgida jada praegust ja järgmist numbrit
+- **Seab** algväärtused (0 ja 1), mis määratlevad Fibonacci mustri
+- **Kuvab** päise, et meie väljund oleks äratuntav
+
+```javascript
+// 2. samm: Järjestuse genereerimine tsükli abil
+for (let i = 0; i < fibonacciCount; i++) {
+ console.log(`Position ${i + 1}: ${current}`);
+
+ // Arvuta järjestuse järgmine number
+ const sum = current + next;
+ current = next;
+ next = sum;
}
```
-```c
+**Mis siin juhtub:**
+- **Käivitab** tsükli iga positsiooni jaoks jadast `for` tsükli abil
+- **Kuvab** iga numbri koos selle positsiooniga, kasutades malliteksti vormindust
+- **Arvutab** järgmise Fibonacci numbri, liites praeguse ja järgmise väärtuse
+- **Uuendab** meie jälgimismuutujaid, et minna järgmisele iteratsioonile
+
+```javascript
+// 3. samm: Kaasaegne funktsionaalne lähenemine
+const generateFibonacci = (count) => {
+ const sequence = [0, 1];
+
+ for (let i = 2; i < count; i++) {
+ sequence[i] = sequence[i - 1] + sequence[i - 2];
+ }
+
+ return sequence;
+};
+
+// Kasutusnäide
+const fibSequence = generateFibonacci(10);
+console.log(fibSequence);
+```
+
+**Ülal oleme:**
+- **Loonud** taaskasutatava funktsiooni kaasaegse noolefunktsiooni süntaksiga
+- **Koostanud** massiivi, et salvestada täielik jada, selle asemel, et kuvada ükshaaval
+- **Kasutanud** massiivi indekseerimist, et arvutada iga uus number eelmiste väärtuste põhjal
+- **Tagastanud** terve jada, et seda saaks paindlikult kasutada programmis muudes osades
+
+**Madalatase keel (ARM Assembly) – arvutile sobiv:**
+
+```assembly
area ascen,code,readonly
entry
code32
@@ -83,137 +265,593 @@ back add r0,r1
end
```
-Uskuge või mitte, *mõlemad teevad sama asja*: prindivad Fibonacci jada kuni 10.
+Pane tähele, kuidas JavaScripti versioon loeb peaaegu nagu ingliskeelsed juhised, samas kui Assembly versioon kasutab krüptilisi käske, mis otse kontrollivad arvuti protsessorit. Mõlemad täidavad täpselt sama ülesannet, aga kõrgetasemeline keel on inimestele palju lihtsam mõista, kirjutada ja hooldada.
-✅ Fibonacci jada on [määratletud](https://en.wikipedia.org/wiki/Fibonacci_number) kui arvude kogum, kus iga arv on kahe eelneva summa, alustades 0 ja 1-ga. Esimesed 10 Fibonacci jada numbrit on 0, 1, 1, 2, 3, 5, 8, 13, 21 ja 34.
+**Peamised erinevused, mis silma jäävad:**
+- **Lugemismugavus**: JavaScript kasutab kirjeldavaid nimesid nagu `fibonacciCount`, Assembly aga krüptilisi silte nagu `r0`, `r1`
+- **Kommentaarid**: Kõrgema taseme keeled soodustavad selgitavate kommentaaride kirjutamist, mis muudavad koodi isedokumenteerivaks
+- **Struktuur**: JavaScripti loogiline voog peegeldab seda, kuidas inimesed probleemidele samm-sammult mõtlevad
+- **Hooldus**: JavaScripti versiooni uuendamine erinevate nõudmiste jaoks on lihtne ja selge
-## Programmi elemendid
+✅ **Fibonacci jada kohta**: See täiesti vapustav numbrimuster (kus iga number on kahe eelneva summa: 0, 1, 1, 2, 3, 5, 8...) ilmub sõna otseses mõttes *kõikjal* looduses! Leiad selle päevalille spiraalidest, männikoore mustritest, nautiluse kestade kumerusest ja isegi sellest, kuidas puud harunevad. On üsna pea meelt muutv, kuidas matemaatika ja kood aitavad meil mõista ja luua looduses esinevaid mustreid, mida kasutatakse ilu loomisel!
-Üksik juhis programmis nimetatakse *lauseks* ja sellel on tavaliselt märk või reavahe, mis tähistab, kus juhis lõpeb ehk *lõpetatakse*. Kuidas programm lõpetatakse, varieerub iga keele puhul.
-Lauseid programmis võib täita kasutaja või mujal saadud andmete abil. Andmed võivad muuta programmi käitumist, seega on programmeerimiskeeltel viis andmete ajutiseks salvestamiseks, et neid hiljem kasutada. Neid nimetatakse *muutujateks*. Muutujad on laused, mis juhendavad seadet salvestama andmeid oma mällu. Muutujad programmis on sarnased algebras kasutatavate muutujatega, kus neil on unikaalne nimi ja nende väärtus võib aja jooksul muutuda.
+## Ehitusplokid, mis teevad võlu ära
-On võimalik, et mõned laused ei täitu seadme poolt. See juhtub tavaliselt arendaja kavatsuse tõttu või juhuslikult, kui tekib ootamatu viga. Selline kontroll rakenduse üle muudab selle vastupidavamaks ja hooldatavamaks. Tavaliselt toimub kontrolli muutus, kui teatud tingimused on täidetud. Üks levinud lause, mida kasutatakse kaasaegses programmeerimises programmi käitumise kontrollimiseks, on `if..else` lause.
+Hea küll, nüüd kui sa nägid, millisena programmeerimiskeeled tegelikult välja näevad, vaatame lahti põhilised komponendid, millest koosneb sõna otseses mõttes iga kunagi kirjutatud programm. Mõtle neile nagu olulistele koostisosadele oma lemmikretseptis – kui saad aru, mida igaüks teeb, saad lugeda ja kirjutada koodi peaaegu mis tahes keeles!
-✅ Õpid rohkem sellist tüüpi lausete kohta järgnevates õppetundides.
+See on natuke nagu programmeerimise grammatikat õppida. Mäletad koolist, kui õppisid nimisõnu, tegusõnu ja seda, kuidas lauseid kokku panna? Programmeerimisel on oma grammatika ja ausalt öeldes on see palju loogilisem ja andestavam kui inglise keel kunagi oli! 😄
-## Tööriistad
+### Lausekanded: samm-sammulised juhised
-[](https://youtube.com/watch?v=69WJeXGBdxg "Tööriistad")
+Alustame **lausekannetest** – need on nagu üksikud laused vestluses arvutiga. Iga lause ütleb arvutile, et see teeb ühe konkreetse asja, nagu juhiste andmine: „Pööra siin vasakule,“ „Peatu punase tule juures,“ „Parki sinna kohta.“
-> 🎥 Klõpsa ülaloleval pildil, et vaadata videot tööriistadest
+Mulle meeldib lausekannete juures, kui loetavad need tavaliselt on. Vaata seda:
-Selles jaotises õpid tundma mõningaid tarkvarasid, mis võivad olla väga kasulikud, kui alustad oma professionaalset arendajateekonda.
+```javascript
+// Põhilised avaldused, mis täidavad ühekordseid toiminguid
+const userName = "Alex";
+console.log("Hello, world!");
+const sum = 5 + 3;
+```
-**Arenduskeskkond** on unikaalne tööriistade ja funktsioonide kogum, mida arendaja sageli kasutab tarkvara kirjutamisel. Mõned neist tööriistadest on kohandatud arendaja konkreetsetele vajadustele ja võivad aja jooksul muutuda, kui arendaja muudab tööprioriteete, isiklikke projekte või kasutab erinevat programmeerimiskeelt. Arenduskeskkonnad on sama unikaalsed kui arendajad, kes neid kasutavad.
+**See kood teeb järgmist:**
+- **Deklarerib** konstandi, kuhu salvestatakse kasutaja nimi
+- **Kuvab** tervitussõnumi konsooli väljundis
+- **Arvutab** ja salvestab matemaatilise operatsiooni tulemuse
-### Redaktorid
+```javascript
+// Avaldused, mis suhtlevad veebilehtedega
+document.title = "My Awesome Website";
+document.body.style.backgroundColor = "lightblue";
+```
-Üks olulisemaid tööriistu tarkvaraarenduses on redaktor. Redaktorid on koht, kus kirjutad oma koodi ja mõnikord ka käivitad seda.
+**Samm-sammult toimub järgmist:**
+- **Muudab** veebilehe pealkirja, mis ilmub brauseri vahekaardil
+- **Muudab** kogu lehe taustavärvi
-Arendajad toetuvad redaktoritele mitmel põhjusel:
+### Muutujad: su programmi mälusüsteem
-- *Silumine* aitab avastada vigu ja tõrkeid, astudes koodist läbi rida-realt. Mõnel redaktoril on silumisvõimalused; neid saab kohandada ja lisada konkreetsete programmeerimiskeelte jaoks.
-- *Süntaksi esiletõstmine* lisab koodile värve ja teksti vormindamist, muutes selle loetavamaks. Enamik redaktoreid võimaldab kohandatud süntaksi esiletõstmist.
-- *Laiendused ja integratsioonid* on spetsiaalsed tööriistad arendajatele, arendajate poolt. Need tööriistad ei ole redaktori põhifunktsioonidesse sisse ehitatud. Näiteks paljud arendajad dokumenteerivad oma koodi, et selgitada, kuidas see töötab. Nad võivad installida õigekirjakontrolli laienduse, et leida dokumentatsioonis kirjavigu. Enamik laiendusi on mõeldud kasutamiseks konkreetse redaktori sees ja enamik redaktoreid võimaldab otsida saadaolevaid laiendusi.
-- *Kohandamine* võimaldab arendajatel luua unikaalse arenduskeskkonna, mis vastab nende vajadustele. Enamik redaktoreid on äärmiselt kohandatavad ja võivad samuti võimaldada arendajatel luua kohandatud laiendusi.
+Olgu, **muutujad** on ausalt öeldes üks mu lemmikkontseptsioone õpetada, sest need on nii sarnased asjadele, mida sa juba iga päev kasutad!
-#### Populaarsed redaktorid ja veebiarenduse laiendused
+Mõtle natuke oma telefoni kontaktide loendile. Sa ei mäleta kõigi telefoninumbreid – selle asemel salvestad „Ema,“ „Parim sõber“ või „Pitsa koht, mis toob kuni kella 2-ni“ ja laseb telefonil numbrid meeles hoida. Muutujad töötavad täpselt nii! Need on kui sildiga konteinerid, kuhu su programm saab infot salvestada ja hiljem nime abil tagasi võtta.
-- [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)
- - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
- - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)
- - [Prettier - Code formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
-- [Atom](https://atom.io/)
- - [spell-check](https://atom.io/packages/spell-check)
- - [teletype](https://atom.io/packages/teletype)
- - [atom-beautify](https://atom.io/packages/atom-beautify)
-
-- [Sublimetext](https://www.sublimetext.com/)
- - [emmet](https://emmet.io/)
- - [SublimeLinter](http://www.sublimelinter.com/en/stable/)
+See, mis on tõeliselt lahe: muutujad võivad su programmi käigus muutuda (seetõttu ongi nimi "muutuja" – näed, kuidas nad selle välja mõtlesid?). Nii nagu sa ehk värskendad pitsakoha kontakti, kui avastad veel parem koha, saab muutujaid uuendada, kui su programm õpib uut infot või olukorrad muutuvad!
+
+Lubage mul näidata, kui kaunilt lihtne see võib olla:
+
+```javascript
+// Samm 1: Põhimuutujate loomine
+const siteName = "Weather Dashboard";
+let currentWeather = "sunny";
+let temperature = 75;
+let isRaining = false;
+```
+
+**Nende kontseptsioonide mõistmine:**
+- **Salvestada** muutumatud väärtused `const` muutujatesse (näiteks saidi nimi)
+- **Kasutada** `let` väärtuste jaoks, mis võivad programmi jooksul muutuda
+- **Määrata** erinevaid andmetüüpe: stringid (tekst), numbrid ja boole'id (true/false)
+- **Valida** kirjeldavad nimed, mis selgitavad, mida iga muutuja sisaldab
+
+```javascript
+// Samm 2: Objektidega töötamine seotud andmete grupeerimiseks
+const weatherData = {
+ location: "San Francisco",
+ humidity: 65,
+ windSpeed: 12
+};
+```
+
+**Ülaltoodud juhtumil oleme:**
+- **Loonud** objekti, et grupeerida seotud ilmainfot kokku
+- **Korraldanud** mitu andmeosa ühe muutuja nime alla
+- **Kasutanud** võtme-väärtuse paare, et selgelt märgistada iga infoosa
+
+```javascript
+// Samm 3: Muutujate kasutamine ja uuendamine
+console.log(`${siteName}: Today is ${currentWeather} and ${temperature}°F`);
+console.log(`Wind speed: ${weatherData.windSpeed} mph`);
+
+// Muutuvate muutujate uuendamine
+currentWeather = "cloudy";
+temperature = 68;
+```
+
+**Mõistame iga osa:**
+- **Kuvame** infot, kasutades malliliideseid `${}` süntaksiga
+- **Juurdepääs** objekti omadustele punktnotatsiooni abil (`weatherData.windSpeed`)
+- **Uuendame** `let`iga deklareeritud muutujaid, et kajastada muutuvaid tingimusi
+- **Kombineerime** mitut muutujat mõtestatud sõnumite loomiseks
+
+```javascript
+// Samm 4: Kaasaegne destruktureerimine puhtama koodi jaoks
+const { location, humidity } = weatherData;
+console.log(`${location} humidity: ${humidity}%`);
+```
+
+**Mida vaja teada:**
+- **Eralda** kindlad omadused objektidest destruktureeriva määramisega
+- **Loo** uued muutujad automaatselt samade nimedega nagu objekti võtmed
+- **Lihtsusta** koodi, vältides korduvat punktnotatsiooni
+
+### Juhtimisvoog: õpeta oma programm mõtlema
+
+Hea küll, siin muutub programmeerimine täiesti pea raputavaks! **Juhtimisvoog** on põhimõtteliselt õpetamine, kuidas su programm teeb nutikaid otsuseid, täpselt nii nagu sina iga päev ilma mõtlemata teed.
+
+Kujuta ette: täna hommikul tegid sa tõenäoliselt midagi sellist: „Kui sajab, võtan kaasa vihmavarju. Kui on külm, panen jope selga. Kui hilinen, jätan hommikusöögi vahele ja võtan kohvi kaasa.“ Su aju järgib loomulikult seda kui-siis loogikat korduvalt päevas!
+
+See teebki programmidest tundele nutikad ja elavad, mitte lihtsalt igavat, ennustatavat stsenaariumit järgivad. Nad suudavad olukorda vaadata, hinnata, mis toimub ja vastavalt reageerida. See on nagu anda su programmile aju, mis suudab kohaneda ja valikuid teha!
+
+Tahad näha, kuidas see kaunilt toimib? Lubage mul näidata:
+
+```javascript
+// Samm 1: Põhiline tingimusloogika
+const userAge = 17;
+
+if (userAge >= 18) {
+ console.log("You can vote!");
+} else {
+ const yearsToWait = 18 - userAge;
+ console.log(`You'll be able to vote in ${yearsToWait} year(s).`);
+}
+```
+
+**See kood teeb järgmist:**
+- **Kontrollib**, kas kasutaja vanus vastab hääletamise nõuetele
+- **Täidab** erinevaid koodiblokke vastavalt tingimuse tulemusele
+- **Arvutab** ja kuvab, kui kaua on veel jäänud hääletamisõiguse saavutamiseni, kui alla 18
+- **Annan** iga stsenaariumi jaoks konkreetset ja kasulikku tagasisidet
+
+```javascript
+// Samm 2: Mitmed tingimused loogiliste operaatoritega
+const userAge = 17;
+const hasPermission = true;
+
+if (userAge >= 18 && hasPermission) {
+ console.log("Access granted: You can enter the venue.");
+} else if (userAge >= 16) {
+ console.log("You need parent permission to enter.");
+} else {
+ console.log("Sorry, you must be at least 16 years old.");
+}
+```
+
+**Siin juhtub järgmist:**
+- **Kombineerib** mitmed tingimused `&&` (ja) operaatoriga
+- **Loo** tingimuste hierarhia `else if` abil mitme stsenaariumi jaoks
+- **Käsitleb** kõiki võimalikke juhtumeid lõpliku `else` lausega
+- **Annan** iga olukorra kohta selge, kasutajasõbraliku tagasiside
+
+```javascript
+// Samm 3: Lühike tingimus teinepoolse operaatoriga
+const votingStatus = userAge >= 18 ? "Can vote" : "Cannot vote yet";
+console.log(`Status: ${votingStatus}`);
+```
+
+**Mida meeles pidada:**
+- **Kasuta** tingimuslause jaoks lihtsaid kahe valikuga tingimusi ternääroperaatoriga (`? :`)
+- **Kirjuta** tingimus esimesena, siis `?`, siis tõene tulemus, siis `:`, siis väär tulemus
+- **Kasuta** seda mustrit, kui vajad väärtuste määramist tingimuste põhjal
+
+```javascript
+// Samm 4: Mitme konkreetse juhtumi käsitlemine
+const dayOfWeek = "Tuesday";
+
+switch (dayOfWeek) {
+ case "Monday":
+ case "Tuesday":
+ case "Wednesday":
+ case "Thursday":
+ case "Friday":
+ console.log("It's a weekday - time to work!");
+ break;
+ case "Saturday":
+ case "Sunday":
+ console.log("It's the weekend - time to relax!");
+ break;
+ default:
+ console.log("Invalid day of the week");
+}
+```
+
+**See kood saavutab:**
+- **Võrdleb** muutuja väärtust mitme kindla juhtumiga
+- **Grupeerib** sarnased juhtumid kokku (nädalapäevad vs nädalavahetus)
+- **Täidab** sobiva koodibloki, kui leitakse vaste
+- **Sisaldab** `default` juhtumit ootamatute väärtuste jaoks
+- **Kasutab** `break` lauseid, et vältida järgmise juhtumi täitmist
+
+> 💡 **Tegeliku elu võrdlus**: Mõtle juhtimisvoog nagu maailma kannatlikumale GPS-ile, mis juhatab sind. Ta võib öelda „Kui Main Streetil on ummik, võta maantee. Kui maantee on ehituse all, proovi maastikulist teed.“ Programmid kasutavad täpselt sama tingimusloogikat, et nutikalt reageerida erinevatele olukordadele ja anda kasutajatele parim võimalik kogemus.
+
+### 🎯 **Kontseptide kontroll: ehitusplokkide valdamine**
+
+**Vaatame, kuidas sul põhitõdedega läheb:**
+- Kas suudad omasõnadega seletada muutujate ja lausekannete vahe?
+- Mõtle päriselu olukord, kus kasutaksid kui-siis otsust (nagu meie hääletamise näide)
+- Mis on üks asi programmeerimisloogika kohta, mis sind üllatas?
+
+**Kiire enesekindluse tõstja:**
+```mermaid
+flowchart LR
+ A["📝 Avaldused (Juhised)"] --> B["📦 Muutujad (Salvestus)"] --> C["🔀 Juhtimisvoog (Otsused)"] --> D["🎉 Töötav programm!"]
+
+ style A fill:#ffeb3b
+ style B fill:#4caf50
+ style C fill:#2196f3
+ style D fill:#ff4081
+```
+✅ **Mis järgmisena tuleb**: Meil saab olema täielik lõbu, kui sukeldume sügavamale nende kontseptsioonide maailma sel imelisel teekonnal koos! Praegu keskendu lihtsalt sellele põnevale tunnetusele kõigi hämmastavate võimaluste ees. Spetsiifilised oskused ja tehnikad jäävad loomulikuks, kui harjutame koos – luban, et see saab olema palju lõbusam, kui sa võid ette kujutada!
+
+## Tööriistad, mis teevad asja ära
+
+Olgu, ausalt öeldes hakkab mul siin põnevusest lausa põrkama! 🚀 Räägime nüüd hämmastavatest tööriistadest, mis panevad sind tundma, nagu oleksid just saanud kätte võtmeks digitaalsele kosmoselaevale.
+
+Sa tead, kuidas kokal on täiuslikult tasakaalustatud noad, mis tunduvad käe pikendusena? Või kuidas muusikul on see üks kitarr, mis hakkab kohe laulma, kui ta seda puudutab? Arendajatel on oma versioon neist maagilistest tööriistadest ja siin on see osa, mis su mõistuse sassi ajab – enamik neist on täiesti tasuta!
+
+Ma peaaegu hüppan mu toolil, mõeldes, et jagan seda sinuga, sest need on täielikult revolutsiooniliselt muutnud tarkvara arendamise viisi. Räägime tehisintellekti jõul töötavatest koodiabilistest, mis aitavad kirjutada su koodi (ma ei naljatan!), pilvekeskkondadest, kus saad ehitada terveid rakendusi sõna otseses mõttes igalt poolt Wi-Fi-ga ja silumise tööriistadest, mis on nii arenenud, nagu oleks sul programmide jaoks röntgen!
+
+Ja siin on osa, mis annab endiselt külmavärinad: need ei ole „algajate tööriistad“, mida sa välja kasvad. Need on täpselt samad professionaalsed tööriistad, mida kasutavad Google'i, Netflixi ja selle indie-rakenduse stuudio arendajad, keda sa armastad, praegugi. Sa tunned end nende kasutamisel tõelise proffina!
+
+```mermaid
+graph TD
+ A["💡 Sinu idee"] --> B["⌨️ Koodi redaktor (VS Code)"]
+ B --> C["🌐 Brauseri arendustööriistad (Testimine ja silumine)"]
+ C --> D["⚡ Käsklusrida (Automatiseerimine ja tööriistad)"]
+ D --> E["📚 Dokumentatsioon (Õppimine ja viited)"]
+ E --> F["🚀 Hämmastav veebirakendus!"]
+
+ B -.-> G["🤖 AI assistent (GitHub Copilot)"]
+ C -.-> H["📱 Seadme testimine (Reageeriv disain)"]
+ D -.-> I["📦 Pakettide haldurid (npm, yarn)"]
+ E -.-> J["👥 Kogukond (Stack Overflow)"]
+
+ style A fill:#fff59d
+ style F fill:#c8e6c9
+ style G fill:#e1f5fe
+ style H fill:#f3e5f5
+ style I fill:#ffccbc
+ style J fill:#e8eaf6
+```
+### Koodiredaktorid ja IDE-d: su uued digitaalsed parimad sõbrad
+
+Räägime koodiredaktoritest – need hakkavad tõepoolest saama sinu uueks lemmikkoha, kus aega veeta! Mõtle neile kui isiklikule kodeerimispühamule, kus sa veedad suure osa oma ajast, vormides ja lihvides oma digitaalseid loominguid.
+
+Aga siin on see, mis on kaasaegsete redaktorite juures täiesti maagiline: need ei ole lihtsalt uhked tekstiredaktorid. Need on nagu kõige säravam, toetavam kodeerimise mentor, kes istub sinu kõrval 24/7. Nad tabavad trükivead enne, kui sa neid märkad, pakuvad parandusi, mis muudavad sind geeniuseks, aitavad sul mõista, mida iga kooditükk teeb, ja mõned neist suudavad isegi ära arvata, mida sa hakkad kirjutama, ning pakkuda mõtteid lõpetada!
+
+Mäletan, kui ma avastasin automaatse täiendamise – tundsin, nagu elaksin tulevikus. Sa hakkad midagi kirjutama ja su redaktor ütleb: „Hei, kas sa mõtlesid selle funktsiooni peale, mis teeb täpselt seda, mida vajad?“ See on nagu mõtte lugeja, kes on su kodeerimise kaaslane!
+
+**Mida muudab need redaktorid nii uskumatuks?**
+
+Kaasaegsed koodiredaktorid pakuvad muljetavaldavat valikut funktsioone, mis suurendavad su tootlikkust:
+
+| Funktsioon | Mida see teeb | Miks see aitab |
+|------------|---------------|----------------|
+| **Süntaksi esiletõstmine** | Värvib erinevad koodiosad | Muudab koodi kergemini loetavaks ja vigade leidmise lihtsamaks |
+| **Automaatne täiendamine** | Pakub koodi kirjutades | Kiirendab kodeerimist ja vähendab trükivigu |
+| **Silumisvahendid** | Aidata leida ja parandada vigu | Säästab tunde probleemide otsimisest |
+| **Laiendused** | Lisavad spetsialiseeritud funktsioone | Kohanda oma redaktorit mis tahes tehnoloogia jaoks |
+| **AI abistajad** | Pakuvad koodi ja selgitusi | Kiirendab õppimist ja tootlikkust |
+
+> 🎥 **Videoressurss**: Tahad näha neid tööriistu töös? Vaata seda [Tools of the Trade videot](https://youtube.com/watch?v=69WJeXGBdxg), mis annab põhjaliku ülevaate.
+
+#### Soovitatud redaktorid veebiarenduseks
-### Brauserid
+**[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon)** (tasuta)
+- Kõige populaarsem veebiarendajate seas
+- Suurepärane laienduste ökosüsteem
+- Sisseehitatud terminal ja Git integratsioon
+- **Asendamatud laiendused**:
+ - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) - AI jõul töötavad koodisoovitused
+ - [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) - Reaalajas koostöö
+ - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - Automaatne koodi vormindus
+ - [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) - Tabab trükivead koodis
-Teine oluline tööriist on brauser. Veebiarendajad toetuvad brauserile, et näha, kuidas nende kood veebis töötab. Seda kasutatakse ka veebilehe visuaalsete elementide kuvamiseks, mis on kirjutatud redaktoris, näiteks HTML.
+**[JetBrains WebStorm](https://www.jetbrains.com/webstorm/)** (tasuline, üliõpilastele tasuta)
+- Täiustatud silumis- ja testimisvahendid
+- Nutikas koodi täiendamine
+- Sisseehitatud versioonihaldus
-Paljudel brauseritel on *arendaja tööriistad* (DevTools), mis sisaldavad kasulikke funktsioone ja teavet, et aidata arendajatel koguda ja salvestada olulist teavet oma rakenduse kohta. Näiteks: Kui veebilehel esineb vigu, on mõnikord kasulik teada, millal need tekkisid. Brauseri DevTools saab konfigureerida selle teabe kogumiseks.
+**Pilvepõhised IDE-d** (eri hinnaklassid)
+- [GitHub Codespaces](https://github.com/features/codespaces) - Täielik VS Code brauseris
+- [Replit](https://replit.com/) - Hea õppimiseks ja koodi jagamiseks
+- [StackBlitz](https://stackblitz.com/) - Kohene täispinu veebiarendus
-#### Populaarsed brauserid ja DevTools
+> 💡 **Algusnõuanne**: Alusta Visual Studio Code’iga – see on tasuta, tööstuses laialt kasutusel ja sellel on tohutu kogukond, kes loob abimaterjale ja laiendusi.
-- [Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)
-- [Chrome](https://developers.google.com/web/tools/chrome-devtools/)
-- [Firefox](https://developer.mozilla.org/docs/Tools)
-### Käsurea tööriistad
+### Veebibrauserid: su salajane arendustöötuba
-Mõned arendajad eelistavad vähem graafilist vaadet oma igapäevaste ülesannete jaoks ja toetuvad käsureale, et seda saavutada. Koodi kirjutamine nõuab märkimisväärset hulka tippimist ja mõned arendajad eelistavad mitte katkestada oma voogu klaviatuuril. Nad kasutavad klaviatuuri otseteid, et vahetada töölaua akende vahel, töötada erinevate failidega ja kasutada tööriistu. Enamik ülesandeid saab täita hiirega, kuid üks käsurea eelis on see, et palju saab teha käsurea tööriistadega ilma vajaduseta vahetada hiire ja klaviatuuri vahel. Teine käsurea eelis on see, et need on konfigureeritavad ja sa saad salvestada kohandatud konfiguratsiooni, muuta seda hiljem ja importida teistesse arendusmasinatesse. Kuna arenduskeskkonnad on iga arendaja jaoks nii unikaalsed, siis mõned väldivad käsurea kasutamist, mõned toetuvad sellele täielikult ja mõned eelistavad nende kahe segu.
+Kui oled valmis, siis laseb see teadmine su mõistuse täiesti sassi! Sa tead, kuidas oled brausereid kasutanud sotsiaalmeediat kerimiseks ja videote vaatamiseks? Selgub, et nad on kogu selle aja varjanud seda uskumatut saladuslikku arendustöötuba, mis ootab lihtsalt, et sina selle avastaksid!
-### Populaarsed käsurea valikud
+Iga kord, kui sa paremklõpsad veebilehel ja valid „Elementi kontrolli“, avad varjatud arendustööriistade maailma, mis on ausalt öeldes võimsamad kui mõned kallid tarkvarad, mille eest ma kunagi sadu dollareid maksis. See on nagu avastada, et tavalises köögis on salajane professionaalse koka laboratoorium peidetud!
+Esimest korda, kui keegi mulle brauseri DevToolsi näitas, veetsin umbes kolm tundi lihtsalt klõpsides ja öeldes: "OOTA, KAS SEE SAAB KA SEDA TEHA?!" Sa saad päriselt muuta mistahes veebisaiti reaalajas, näha täpselt kui kiiresti kõik laadib, testida, kuidas su sait erinevates seadmetes välja näeb, ja isegi siluda JavaScripti nagu täielik proff. See on absoluutselt vapustav!
-Käsurea valikud erinevad sõltuvalt operatsioonisüsteemist, mida kasutad.
+**Sellepärast on brauserid su salarelv:**
-*💻 = operatsioonisüsteemiga eelinstallitud.*
+Kui sa lood veebisaiti või veebirakendust, pead nägema, kuidas see maailmas välja näeb ja käitub. Brauserid mitte ainult ei kuva su tööd, vaid annavad ka detailset tagasisidet jõudluse, ligipääsetavuse ja võimalike probleemide kohta.
-#### Windows
+#### Brauseri arendustööriistad (DevTools)
-- [Powershell](https://docs.microsoft.com/powershell/scripting/overview?view=powershell-7/?WT.mc_id=academic-77807-sagibbon) 💻
-- [Command Line](https://docs.microsoft.com/windows-server/administration/windows-commands/windows-commands/?WT.mc_id=academic-77807-sagibbon) (tuntud ka kui CMD) 💻
-- [Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)
-- [mintty](https://mintty.github.io/)
+Tänapäeva brauserid sisaldavad põhjalikke arenduskomplekte:
+
+| Tööriista kategooria | Mida see teeb | Näide kasutusjuhtumist |
+|----------------------|---------------|-----------------------|
+| **Elementide inspekteerija** | HTML/CSS reaalajas vaatamine ja muutmine | Stiili reguleerimine, et näha kohest tulemust |
+| **Konsool** | Vaata veateateid ja testi JavaScripti | Probleemide silumine ja katsetamine koodiga |
+| **Võrgu monitoor** | Jälgi, kuidas ressursid laaditakse | Jõudluse ja laadimisaja optimeerimine |
+| **Ligipääsetavuse kontrollija** | Testi kaasava disaini põhimõtteid | Veendu, et su sait töötab kõigi kasutajate jaoks |
+| **Seadmete simulaator** | Eelvaade erinevate ekraanisuurustega | Testi reageerivat disaini ilma mitme seadmeta |
+
+#### Soovitatud brauserid arenduseks
+
+- **[Chrome](https://developers.google.com/web/tools/chrome-devtools/)** – Tööstusharu standard DevTools koos laiapõhjalise dokumentatsiooniga
+- **[Firefox](https://developer.mozilla.org/docs/Tools)** – Suurepärased CSS Gridi ja ligipääsetavuse tööriistad
+- **[Edge](https://docs.microsoft.com/microsoft-edge/devtools-guide-chromium/?WT.mc_id=academic-77807-sagibbon)** – Põhineb Chromiumil, Microsofti arendajate ressurssidega
+
+> ⚠️ **Oluline testimisnipp**: Alati testi oma veebisaite mitmes brauseris! Mis töötab ideaalselt Chromes, võib Safaris või Firefoxis erineda. Professionaalsed arendajad testivad kõigis suuremates brauserites, et tagada ühtlane kasutajakogemus.
+
+### Käsureatööriistad: Sinu värav arendaja üleloomulike võimeteni
+
+Olgu, olgem täiesti ausad käsurea suhtes, sest ma tahan, et sa kuuled seda kedagi, kes tõesti mõistab. Kui ma selle esimest korda nägin – lihtsalt see hirmutav must ekraan vilkuva tekstiga – mõtlesin tõsiselt: "Ei-ei, üldse mitte! See näeb välja nagu 1980ndate häkkerifilmist ja ma pole kindlasti selleks piisavalt tark!" 😅
+
+Aga siin on see, mida ma sooviksin, et keegi oleks mulle tookord öelnud ja mida ma ütlen sulle nüüd: käsurida pole hirmutav – see on nagu otsekõne arvutile. Mõtle sellele nagu vahe peale, kas tellid toidu uhkest foto- ja menüüplugina kasutavast äpist (mis on mugav ja lihtne) või lähed oma lemmiklokaali restorani, kus peakokk teab täpselt, mis sulle meeldib, ja võib valmistada suunamisi midagi imelist lihtsalt öeldes: "üllata mind millegagi suurepärasega."
+
+Käsurida on koht, kuhu arendajad lähevad, et tunda end tõeliste maagikutena. Sa kirjutad paar esmapilgul maagilist sõna (okei, need on lihtsalt käsud, aga tunduvad maagilised!), vajutad Enterit ja BUMM – oled loonud terve projekti struktuuri, paigaldanud võimsaid tööriistu üle kogu maailma või avaldanud oma rakenduse internetis miljonitele vaatamiseks. Kui sa selle esimese võimsuse maitset tunned, on see ausalt üsna sõltuvust tekitav!
+
+**Miks käsurida saab su lemmiktööriistaks:**
+
+Kuigi graafilised liidesed sobivad paljude ülesannete jaoks, paistab käsurida silma automatiseerimise, täpsuse ja kiiruse poolest. Paljud arendustööriistad töötavad peamiselt käsurealiideste kaudu ja nende efektiivne kasutamine võib oluliselt parandada sinu tootlikkust.
+
+```bash
+# Samm 1: Loo ja liigu projekti kataloogi
+mkdir my-awesome-website
+cd my-awesome-website
+```
-#### MacOS
+**See kood teeb järgmist:**
+- **Loo** uus kataloog nimega "my-awesome-website" oma projekti jaoks
+- **Liigu** äsja loodud kataloogi, et alustada tööd
+
+```bash
+# 2. samm: Initsialiseeri projekt koos package.json failiga
+npm init -y
-- [Terminal](https://support.apple.com/guide/terminal/open-or-quit-terminal-apd5265185d-f365-44cb-8b09-71a064a42125/mac) 💻
-- [iTerm](https://iterm2.com/)
-- [Powershell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-macos?view=powershell-7/?WT.mc_id=academic-77807-sagibbon)
+# Paigalda kaasaegsed arendusvahendid
+npm install --save-dev vite prettier eslint
+npm install --save-dev @eslint/js
+```
+
+**Samm-sammult toimub see:**
+- **Algatatakse** uus Node.js projekt vaikeseadistustega kasutades `npm init -y`
+- **Paigaldatakse** Vite kaasaegse ehitustööriistana kiireks arenduseks ja tootmisversioonideks
+- **Lisatakse** Prettier automaatseks koodi vormindamiseks ja ESLint koodi kvaliteedi kontrolliks
+- **Kasutatakse** `--save-dev` lippu, et märkida need ainult arendamise sõltuvusteks
+
+```bash
+# 3. samm: Loo projekti struktuur ja failid
+mkdir src assets
+echo '
My Site
Hello World
' > index.html
+
+# Käivita arendusserver
+npx vite
+```
+
+**Ülaltoodud toimingud olid:**
+- **Organiseeriti** meie projekt, luues eraldi kaustad lähtekoodi ja varade jaoks
+- **Genereeriti** põhiline HTML-fail õige dokumendisstruktuuriga
+- **Käivitati** Vite arendusserver eluks uuenduste ja kuuma mooduli asendamisega
-#### Linux
+#### Veebiarenduse olulised käsureatööriistad
-- [Bash](https://www.gnu.org/software/bash/manual/html_node/index.html) 💻
-- [KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)
-- [Powershell](https://docs.microsoft.com/powershell/scripting/install/installing-powershell-core-on-linux?view=powershell-7/?WT.mc_id=academic-77807-sagibbon)
+| Tööriist | Eesmärk | Miks seda vajad |
+|----------|---------|-----------------|
+| **[Git](https://git-scm.com/)** | Versioonihaldus | Jälgi muudatusi, tee koostööd teistega, tee varukoopiaid |
+| **[Node.js & npm](https://nodejs.org/)** | JavaScripti käituskeskkond ja pakethaldus | Käivita JavaScripti väljaspool brausereid, paigalda kaasaegseid arendustööriistu |
+| **[Vite](https://vitejs.dev/)** | Ehitusvahend ja arendusserver | Väga kiire arendus koos kuuma mooduli asendusega |
+| **[ESLint](https://eslint.org/)** | Koodi kvaliteet | Leia ja paranda automaatselt JavaScriptis probleemid |
+| **[Prettier](https://prettier.io/)** | Koodi vormindamine | Hoia oma kood järjekindlalt vormindatud ja loetavana |
-#### Populaarsed käsurea tööriistad
+#### Platvormipõhised valikud
-- [Git](https://git-scm.com/) (💻 enamikus operatsioonisüsteemides)
-- [NPM](https://www.npmjs.com/)
-- [Yarn](https://classic.yarnpkg.com/en/docs/cli/)
+**Windows:**
+- **[Windows Terminal](https://docs.microsoft.com/windows/terminal/?WT.mc_id=academic-77807-sagibbon)** – Moodne, rikkalikult funktsioone täis terminal
+- **[PowerShell](https://docs.microsoft.com/powershell/?WT.mc_id=academic-77807-sagibbon)** 💻 – Võimas skriptikeel
+- **[Command Prompt](https://docs.microsoft.com/windows-server/administration/windows-commands/?WT.mc_id=academic-77807-sagibbon)** 💻 – Traditsiooniline Windowsi käsurida
-### Dokumentatsioon
+**macOS:**
+- **[Terminal](https://support.apple.com/guide/terminal/)** 💻 – Eelinstalleeritud terminalirakendus
+- **[iTerm2](https://iterm2.com/)** – Täiustatud terminal koos arenenud funktsioonidega
-Kui arendaja tahab midagi uut õppida, pöördub ta tõenäoliselt dokumentatsiooni poole, et õppida, kuidas seda kasutada. Arendajad toetuvad sageli dokumentatsioonile, et juhendada neid tööriistade ja keelte õiges kasutamises ning saada sügavamat arusaamist nende toimimisest.
+**Linux:**
+- **[Bash](https://www.gnu.org/software/bash/)** 💻 – Standardlinuxi kest
+- **[KDE Konsole](https://docs.kde.org/trunk5/en/konsole/konsole/index.html)** – Täiustatud terminaliemulaator
-#### Populaarne dokumentatsioon veebiarenduse kohta
+> 💻 = Operatsioonisüsteemiga kaasas
-- [Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web), Mozilla, [Firefox](https://www.mozilla.org/firefox/) brauseri väljaandjate poolt
-- [Frontend Masters](https://frontendmasters.com/learn/)
-- [Web.dev](https://web.dev), Google, [Chrome](https://www.google.com/chrome/) brauseri väljaandjate poolt
-- [Microsofti arendajadokumentatsioon](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers), [Microsoft Edge](https://www.microsoft.com/edge) brauseri jaoks
-- [W3 Schools](https://www.w3schools.com/where_to_start.asp)
+> 🎯 **Õppeteekond**: Alusta põhilistest käskudest nagu `cd` (kausta vahetus), `ls` või `dir` (failide listimine) ja `mkdir` (kausta loomine). Harjuta tänapäevaste töövoo käskudega nagu `npm install`, `git status` ja `code .` (avatakse praegune kaust VS Codes). Kui mugavus kasvab, omandad loomulikult ka keerulisemad käsud ja automatiseerimistehnikad.
-✅ Tee veidi uurimistööd: Nüüd, kui tead veebiarendaja keskkonna põhialuseid, võrdle ja vastanda seda veebidisaineri keskkonnaga.
+### Dokumentatsioon: Sinu alati olemasolev õppementor
+
+Olgu, las ma jagan väikest saladust, mis paneb sind tundma end palju paremini algajana: isegi kõige kogenumad arendajad veedavad tohutult aega dokumentatsiooni lugedes. Ja see pole sellepärast, et nad ei tea, mida teevad – see on tarkuse tõestus!
+
+Mõtle dokumentatsioonile kui maailma kannatlikumate, teadlikumate õpetajate kogumile, kes on alati saadaval ööpäevaringselt. Jääd kella kahe paiku öösel probleemiga hätta? Dokumentatsioon ootab soojalt virtuaalse kallistusega ja just õige vastusega. Tahad õppida mõnest uuest lahedast funktsioonist, millest kõik räägivad? Dokumentatsioon aitab samm-sammult näidetega. Püüad aru saada, miks midagi toimib nii nagu toimib? Sa arvasid õigesti – dokumentatsioon seletab selle lahti, kuni mõistmine saabub!
+
+Siin on midagi, mis mu vaatenurka täielikult muutis: veebiarendusmaailm liigub tohutu kiirusega ja keegi – ma tõesti mõtlen, et keegi! – ei talleta kõike pähe. Olen näinud vanemaid arendajaid, kellel on üle 15 aasta kogemust, pärimas põhilist süntaksit ja tead mida? See pole häbi – see on tarkus! Ei ole asi perfektses mälus, vaid selles, et tead, kuhu usaldusväärseid vastuseid kiiresti leida ja kuidas neid kasutada.
+
+**Tegelik maagia toimub siin:**
+
+Professionaalsed arendajad veedavad suure osa oma ajast dokumentatsiooni lugedes – mitte sest nad ei tea, mida teevad, vaid kuna veebiarenduse maastik areneb nii kiiresti, et ajakohasena püsimiseks on pidev õppimine vajalik. Hea dokumentatsioon aitab sul mõista mitte ainult *kuidas* midagi kasutada, vaid ka *miks* ja *millal* seda teha.
+
+#### Olulised dokumentatsiooni ressursid
+
+**[Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web)**
+- Veebitehnoloogiate kuldstandard dokumentatsioonis
+- Põhjalikud juhendid HTML-i, CSS-i ja JavaScripti kohta
+- Sisaldab brauserite ühilduvuse infot
+- Praktikapõhjad näited ja interaktiivsed demo'd
+
+**[Web.dev](https://web.dev)** (Google poolt)
+- Kaasaegsed veebiarenduse parimad praktikad
+- Jõudluse optimeerimise juhendid
+- Ligipääsetavuse ja kaasava disaini põhimõtted
+- Reaalsetest projektidest juhtumiuuringud
+
+**[Microsoft Developer Documentation](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers)**
+- Edge brauseri arendusressursid
+- Progressiivsete veebirakenduste juhised
+- Platvormideülene arendusinfo
+
+**[Frontend Masters Learning Paths](https://frontendmasters.com/learn/)**
+- Struktureeritud õppemarsruudid
+- Videokursused tööstuse ekspertidelt
+- Praktilised kodeerimisülesanded
+
+> 📚 **Õppestrateegia**: Ära proovi dokumentatsiooni pähe õppida – selle asemel õpi seda efektiivselt navigeerima. Pane järjehoidjatesse tihti kasutatavad viited ja harjuta otsingufunktsioonide kasutamist, et kiiresti konkreetset infot leida.
+
+### 🔧 **Tööriista valdamise kontroll: Mis sinuga kõnetab?**
+
+**Võta hetk mõtlemiseks:**
+- Millist tööriista tahaksid esimesena proovida? (Vale vastust ei ole!)
+- Kas käsurida tundub endiselt hirmutav või oled selle vastu uudishimulik?
+- Kas suudad ette kujutada, et kasutad brauseri DevToolsi, et piiluda oma lemmikveebide telgitagustesse?
+
+```mermaid
+pie title "Arendaja Aeg Vahenditega"
+ "Koodiredaktor" : 40
+ "Brauseri Testimine" : 25
+ "Käsurida" : 15
+ "Dokumentatsiooni Lugemine" : 15
+ "Silumine" : 5
+```
+> **Lõbus fakt:** Enamik arendajaid veedab umbes 40% ajast koodiredaktoris, aga märka, kui palju aega kulub testimiseks, õppimiseks ja probleemide lahendamiseks. Programmeerimine ei ole ainult koodi kirjutamine – see on kogemuste loomine!
+
+✅ **Mõtlemise toit:** Siin on midagi huvitavat mõtlemiseks – kuidas arvad, et veebisaitide loomise tööriistad (arendus) erinevad tööriistadest, millega kujundada, kuidas need välja näevad (disain)? See on nagu vahe arhitekti vahel, kes disainib kauni maja, ja töövõtja vahel, kes selle päriselt ehitab. Mõlemad on olulised, kuid vajavad erinevaid tööriistakaste! Selline mõtlemine aitab sul tõesti näha suuremat pilti, kuidas veebisaidid ellu sünnivad.
+
+## GitHub Copilot Agenti väljakutse 🚀
+
+Kasuta Agentrežiimi järgmise väljakutse lõpuleviimiseks:
+
+**Kirjeldus:** Uuri kaasaegse koodiredaktori või IDE omadusi ja näita, kuidas need võivad parandada su töövoogu veebiarendajana.
+
+**Juhtlause:** Vali koodiredaktor või IDE (näiteks Visual Studio Code, WebStorm või pilvepõhine IDE). Nimeta kolm funktsiooni või laiendust, mis aitavad sul koodi efektiivsemalt kirjutada, siluda või hooldada. Igaühe kohta anna lühike selgitus, kuidas see su töövoogu aitab.
---
## 🚀 Väljakutse
-Võrdle mõningaid programmeerimiskeeli. Millised on JavaScripti ja Java unikaalsed omadused? Aga COBOLi ja Go omadused?
+**Olgu, detektiiv, valmis oma esimeseks juhtumiks?**
+
+Nüüd, kui sul on see vinge alus olemas, on mul seiklus, mis aitab sul näha, kui uskumatult mitmekesine ja põnev programmeerimise maailm tegelikult on. Ja kuula – see ei ole veel koodi kirjutamine, nii et ära tunne survet! Mõtle end programmeerimiskeele detektiiviks oma esimesel põneval juhtumil!
+
+**Sinu missioon, kui valid selle vastu võtta:**
+1. **Saa keelereisijaks:** Vali kolm programmeerimiskeelt täiesti erinevatest universumitest – võib-olla üks veebisaitide ehitamiseks, üks mobiilirakenduste loomiseks ja üks andmetöötluseks teadlastele. Leia näited ühest ja samast lihtsast ülesandest iga keele jaoks. Luban, et oled täiesti šokeeritud, kui erinevalt nad võivad sama asja teha!
+2. **Avasta nende päritolulood:** Mis teeb iga keele eriliseks? Lahe fakt: iga programmeerimiskeel loodi, sest keegi mõtles: "Teate mis? Selle konkreetse probleemi lahendamiseks peab olema parem viis." Kas suudad välja uurida, millised probleemid need olid? Mõned lood on tõeliselt põnevad!
+3. **Tutvu kogukondadega:** Vaata, kui sõbralikud ja kirglikud on iga keele kogukonnad. Mõnel on miljoneid arendajaid, kes teadmisi jagavad ja üksteist aitavad, teised on väiksemad, kuid väga kokkuhoidvad ja toetavad. Sa armud nende kogukondade eri iseloomudesse!
+4. **Järgi sisetunnet:** Milline keel tundub praegu kõige ligipääsetavam? Ära muretse "täiusliku" valiku pärast – kuula lihtsalt oma instinkte! Siin pole vale vastust, ja alati saab hiljem teisi keeli uurida.
+
+**Boonusdetektiivitöö:** Uuri, millised suuremad veebisaidid või äpid on iga keelega ehitatud. Ma garanteerin, et oled üllatunud, kui saad teada, mis käitab Instagrami, Netflixi või seda mobiilimängu, mida sa ei suuda käest panna!
+
+> 💡 **Pea meeles:** Sa ei ürita täna ühekski neist keeltest ekspertiks saada. Sa lihtsalt võtad tuttavaks naabruskonnaga, enne kui otsustad, kuhu tahad asutada oma pesa. Võta aega, naudi seda ja lase uudishimul end juhtida!
+
+## Tähistame, mida oled avastanud!
+
+Issand jumal, sa oled täna neelanud nii palju hämmastavat teavet! Ootan tõeliselt põnevusega, et näha, kui palju sellest imelise rännaku materjalist sinusse on jäänud. Ja pea meeles – see ei ole test, kus kõik peab olema täiuslik. See on pigem tähistamine kogu toreda õpitu üle selles huvitavas maailmas, kuhu sa nüüd sukeldud!
+
+[Lahenda õppetunni järeltest](https://ff-quizzes.netlify.app/web/)
+## Ülevaade & Iseõppimine
-## Järeltundide test
-[Järeltundide test](https://ff-quizzes.netlify.app/web/)
+**Võta aega, et uurida ja lõbutse sellega!**
-## Ülevaade ja iseseisev õppimine
+Sa oled täna palju õppinud ning see on midagi, mille üle olla uhke! Nüüd tuleb lõbus osa – avastada teemasid, mis sinu uudishimu sütitasid. Pane tähele, see ei ole kodutöö – see on seiklus!
-Uuri veidi erinevate programmeerimiskeelte kohta. Proovi kirjutada üks rida ühes keeles ja seejärel kirjutada see kahes teises keeles. Mida sa õppisid?
+**Sukeldu sügavamale asjadesse, mis sind kõnetavad:**
+
+**Tee praktilist tutvust programmeerimiskeeltega:**
+- Külasta ametlikke veebisaite 2-3 keeltele, mis sinu tähelepanu pälvisid. Igal keelel on oma iseloom ja lugu!
+- Proovi mõnda veebipõhist koodi mänguvälja, nagu [CodePen](https://codepen.io/), [JSFiddle](https://jsfiddle.net/) või [Replit](https://replit.com/). Ära karda katsetada – sa ei saa midagi purustada!
+- Loe, kuidas su lemmikprogrammikeel sündis. Ausalt, mõned tegelikud tekkeloostud on äärmiselt põnevad ja aitavad sul mõista, miks keeled töötavad nii nagu nad töötavad.
+
+**Tutu oma uute tööriistadega:**
+- Laadi alla Visual Studio Code, kui sul seda veel pole – see on tasuta ja sa saad seda armastama hakata!
+- Veeda paar minutit laienduste turul ringi sirvides. See on nagu rakenduste pood sinu koodiredaktorile!
+- Ava brauseri arendustööriistad ja klõpsa ringi. Ära muretse, kui kõigest aru ei saa – lihtsalt tutvu, mis seal olemas on.
+
+**Liitu kogukonnaga:**
+- Jälgi mõnda arendajate kogukonda [Dev.to](https://dev.to/), [Stack Overflow](https://stackoverflow.com/) või [GitHub](https://github.com/) - programmeerijate kogukond on erakordselt sõbralik uustulnukate suhtes!
+- Vaata YouTubes mõningaid algajatele mõeldud programmeerimisteemalisi videoid. Seal on nii palju toredaid loojad, kes mäletavad, mis tunne on alustajana.
+- Mõtle kohalike kohtumiste või veebikogukondadega liitumisele. Usu mind, arendajad armastavad uustulnukatele abiks olla!
+
+> 🎯 **Kuula, mida ma tahan, et sa meeles peaksid**: Sinult ei oodata, et sa üleöö programmeerimisseisundisse satuksid! Praegu oled sa lihtsalt seda hämmastavat uut maailma tundma õppimas, millesse sa hakkad kuuluma. Võta oma aeg, naudi teekonda ja pea meeles – iga üks arendajatest, keda sa imetled, on olnud täpselt seal, kus sa praegu oled, tundes elevust ja ehk ka veidi ülekoormatust. See on täiesti normaalne ning tähendab, et sa teed õiget asja!
## Ülesanne
-[Dokumentatsiooni lugemine](assignment.md)
+[Reading the Docs](assignment.md)
-> Märkus: Ülesande jaoks tööriistu valides ära vali redaktoreid, brausereid ega käsurea tööriistu, mis on juba ülal loetletud.
+> 💡 **Väike tõuge su ülesande jaoks**: Ma väga tahaksin, et sa uuriksid mõningaid tööriistu, millest me pole veel rääkinud! Väldi toimetajaid, brausereid ja käsureatööriistu, millest me juba rääkisime – seal on suur uskumatult kõikehõlmav arendusvahendite universum, mis ootab avastamist. Otsi neid, mida aktiivselt hooldatakse ja millel on elavalt toetavad kogukonnad (neil on tavaliselt parimad õpetused ja kõige toetavamad inimesed, kui sa paratamatult kinni jääd ja sõbralikku abi vajad).
+
+---
+
+## 🚀 Sinu programmeerimise teekonna ajajoon
+
+### ⚡ **Mida saad teha järgmise 5 minuti jooksul**
+- [ ] Pane järjehoidjatesse 2-3 programmeerimiskeele veebisaiti, mis sinu tähelepanu pälvisid
+- [ ] Laadi alla Visual Studio Code, kui sul seda veel pole
+- [ ] Ava oma brauseri DevTools (F12) ja klõpsa ringi mistahes veebilehel
+- [ ] Liitu ühe programmeerijate kogukonnaga (Dev.to, Reddit r/webdev või Stack Overflow)
+
+### ⏰ **Mida saad täita selle tunni jooksul**
+- [ ] Täida õppetunni järel test ja mõtiskle oma vastuste üle
+- [ ] Seadista VS Code koos GitHub Copiloti laiendiga
+- [ ] Proovi "Hello World" näidet kahes erinevas programmeerimiskeeles veebis
+- [ ] Vaata YouTube'ist videot "Üks päev arendaja elus"
+- [ ] Alusta oma programmeerimiskeele detektiivitööd (väljakutse raames)
+
+### 📅 **Sinu nädalapikkune seiklus**
+- [ ] Täida ülesanne ja avasta 3 uut arendusvahendit
+- [ ] Jälgi 5 arendajat või programmeerimiskontot sotsiaalmeedias
+- [ ] Proovi ehitada midagi väikest CodePenis või Replitis (isegi lihtsalt "Hello, [Sinu nimi]!")
+- [ ] Loe ühe arendaja blogipostitust kellegi kodeerimise teekonnast
+- [ ] Liitu virtuaalse kohtumisega või vaata programmeerimisteemalist loengut
+- [ ] Alusta oma valitud keele õppimist veebipõhiste õpetustega
+
+### 🗓️ **Sinu kuupikkune muutus**
+- [ ] Ehita oma esimene väike projekt (ka lihtne veebileht loeb!)
+- [ ] Panusta avatud lähtekoodiga projekti (alusta dokumentide parandamisest)
+- [ ] Juhenda kedagi, kes alles alustab programmeerimisega
+- [ ] Loo oma arendajaportfoolio veebileht
+- [ ] Võta ühendust kohalike arendajate kogukondade või õppegruppidega
+- [ ] Alusta järgmise õpieesmärgi planeerimist
+
+### 🎯 **Lõpumõtiskluse kontroll**
+
+**Enne edasi liikumist võta hetk, et tähistada:**
+- Mis on üks asi programmeerimises, mis sind täna rõõmustas?
+- Millist tööriista või kontseptsiooni tahad kõigepealt avastada?
+- Kuidas sa tunned selle programmeerimisteekonna alustamise kohta?
+- Millist küsimust tahaksid praegu arendajalt küsida?
+
+```mermaid
+journey
+ title Sinu Enesekindluse Rajamise Teekond
+ section Täna
+ Uudishimulik: 3: Sa
+ Ülekoormatud: 4: Sa
+ Elevil: 5: Sa
+ section Käesolev Nädal
+ Avastamine: 4: Sa
+ Õppimine: 5: Sa
+ Ühendamine: 4: Sa
+ section Järgmine Kuu
+ Ehitamine: 5: Sa
+ Enesekindel: 5: Sa
+ Aitamine Teisi: 5: Sa
+```
+> 🌟 **Pea meeles**: Iga ekspert on kunagi olnud algaja. Iga vanem arendaja on tundnud end täpselt nii nagu sina praegu – elevil, võib-olla veidi ülekoormatuna ja kindlasti uudishimulikuna, mis on võimalik. Sa oled imelises seltskonnas ning see teekond saab olema erakordne. Tere tulemast programmeerimise imelisse maailma! 🎉
---
-**Lahtiütlus**:
-See dokument on tõlgitud AI tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.
\ No newline at end of file
+
+**Vastutusest loobumine**:
+See dokument on tõlgitud AI tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi me püüame tagada täpsust, palun arvestage, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument oma algkeeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tingitud arusaamatuste või valesti mõistmiste eest.
+
\ No newline at end of file
diff --git a/translations/et/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md b/translations/et/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md
index 81c23f833..38990cc89 100644
--- a/translations/et/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md
+++ b/translations/et/1-getting-started-lessons/1-intro-to-programming-languages/assignment.md
@@ -1,31 +1,78 @@
+# Ülesanne: Kaasaegsete veebiarendusvahendite uurimine
+
## Juhised
-Veebiarendaja vajab mitmeid tööriistu, mis on loetletud [MDN dokumentatsioonis kliendipoolsete tööriistade kohta](https://developer.mozilla.org/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview). Valige **kolm tööriista**, mida **selles õppetükis ei käsitleta** (välja arvatud [loetlege konkreetsed tööriistad või viidake õppetüki sisule]), selgitage **miks** veebiarendaja neid tööriistu kasutaks ja leidke iga kategooria jaoks sobiv tööriist. Iga tööriista kohta jagage link selle ametlikule dokumentatsioonile (mitte MDN-is toodud näitele).
+Veebiarenduse ökosüsteem hõlmab sadu spetsialiseeritud tööriistu, mis aitavad arendajatel rakendusi tõhusalt ehitada, testida ja hooldada. Teie ülesandeks on uurida ja mõista tööriistu, mis täiendavad selles õppetükis käsitletud vahendeid.
+
+**Teie missioon:** Valige **kolm tööriista**, mida selles õppetükis **ei käsitleta** (välistage koodiredaktorid, brauserid või käsureatööriistad, mis on juba loetletud). Keskenduge tööriistadele, mis lahendavad kaasaegses veebiarenduse töövoos spetsiifilisi probleeme.
+
+**Iga tööriista kohta esitage:**
+
+1. **Tööriista nimi ja kategooria** (nt "Figma – Disainitööriist" või "Jest – Testimisraamistik")
+2. **Eesmärk ja eelised** – Selgitage 2–3 lauses, miks veebiarendaja seda tööriista kasutaks ja milliseid probleeme see lahendab
+3. **Ametliku dokumentatsiooni link** – Esitage link tööriista ametlikule dokumentatsioonile või veebisaidile (mitte ainult õppelehtedele)
+4. **Tegelik kasutusala** – Tooge välja üks viis, kuidas see tööriist sobitub professionaalsesse arendustöövoogu
+
+## Soovitatud tööriistakategooriad
+
+Kaaluge tööriistu järgmistest kategooriatest:
+
+| Kategooria | Näited | Mida nad teevad |
+|------------|--------|-----------------|
+| **Ehitusvahendid** | Vite, Webpack, Parcel, esbuild | Koodi pakkimine ja optimeerimine tootmiseks koos kiirete arendusserveritega |
+| **Testimisraamistikud** | Vitest, Jest, Cypress, Playwright | Tagavad koodi korrektse toimimise ja püüavad vead enne levitamist kinni |
+| **Disainitööriistad** | Figma, Adobe XD, Penpot | Loovad koosolekutes makette, prototüüpe ja disainisüsteeme |
+| **Levitatavad platvormid** | Netlify, Vercel, Cloudflare Pages | Veebisaitide majutamine ja levitamine automaatse CI/CD-ga |
+| **Versioonihaldus** | GitHub, GitLab, Bitbucket | Koodi muutuste, koostöö ja projektitöövoogude haldamine |
+| **CSS raamistikud** | Tailwind CSS, Bootstrap, Bulma | Kiirendavad stiilide loomist eeltöödeldud komponendiraamatutega |
+| **Pakettide haldurid** | npm, pnpm, Yarn | Koodiraamatukogude ja sõltuvuste paigaldamine ja haldamine |
+| **Juurdepääsetavuse tööriistad** | axe-core, Lighthouse, Pa11y | Testivad kaasava disaini ja WCAG vastavust |
+| **API arendus** | Postman, Insomnia, Thunder Client | Testivad ja dokumenteerivad API-sid arenduse käigus |
-**Formaat:**
-- Tööriista nimi
-- Miks veebiarendaja seda kasutaks (2-3 lauset)
-- Link dokumentatsioonile
+## Vormistusnõuded
-**Pikkus:**
-- Iga selgitus peaks olema 2-3 lauset.
+**Iga tööriista puhul:**
+```
+### [Tool Name] - [Category]
+
+**Purpose:** [2-3 sentences explaining why developers use this tool]
+
+**Documentation:** [Official website/documentation link]
+
+**Workflow Integration:** [1 sentence about how it fits into development process]
+```
+
+## Kvaliteedi juhised
+
+- **Valige kaasaegsed tööriistad:** Valige tööriistu, mida aktiivselt hooldatakse ja mis on laialdaselt kasutusel aastaks 2025
+- **Keskenduge väärtusele:** Selgitage konkreetseid eeliseid, mitte ainult seda, mida tööriist teeb
+- **Professionaalne kontekst:** Mõelge tööriistadele, mida kasutavad arendusmeeskonnad, mitte üksikharrastajad
+- **Mitu kategooriat:** Valige tööriistu erinevatest kategooriatest, et näidata ökosüsteemi mitmekesisust
+- **Kaasaegne asjakohasus:** Eelistage tööriistu, mis sobituvad tänapäevaste veebiarenduse suundumuste ja headega tavadega
## Hindamiskriteeriumid
-Näidiskvaliteet | Piisav | Vajab parandamist
---- | --- | -- |
-Selgitas, miks veebiarendaja tööriista kasutaks | Selgitas, kuidas, kuid mitte miks arendaja tööriista kasutaks | Ei maininud, kuidas või miks arendaja tööriista kasutaks |
+| Suurepärane | Hea | Vajab parendamist |
+|-------------|-----|-------------------|
+| **Selgelt selgitatud, miks arendajad tööriista kasutavad ja milliseid probleeme see lahendab** | **Selgitatud, mida tööriist teeb, kuid mõni konteksti aspekt jäi välja** | **Loetletud tööriistad, kuid ei selgitatud nende eesmärki ega eeliseid** |
+| **Esitatud ametlikud dokumentatsiooni lingid kõigi tööriistade kohta** | **Enamasti ametlikud lingid, 1–2 juhendilehte** | **Peamiselt juhendi saidid, mitte ametlik dokumentatsioon** |
+| **Valitud tänapäevased, professionaalselt kasutatavad tööriistad erinevatest kategooriatest** | **Valitud head tööriistad, kuid piiratud erinevust kategooriates** | **Valitud aegunud tööriistad või ainult ühest kategooriast** |
+| **Näidatud arusaam, kuidas tööriistad sobituvad arendustöövoogudesse** | **Näidatud mõningane arusaam professionaalsest kontekstist** | **Keskendutud ainult tööriistadele, ilma töövoo kontekstita** |
+
+> 💡 **Uurimisnõuanne**: Otsige tööriistu, mida mainitakse veebiarendaja töökuulutustes, vaadake populaarseid arendajaküsitlusi või uurige GitHubi edukate avatud lähtekoodiga projektide sõltuvusi!
---
-**Lahtiütlus**:
-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äpsuse, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks lugeda autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valede tõlgenduste eest.
\ No newline at end of file
+
+**Vastutusest vabastamine**:
+See dokument on tõlgitud tehisintellektil põhineva tõlkevahendi [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi püüame tagada täpsust, palun arvestage, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Originaaldokument selles emakeeles on käsitletav autoriteetse allikana. Olulise teabe puhul on soovitatav kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti mõistmiste eest.
+
\ No newline at end of file
diff --git a/translations/et/1-getting-started-lessons/2-github-basics/README.md b/translations/et/1-getting-started-lessons/2-github-basics/README.md
index 7c1491b9a..3eb2e7c32 100644
--- a/translations/et/1-getting-started-lessons/2-github-basics/README.md
+++ b/translations/et/1-getting-started-lessons/2-github-basics/README.md
@@ -1,344 +1,777 @@
# Sissejuhatus GitHubi
-See õppetund käsitleb GitHubi põhitõdesid – platvormi, kus saab majutada ja hallata oma koodi muudatusi.
+Tere, tulevane arendaja! 👋 Oled valmis liituma miljonite kodeerijatega üle kogu maailma? Mul on tõeliselt hea meel tutvustada sulle GitHubi – mõtle sellele kui programmeerijate sotsiaalmeedia platvormile, ainult et selle asemel, et jagada oma lõunasöögi pilte, jagame me koodi ja ehitame koos midagi hämmastavat!
-
-> Sketšimärkus: [Tomomi Imura](https://twitter.com/girlie_mac)
+See, mis mulle tõesti meeleheitlikult muljet avaldab: iga rakendus sinu telefonis, iga veebisait, mida sa külastad, ja enamik tööriistu, mida sa õpid kasutama, on ehitatud koos töötavate arendajate tiimide poolt platvormidel nagu GitHub. See muusikarakendus, mida sa armastad? Keegi nagu sina on sellele panuse andnud. See mäng, mida sa ei suuda käest panna? Jep, tõenäoliselt ehitatud GitHubi koostöös. Ja nüüd SA ÕPID, kuidas olla osa sellest imelisest kogukonnast!
-## Eeltest
-[Eeltest](https://ff-quizzes.netlify.app)
+Ma tean, et alguses võib see kõik tunduda palju – ausalt öeldes mäletan, kuidas ma esimest korda oma GitHubi lehekülge vaatasin ja mõtlesin „Mida küll see kõik tähendab?“ Aga siin on asi: iga arendaja alustas täpselt sealt, kus sina praegu oled. Selle tunni lõpuks on sul oma GitHubi hoidla (mõtle sellele kui sinu isiklikule projektinäitusele pilves) ja sa tead, kuidas salvestada oma tööd, jagada seda teistega ja isegi panustada projektidesse, mida kasutavad miljonid inimesed.
+
+Me võtame selle teekonna koos – sammhaaval. Ilma kiirustamise ja pingeta – ainult sina, mina ja mõned väga lahedad tööriistad, mis saavad sinu uueks parimaks sõbraks!
+
+
+> Sketchnote autor [Tomomi Imura](https://twitter.com/girlie_mac)
+
+```mermaid
+journey
+ title Teie GitHubi seiklus täna
+ section Häälestus
+ Installi Git: 4: You
+ Loo konto: 5: You
+ Esimene hoidla: 5: You
+ section Git'i valdamine
+ Kohalikud muudatused: 4: You
+ Commits & Pushes: 5: You
+ Harud: 4: You
+ section Koostöö
+ Fork projekti: 4: You
+ Pull requests: 5: You
+ Avatud lähtekood: 5: You
+```
+## Eelsissejuhatuse viktoriin
+[Eelsissejuhatuse viktoriin](https://ff-quizzes.netlify.app)
## Sissejuhatus
-Selles õppetunnis käsitleme:
+Enne kui sukeldume kõige põnevamatesse asjadesse, valmistame su arvuti ette GitHubi võluks! Mõtle sellele nagu oma kunstitarvikute korrastamisele enne meistriteose loomist – õige tööriista olemasolu teeb kogu protsessi sujuvamaks ja palju lõbusamaks.
-- töö jälgimist oma arvutis
+Ma juhatan sind läbi kogu seadistamisprotsessi isiklikult ja luban, et see ei ole üldse nii hirmus, kui esmapilgul tunduda võib. Kui mõni asi kohe ei paista selge olevat, on see täiesti normaalne! Mäletan, kuidas ma seadistasin oma esimest arenduskeskkonda ja tundsin, justkui püüaksin lugeda iidseid hieroglüüfe. Iga arendaja on olnud täpselt seal, kus sina praegu oled, mõtiskledes, kas teeb kõike õigesti. Spoiler: kui sa siin õpid, siis teed seda juba õigesti! 🌟
+
+Selles õppetükis käsitleme:
+
+- sinu masina tööl tehtud töö jälgimist
- projektide kallal töötamist koos teistega
-- avatud lähtekoodiga tarkvara panustamist
+- kuidas panustada avatud lähtekoodiga tarkvarasse
### Eeltingimused
-Enne alustamist kontrolli, kas Git on paigaldatud. Terminalis kirjuta:
+Valmistame su arvuti GitHubi võluks ette! Ära muretse – see seadistus tuleb teha ainult korra ja siis oled kogu oma kodeerimisteekonnaks valmis.
+
+Alustame alustalast! Esiteks peame kontrollima, kas Git on su arvutisse juba installitud. Git on põhimõtteliselt nagu väga nutikas assistent, kes mäletab iga sinu koodimuudatust – palju parem kui paaniliselt iga kahe sekundi tagant Ctrl+S vajutada (me kõik oleme seda teinud!).
+
+Kontrollime, kas Git on juba olemas, tippides terminali selle maagilise käsu:
`git --version`
-Kui Git ei ole paigaldatud, [laadi alla Git](https://git-scm.com/downloads). Seejärel seadista oma lokaalne Git profiil terminalis:
-* `git config --global user.name "sinu-nimi"`
-* `git config --global user.email "sinu-email"`
+Kui Git veel pole, ära muretse! Mine lihtsalt aadressile [download Git](https://git-scm.com/downloads) ja lae see alla. Kui oled installi lõpetanud, tutvustan sulle Git’i korralikult:
+
+> 💡 **Esimese korraga seadistus**: Need käsud ütlevad Git’ile, kes sa oled. See teave lisatakse igale sinu tehtud commit’ile, nii et vali nimi ja e-post, mida oled mugav avalikult jagada.
+
+```bash
+git config --global user.name "your-name"
+git config --global user.email "your-email"
+```
-Kontrollimaks, kas Git on juba seadistatud, kirjuta:
-`git config --list`
+Git’i olemasoleva seadistuse kontrollimiseks võid tippida:
+```bash
+git config --list
+```
-Sul on vaja ka GitHubi kontot, koodiredaktorit (näiteks Visual Studio Code) ja terminali (või käsurea akent).
+Sul on samuti vaja GitHubi kontot, koodiredaktorit (nt Visual Studio Code) ja terminali (või käsurida) avada.
-Mine [github.com](https://github.com/) ja loo konto, kui sul seda veel pole, või logi sisse ja täida oma profiil.
+Mine aadressile [github.com](https://github.com/) ja loo konto, kui seda veel pole, või logi sisse ning täida oma profiil.
-✅ GitHub ei ole ainus koodirepositoorium maailmas; on ka teisi, kuid GitHub on kõige tuntum.
+💡 **Kaasaegne näpunäide**: Kaalu SSH võtmete seadistamist ([SSH keys](https://docs.github.com/en/authentication/connecting-to-github-with-ssh)) või GitHub CLI kasutamist ([GitHub CLI](https://cli.github.com/)) lihtsamaks ja paroolivabaks autentimiseks.
+
+✅ GitHub pole ainus koodipõhine hoidla veebis; on ka teisi, aga GitHub on kõige tuntum.
### Ettevalmistus
-Sul on vaja kausta koodiprojektiga oma arvutis (sülearvutis või lauaarvutis) ja avalikku GitHubi repositoriumi, mis toimib näitena, kuidas teiste projektidesse panustada.
+Sul peab olema nii kohalikust masinast (sülearvuti või lauaarvuti) koodiprojektiga kaust kui avalik hoidla GitHubis, mis on näitena, kuidas panustada teiste projektidesse.
----
+### Koodi turvalisuse tagamine
-## Koodi haldamine
+Räägime hetkeks turvalisusest – aga ära muretse, me ei hirmuta sind hullult! Mõtle turvapraktikatele nagu auto või maja lukustamisele. Need on lihtsad harjumused, millest muutuvad su teiseks loomuseks ja hoiavad su raske töö kaitstuna.
-Oletame, et sul on kohalik kaust koodiprojektiga ja sa tahad hakata oma edusamme jälgima, kasutades git'i – versioonihaldussüsteemi. Mõned inimesed võrdlevad git'i kasutamist armastuskirja kirjutamisega oma tulevasele minale. Kui loed oma commit-sõnumeid päevade, nädalate või kuude pärast, suudad meenutada, miks sa teatud otsuse tegid, või "tagasi kerida" muudatuse – eeldusel, et kirjutad häid "commit-sõnumeid".
+Näitan sulle kaasaegseid ja turvalisi viise GitHubiga töötamiseks algusest peale. Nii arendad head harjumused, mis toetavad sind kogu su kodeerimiskarjääri jooksul.
+
+Kui töötad GitHubiga, on oluline järgida turvalisuse parimaid tavasid:
+
+| Turvaala | Parim tava | Miks see oluline on |
+|----------|------------|---------------------|
+| **Autentimine** | Kasuta SSH võtmeid või isiklikke juurdepääsutokeneid | Paroolid on vähem turvalised ja nende kasutamine väheneb |
+| **Kahefaktoriline autentimine** | Lülita sisse 2FA oma GitHubi kontol | Lisab täiendava kaitsekihi kontole |
+| **Hoidla turvalisus** | Ära kunagi tee commit evolventse infot | API võtmed ja paroolid ei tohiks kunagi olla avalikes hoidlates |
+| **Sõltuvuste haldus** | Lülita sisse Dependabot uuendusteks | Hoiab sinu sõltuvused turvalised ja ajakohased |
+
+> ⚠️ **Kriitiline turvameeldetuletus**: Ära kunagi tee commit'i API võtmeid, paroole ega muud tundlikku infot mingisse hoidlasse. Kasuta keskkonnamuutujaid ja `.gitignore` faile tundliku info kaitseks.
+
+**Kaasaegne autentimise seadistamine:**
+
+```bash
+# Genereeri SSH võti (kaasaegne ed25519 algoritm)
+ssh-keygen -t ed25519 -C "your_email@example.com"
+
+# Sea Git kasutama SSH-d
+git remote set-url origin git@github.com:username/repository.git
+```
+
+> 💡 **Profesionaalseks kasutamiseks**: SSH võtmed eemaldavad vajaduse mitmel korral paroole sisestada ning on traditsioonilisest autentimisest turvalisemad.
+
+---
+
+## Halda oma koodi nagu proff
+
+Olgu, SEE on see koht, kus asjad tõeliselt põnevaks muutuvad! 🎉 Õpime jälgima ja haldama oma koodi nagu proffid ning ausalt öeldes on see üks mu lemmikuid teemasid õpetada, sest see muudab kõik mängupõhimõtte.
+
+Kujutle, et kirjutad erakordset lugu ning tahad jälgida iga mustandi, iga põneva paranduse ja iga „äh, see on geniaalne!“ hetke teekonda. Täpselt nii teebki Git sinu koodiga! See on nagu imelise ajas rändava märkmiku omamine, mis mäletab KÕIKE – iga klahvivajutust, iga muudatust, iga „ups, nüüd tekkis viga“ hetke, mille saad koheselt tagasi võtta.
+
+Olen aus – see võib alguses tunduda kurnav. Kui ma alustasin, mõtlesin: „Miks ma ei saa lihtsalt oma faile tavapäraselt salvestada?“ Aga usalda mind: kui Git sulle lõpuks klapib (ja see juhtub!), koged „kõrvalmaja valgustuse“ hetke, kus mõtled „Kuidas ma üldse varem ilma selleta koodisin?“ See on nagu avastaksid, et oskad lennata, kuigi kogu elu oled vaid jalutanud!
+
+Oletame, et sul on kohaliku masinaga kaust mõne koodiprojektiga ja soovid hakata oma edusamme jälgima git’i versioonihaldussüsteemi abil. Mõned inimesed võrdlevad git’i kasutamist armastuskirja kirjutamisega oma tulevasele minale. Oma commit’ide kirjade lugemisel päevade, nädalate või kuude pärast tuletad meelde, miks otsuse tegid, või saad „tagasi pöörata“ muudatuse – see tähendab, kui kirjutad head „commit’i sõnumid“.
+
+```mermaid
+flowchart TD
+ A[📁 Teie Projekti Failid] --> B{Kas see on Git hoidla?}
+ B -->|Ei| C[git init]
+ B -->|Jah| D[Muuda faile]
+ C --> D
+ D --> E[git add .]
+ E --> F["git commit -m 'sõnum'"]
+ F --> G[git push]
+ G --> H[🌟 Kood GitHubis!]
+
+ H --> I{Tahate koostööd teha?}
+ I -->|Jah| J[Tehke fork ja kloonimine]
+ I -->|Ei| D
+ J --> K[Loo haru]
+ K --> L[Muuda faile]
+ L --> M[Tee pull taotlus]
+ M --> N[🎉 Panustamine!]
+
+ style A fill:#fff59d
+ style H fill:#c8e6c9
+ style N fill:#ff4081,color:#fff
+```
+### Ülesanne: loo oma esimene hoidla!
+
+> 🎯 **Sinu missioon (ja ma olen nii elevil sinu pärast!)**: Loome sinu esimese GitHubi hoidla koos! Selle lõpus on sul oma väike nurk internetis, kus elab sinu kood, ning oled teinud oma esimese „commit’i“ (see tähendab arendajakeeles, et oled oma töö salvestanud väga nutikalt).
+>
+> See on tõeliselt eriline hetk – oled ametlikult liitumas arendajate maailmakogukonnaga! Ma mäletan siiani, kuidas ehmatasin, kui tegin oma esimese repo ja mõtlesin: „Vau, ma tõesti teen seda!“
-### Ülesanne: Loo repositoorium ja commit'i kood
+Käime selle seikluse samm-sammult läbi. Võta iga osa jaoks aega – kiirustamiseks pole auhinda ja luban, et iga samm saab lõpuks selgeks. Pea meeles, iga kodeerimise superstaar, keda imetled, istus kunagi seal, kus sina oled, just enne oma esimest hoidlat looma hakkamist. Kui äge see on?
> Vaata videot
>
-> [](https://www.youtube.com/watch?v=9R31OUPpxU4)
+> [](https://www.youtube.com/watch?v=9R31OUPpxU4)
-1. **Loo GitHubis repositoorium**. GitHub.com-is, repositooriumide vahekaardil või paremal ülanurgas navigeerimisribalt, leia **uus repo** nupp.
+**Teeme selle koos:**
- 1. Anna oma repositooriumile (kaustale) nimi
- 1. Vali **loo repositoorium**.
+1. **Loo oma hoidla GitHubis**. Mine GitHub.com ja otsi seda heledat rohelist **New** nuppu (või paremas ülanurgas olevat **+** märki). Kliki sellel ja vali **New repository**.
-1. **Liigu oma töökausta**. Terminalis vaheta kausta (tuntud ka kui kataloog), mida tahad hakata jälgima. Kirjuta:
+ Tee nii:
+ 1. Anna oma hoidlale nimi – vali midagi tähenduslikku!
+ 1. Lisa kirjeldus, kui soovid (see aitab teistel mõista, millega su projekt tegeleb)
+ 1. Otsusta, kas teha see avalik (kõik näevad) või privaatne (ainult sinu jaoks)
+ 1. Soovitan märkida linnuke kastikesse README faili lisamiseks – see on nagu projekti esileht
+ 1. Kliki **Create repository** ja tähista – just lõid oma esimese repo! 🎉
+
+2. **Mine oma projekti kausta**. Nüüd ava terminal (ära karda, see ei ole üldse nii hirmus nagu tundub!). Peame ütlema arvutile, kus su projektifailid asuvad. Tippige see käsk:
```bash
cd [name of your folder]
```
-1. **Initsialiseeri git repositoorium**. Oma projektis kirjuta:
+ **Mida me siin teeme:**
+ - Ütleme arvutile „Hei, vii mind minu projektikausta“
+ - See on nagu konkreetse kausta avamine oma töölaual, aga me teeme seda tekstikäsklustega
+ - Asenda `[name of your folder]` oma tegeliku projektikausta nimega
+
+3. **Muuda oma kaust Git’i hoidla'ks**. Siin juhtub võlu! Tippige:
```bash
git init
```
-1. **Kontrolli staatust**. Kontrollimaks repositooriumi staatust, kirjuta:
+ **Mis just juhtus (päris lahe, eks?):**
+ - Git lõi su projektikausta sees peidetud `.git` kausta – sa ei näe seda, aga see on olemas!
+ - Sinu tavaline kaust on nüüd „hoidla“, mis suudab jälgida kõiki tehtud muudatusi
+ - Mõtle sellele nagu annaksid oma kaustale supervõimed kõike mäletada
+
+4. **Vaata, mis toimub**. Vaatame, mida Git praegu su projekti kohta arvab:
```bash
git status
```
- väljund võib välja näha umbes selline:
+ **Mida Git sulle ütleb:**
+
+ Võid näha midagi sellist:
```output
Changes not staged for commit:
(use "git add ..." to update what will be committed)
- (use "git checkout -- ..." to discard changes in working directory)
+ (use "git restore ..." to discard changes in working directory)
modified: file.txt
modified: file2.txt
```
- Tavaliselt annab `git status` käsk infot, näiteks millised failid on valmis _salvestamiseks_ repositooriumisse või millistel failidel on muudatusi, mida võiks püsivaks teha.
+ **Ära paanitse! See tähendab nii:**
+ - Failid punases **värvis** on muudatused, mis pole veel valmis salvestamiseks
+ - Failid rohelises **värvis** (kui neid näed) on valmis salvestamiseks
+ - Git aitab sul, öeldes täpselt, mida järgmiseks teha
-1. **Lisa kõik failid jälgimiseks**
- Seda nimetatakse ka failide lavastamiseks/lisamiseks lavastuspiirkonda.
+ > 💡 **Professionaalne nipp**: käsk `git status` on su parim sõber! Kasuta seda iga kord, kui olukord tundub segane. See on nagu küsiks Git’ilt „Hei, mis seis on praegu?“
+
+5. **Valmista failid salvestamiseks ette** (see on „staging“ ehk lisamine alale):
```bash
git add .
```
- `git add` koos `.` argumendiga näitab, et kõik failid ja muudatused on jälgimiseks.
+ **Mida me just tegime:**
+ - Ütlesime Gatile „Hei, tahan järgmisesse salvestusse lisada KÕIK oma failid“
+ - `.` tähendab „kõik selles kaustas“
+ - Nüüd on failid „lavale seatud“ ja valmis järgmiseks sammuks
-1. **Lisa valitud failid jälgimiseks**
+ **Tahan olla valivam?** Võid lisada ka vaid kindlad failid:
```bash
git add [file or folder name]
```
- See võimaldab lisada ainult valitud failid lavastuspiirkonda, kui sa ei taha kõiki faile korraga commit'ida.
+ **Miks sa seda teha võid?**
+ - Mõnikord tahad seotud muudatused koos salvestada
+ - See aitab sul oma tööd loogilistesse osadesse korraldada
+ - Muudab hiljem lihtsamaks aru saada, mis ja millal muutus
-1. **Eemalda kõik failid lavastuspiirkonnast**
+ **Mõtlesid ümber?** Pole probleemi! Võid failid „lavalt“ maha võtta nii:
```bash
+ # Kõik muudatused valikust eemaldada
git reset
+
+ # Eemalda valikust ainult üks fail
+ git reset [file name]
```
- See käsk võimaldab eemaldada kõik failid korraga lavastuspiirkonnast.
+ Ära muretse – see ei kustuta sinu tööd, lihtsalt võtab failid „valmis salvestamiseks“ hunnikust välja.
-1. **Eemalda konkreetne fail lavastuspiirkonnast**
-
- ```bash
- git reset [file or folder name]
- ```
-
- See käsk võimaldab eemaldada ainult konkreetse faili lavastuspiirkonnast, mida sa ei taha järgmises commit'is kaasata.
-
-1. **Tee oma töö püsivaks**. Praeguseks oled failid lisanud nn _lavastuspiirkonda_. Koht, kus Git jälgib sinu faile. Muudatuse püsivaks tegemiseks pead failid _commit'ima_. Selleks loo _commit_ käsuga `git commit`. _Commit_ esindab salvestuspunkti sinu repositooriumi ajaloos. Kirjuta järgmine, et luua _commit_:
+6. **Salvesta töö püsivalt** (tehes oma esimese commit’i!):
```bash
git commit -m "first commit"
```
- See commit'ib kõik failid, lisades sõnumi "esimene commit". Tulevaste commit-sõnumite puhul tasub olla kirjeldavam, et edastada, millist tüüpi muudatusi sa tegid.
+ **🎉 Palju õnne! Sa tegid oma esimese commit’i!**
+
+ **Mis just juhtus:**
+ - Git tegi kõigist lavale seatud failidest just selle hetke „hetktõmmise“
+ - Sinu commit’i sõnum „first commit“ selgitab, miks see salvestuspunkt tehti
+ - Git andis sellele hetktõmmisele unikaalse ID, et saaksid seda alati hiljem leida
+ - Sa alustasid ametlikult oma projekti ajaloo jälgimist!
-1. **Ühenda oma lokaalne Git repo GitHubiga**. Git repo on kasulik sinu arvutis, kuid mingil hetkel tahad oma failidest varukoopiat kusagil hoida ja kutsuda teisi inimesi oma repositooriumiga töötama. Üks suurepärane koht selleks on GitHub. Me oleme juba loonud GitHubis repositooriumi, nii et ainus, mida teha tuleb, on ühendada oma lokaalne Git repo GitHubiga. Käsk `git remote add` teeb just seda. Kirjuta järgmine käsk:
+ > 💡 **Tulevaste commit’i sõnumite jaoks**: Ole järgmistel kordadel kirjalikum! „Updated stuff“ asemel proovi „Lisa kontaktivorm avalehele“ või „Paranda navigeerimismenüü viga“. Su tulevane mina tänab sind!
- > Märkus: enne käsu sisestamist mine oma GitHubi repo lehele, et leida repositooriumi URL. Kasuta seda allolevas käsus. Asenda ```https://github.com/username/repository_name.git``` oma GitHubi URL-iga.
+7. **Ühenda oma kohalik projekt GitHubiga**. Praegu asub su projekt vaid arvutis. Ühendame selle sinu GitHubi hoidlaga, et saaksid seda maailmaga jagada!
+
+ Kõigepealt mine oma GitHubi hoidla lehele ja kopeeri seal oleva hoidla URL. Siis tule siia tagasi ja tipi:
```bash
git remote add origin https://github.com/username/repository_name.git
```
+
+ (Asenda see URL oma hoidla tegeliku URL-iga!)
- See loob _remote_-ühenduse nimega "origin", mis osutab varem loodud GitHubi repositooriumile.
+ **Mida me just tegime:**
+ - Me lõime ühenduse teie kohaliku projekti ja teie GitHubi hoidla vahel
+ - "Origin" on lihtsalt hüüdnimi teie GitHubi hoidla jaoks – see on nagu kontakti lisamine telefoni
+ - Nüüd teab teie kohalik Git kuhu teie koodi saata, kui olete valmis seda jagama
-1. **Saada lokaalsed failid GitHubi**. Seni oled loonud _ühenduse_ lokaalse repo ja GitHubi repo vahel. Saada need failid GitHubi järgmise käsuga `git push`, näiteks:
+ 💡 **Lihtsam viis**: Kui teil on GitHub CLI paigaldatud, saate seda teha ühe käsuga:
+ ```bash
+ gh repo create my-repo --public --push --source=.
+ ```
- > Märkus: sinu haru nimi võib vaikimisi erineda ```main```-ist.
+8. **Saatke oma kood GitHubi** (suur hetk!):
```bash
git push -u origin main
```
- See saadab sinu commit'id "main" harusse GitHubis. `upstream` haru seadistamine, sealhulgas `-u` käsus, loob lingi sinu lokaalse haru ja kaug-haru vahel, nii et tulevikus saad lihtsalt kasutada git push või git pull ilma haru nime täpsustamata. Git kasutab automaatselt upstream-haru ja sa ei pea tulevastes käskudes haru nime eraldi määrama.
+ **🚀 See ongi see! Te laadite oma koodi GitHubi üles!**
+
+ **Mis toimub:**
+ - Teie commit'id liiguvad teie arvutist GitHubi
+ - `-u` lipp seab üles püsiva ühenduse, et tulevased push-d oleksid lihtsamad
+ - "main" on teie põhiharude nimi (nagu peamine kaust)
+ - Pärast seda saate lihtsalt kasutada `git push` tulevaste üleslaadimiste jaoks!
+
+ 💡 **Kiire märkus**: Kui teie haru nimi on midagi muud (näiteks "master"), kasutage seda nime. Saate kontrollida käsuga `git branch --show-current`.
+
+9. **Teie uus igapäevane kodeerimise rütm** (siin muutub see sõltuvust tekitavaks!):
-2. **Lisa rohkem muudatusi**. Kui tahad jätkata muudatuste tegemist ja nende GitHubi saatmist, pead lihtsalt kasutama järgmisi kolme käsku:
+ Edaspidi, igal korral, kui teie projektis muudatusi teete, on teil see lihtne kolmetapiline tants:
```bash
git add .
- git commit -m "type your commit message here"
+ git commit -m "describe what you changed"
git push
```
- > Näpunäide: Võid kaaluda `.gitignore` faili kasutamist, et vältida failide, mida sa ei taha jälgida, GitHubis ilmumist – näiteks märkmete faili, mida hoiad samas kaustas, kuid millel pole kohta avalikus repositooriumis. `.gitignore` failide mallid leiad siit: [.gitignore templates](https://github.com/github/gitignore).
+ **See muutub teie kodeerimise südametukseks:**
+ - Tehke oma koodis lahedaid muudatusi ✨
+ - Lisage need `git add`-ga ("Hei Git, pööra neile muudatustele tähelepanu!")
+ - Salvestage need `git commit`-iga koos kirjeldava sõnumiga (tulevane teie tänab teid!)
+ - Jagage neid maailmaga `git push`-iga 🚀
+ - Korda ja korda – tõesti, see muutub sama loomulikuks kui hingamine!
-#### Commit-sõnumid
+ Mulle meeldib see töövoog, sest see on nagu mängus mitme salvestuspunkti omamine. Tegite muudatuse, mis teile meeldib? Commit'i see! Tahate proovida midagi riskantset? Pole probleemi – alati saate tagasi minna oma viimase commit’i juurde, kui asjad lähevad vintsi!
-Hea Git commit'i pealkiri lõpetab järgmise lause:
-Kui rakendada, siis see commit
+ > 💡 **Vihje**: Võiksite ka lisada `.gitignore` faili, et takistada failide, mida te ei taha jälgida, ilmumist GitHubi – nagu see märkmikufail, mida hoiate samas kaustas, kuid millel pole kohta avalikus hoidlas. `.gitignore` failide malle leiate aadressilt [.gitignore templates](https://github.com/github/gitignore) või saate ühe luua aadressil [gitignore.io](https://www.toptal.com/developers/gitignore).
-Pealkirjas kasuta käskivat, olevikuvormi: "muuda" mitte "muudetud" ega "muudab".
-Nagu pealkirjas, kasuta ka kehas (valikuline) käskivat, olevikuvormi. Keha peaks sisaldama muudatuse motivatsiooni ja kontrasti varasema käitumisega. Selgitad `miks`, mitte `kuidas`.
+### 🧠 **Esimene hoidla üleslaadimine: Kuidas see end tundus?**
-✅ Võta paar minutit, et GitHubis ringi vaadata. Kas leiad tõeliselt hea commit-sõnumi? Kas leiad väga minimaalse? Millist infot pead commit-sõnumis kõige olulisemaks ja kasulikuks edastada?
+**Võtke hetk tähistamiseks ja reflekteerimiseks:**
+- Kuidas tundus näha oma koodi esimest korda GitHubis?
+- Milline samm tundus kõige segasem ja milline üllatavalt lihtne?
+- Kas saate oma sõnadega seletada vahet `git add`, `git commit` ja `git push` vahel?
-### Ülesanne: Tee koostööd
+```mermaid
+stateDiagram-v2
+ [*] --> LocalFiles: Loo projekt
+ LocalFiles --> Staged: git add .
+ Staged --> Committed: git commit
+ Committed --> GitHub: git push
+ GitHub --> [*]: Edu! 🎉
+
+ note right of Staged
+ Failid valmis salvestamiseks
+ end note
+
+ note right of Committed
+ Hetkeseis tehtud
+ end note
+```
+> **Mäleta**: Isegi kogenud arendajad kipuvad mõnikord täpseid käske unustama. Selle töövoo lihasmäluks muutmine nõuab harjutamist – teil läheb suurepäraselt!
-Peamine põhjus, miks asjad GitHubi üles laadida, on võimalus teha koostööd teiste arendajatega.
+#### Kaasaegsed Git’i töövood
-## Projektide kallal töötamine koos teistega
+Kaaluge nende kaasaegsete tavade omaksvõttu:
-> Vaata videot
+- **Tavapärased commit’id**: Kasutage standardiseeritud commit sõnumite vormingut nagu `feat:`, `fix:`, `docs:` jne. Lisateavet leiate aadressilt [conventionalcommits.org](https://www.conventionalcommits.org/)
+- **Atomilised commit’id**: Iga commit peaks esindama üht konkreetset muutust
+- **Sagedased commit’id**: Commiti sageli koos kirjeldavate sõnumitega, mitte harva ja suuri kogumeid
+
+#### Commit sõnumid
+
+Hea Git commit'i teemareal lõpetatakse järgnev lause:
+Kui rakendatud, teeb see commit
+
+Teema puhul kasutage imperatiivi olevikus: "muuda", mitte "muutnud" ega "muudab".
+Nii nagu teemareas, kasutage ka (vabatahtlikus) kirjelduses imperatiivi olevikus. Kirjeldus peaks sisaldama muutuse motivatsiooni ja võrdlust varasema käitumisega. Selgitate „miks“, mitte „kuidas“.
+
+✅ Võtke paar minutit GitHubis ringi sirvimiseks. Kas leiate tõeliselt hea commit sõnumi? Kas leiate väga minimaalse sõnumi? Milline info on commit sõnumis teie arvates kõige olulisem ja kasulikum?
+
+## Töötamine koos teistega (Lõbus osa!)
+
+Hoidke mütsi, sest SIIN muutub GitHub tõeliselt maagiliseks! 🪄 Olete juba oma koodi haldamise selgeks saanud, aga nüüd sukeldume minu absoluutse lemmiku juurde – koostöösse hämmastavate inimestega üle kogu maailma.
+
+Kujutage ette: ärkate homme ja näete, et keegi Tokyos parandas teie koodi, kui te magasite. Siis keegi Berlinis parandab vea, kus teil oli takerdumine. Pealelõunaks on Sao Paulos arendaja lisanud funktsiooni, millest te isegi mõelnud ei olnud. See pole ulme – see on lihtsalt teisipäev GitHubi universumis!
+
+Mis mind tõeliselt elevile paneb, on see, et koostööoskused, mida teie hakkate õppima? Need on TÄPSELT samad töövood, mida Google, Microsoft ja teie lemmikud idufirmad iga päev kasutavad. Te ei õpi lihtsalt lahedat tööriista – te õpite saladuskeelt, mis paneb kogu tarkvaramaailma koos töötama.
+
+Tõsiselt, kui kogete esimest korda seda emotsiooni, kui keegi ühineb teie esimese pull request’iga, mõistate, miks arendajad on avatud lähtekoodiga nii kirglikud. See on nagu osa maailma suurimast ja loovamast meeskonnaprojektist!
+
+> Vaadake videot
>
-> [](https://www.youtube.com/watch?v=bFCM-PC3cu8)
+> [](https://www.youtube.com/watch?v=bFCM-PC3cu8)
+
+Peamine põhjus, miks asju GitHubi panna, oli võimaldada koostööd teiste arendajatega.
+
+```mermaid
+flowchart LR
+ A[🔍 Leia Projekt] --> B[🍴 Hargne Repositoorium]
+ B --> C[📥 Kloneeri Kohalikku]
+ C --> D[🌿 Loo Haru]
+ D --> E[✏️ Tee Muudatused]
+ E --> F[💾 Tee Kinnitus]
+ F --> G[📤 Lükka Haru]
+ G --> H[🔄 Loo Tõmbepäring]
+ H --> I{Hooldaja Ülevaade}
+ I -->|✅ Kinnitatud| J[🎉 Ühenda!]
+ I -->|❓ Muudatusi Palutud| K[📝 Tee Uuendused]
+ K --> F
+ J --> L[🧹 Puhasta Harud]
+
+ style A fill:#e3f2fd
+ style J fill:#e8f5e8
+ style L fill:#fff3e0
+```
+Mine oma hoidlas `Insights > Community`, et näha, kuidas teie projekt vastab soovitatud kogukonna standarditele.
+
+Tahate, et teie hoidla näeks välja professionaalne ja sõbralik? Mine oma hoidla juurde ja klõpsa `Insights > Community`. See lahe funktsioon näitab, kuidas teie projekt võrdub sellega, mida GitHubi kogukond peab heaks hoidlapraktikaks.
+
+> 🎯 **Projekti särama panemine**: Hästi organiseeritud hoidla hea dokumentatsiooniga on nagu puhas ja sõbralik pood. See ütleb inimestele, et hoolite oma tööst ja muudab teised kinnisideed panustama!
+
+**Sellised asjad teevad hoidla suurepäraseks:**
+
+| Mida lisada | Miks see oluline on | Mida see teile teeb |
+|-------------|---------------------|--------------------|
+| **Kirjeldus** | Esimene mulje loeb! | Inimesed teavad kohe, mida teie projekt teeb |
+| **README** | Teie projekti esileht | Nii nagu sõbralik giid uutele külastajatele |
+| **Panustamise juhised** | Näitab, et olete abi vastu avatud | Inimesed teavad täpselt, kuidas aidata |
+| **Käitumisreeglid** | Loob sõbraliku ruumi | Kõik tunnevad end oodatuna osalema |
+| **Litsents** | Õiguslik selgus | Teised teavad, kuidas nad saavad teie koodi kasutada |
+| **Turvapoliitika** | Näitab, et olete vastutustundlik | Demonstreerib professionaalseid tavasid |
+
+> 💡 **Proffide nipp**: GitHub pakub nende failide jaoks malle. Uue hoidla loomisel valige kastid, et need failid automaatselt genereerida.
+
+**Kaasaegsed GitHubi funktsioonid, mida uurida:**
-Sinu repositooriumis liigu `Insights > Community`, et näha, kuidas sinu projekt vastab soovitatud kogukonna standarditele.
+🤖 **Automatiseerimine & CI/CD:**
+- **GitHub Actions** automatiseeritud testimiseks ja juurutamiseks
+- **Dependabot** automaatsete sõltuvuste uuenduste jaoks
- Siin on mõned asjad, mis võivad sinu GitHubi repositooriumi parandada:
- - **Kirjeldus**. Kas lisasid oma projektile kirjelduse?
- - **README**. Kas lisasid README? GitHub pakub juhiseid [README kirjutamiseks](https://docs.github.com/articles/about-readmes/?WT.mc_id=academic-77807-sagibbon).
- - **Panustamise juhised**. Kas sinu projektis on [panustamise juhised](https://docs.github.com/articles/setting-guidelines-for-repository-contributors/?WT.mc_id=academic-77807-sagibbon)?
- - **Käitumisjuhend**. Kas projektis on [käitumisjuhend](https://docs.github.com/articles/adding-a-code-of-conduct-to-your-project/)?
- - **Litsents**. Võib-olla kõige olulisem, [litsents](https://docs.github.com/articles/adding-a-license-to-a-repository/)?
+💬 **Kogukond & Projekti haldamine:**
+- **GitHub Discussions** kogukonna vestlused probleemide kõrval
+- **GitHub Projects** kanban-tüüpi projektihaldus
+- **Haru kaitse reeglid** koodikvaliteedi standardite tagamiseks
-Kõik need ressursid aitavad uute meeskonnaliikmete sisseelamist. Need on tavaliselt asjad, mida uued panustajad vaatavad enne sinu koodi vaatamist, et otsustada, kas sinu projekt on õige koht nende aja kulutamiseks.
-✅ Kuigi README failide ettevalmistamine võtab aega, jäävad need tihti hõivatud hooldajate poolt tähelepanuta. Kas leiad näite eriti kirjeldavast README-st? Märkus: on olemas [tööriistad, mis aitavad luua häid README-sid](https://www.makeareadme.com/), mida võid proovida.
+Kõik need ressursid aitavad uutel meeskonnaliikmetel kiiremini sisse elada. Ja need on tavaliselt esimesed asjad, mida uued panustajad vaatavad enne koodi uurimist, et otsustada, kas projekt on neile õige koht aja veetmiseks.
-### Ülesanne: Ühenda kood
+✅ README failid, kuigi vajavad aega ettevalmistamiseks, jäävad sageli hõivatud hooldajate poolt tähelepanuta. Kas saate leida eriti kirjeldava näite? Märkus: on olemas mõningaid [tööriistu head README loomise abistamiseks](https://www.makeareadme.com/), mida võiksite proovida.
-Panustamise dokumendid aitavad inimestel projektile panustada. Need selgitavad, millist tüüpi panustusi otsitakse ja kuidas protsess toimib. Panustajad peavad läbima mitmeid samme, et saaksid GitHubis sinu repositooriumisse panustada:
+### Ülesanne: Mõne koodi ühendamine
-1. **Repo forkimine**. Tõenäoliselt tahad, et inimesed _fork'iksid_ sinu projekti. Forkimine tähendab sinu repositooriumi koopia loomist nende GitHubi profiilil.
-1. **Kloonimine**. Sealt edasi kloonivad nad projekti oma arvutisse.
-1. **Haru loomine**. Palu neil luua _haru_ oma töö jaoks.
-1. **Muudatuste keskendamine ühele valdkonnale**. Palu panustajatel keskenduda oma panustamisel ühele asjale korraga – nii on suurem tõenäosus, et saad nende töö _ühendada_. Kujuta ette, et nad parandavad vea, lisavad uue funktsiooni ja uuendavad mitmeid teste – mis siis, kui tahad või saad rakendada ainult 2 kolmest või 1 kolmest muudatusest?
+Panustamise dokumentatsioon aitab inimestel projektile panustada. See seletab, millist tüüpi panuseid te otsite ja kuidas protsess toimib. Panustajad peavad läbima rea samme, et saada võimalust teie hoidla GitHubis panustada:
-✅ Kujuta ette olukorda, kus harud on eriti kriitilised hea koodi kirjutamiseks ja tarnimiseks. Milliseid kasutusjuhtumeid suudad välja mõelda?
-> Märkus: ole muutus, mida tahad maailmas näha, ja loo harud ka oma töö jaoks. Kõik commit'id, mida teed, tehakse harule, millele oled hetkel "välja registreeritud". Kasuta `git status`, et näha, millisele harule oled registreeritud.
+1. **Teie hoidla forkimine**. Tõenäoliselt tahate, et inimesed _forkiksid_ teie projekti. Forkkimine tähendab teie hoidla koopia loomist nende GitHubi profiilil.
+1. **Kloonimine**. Sealt kopeerivad nad projekti oma kohalikule masinale.
+1. **Haru loomine**. Tahtsite, et nad looksid oma töö jaoks _hooldanud haru_.
+1. **Muudatuse keskendumine ühele alale**. Paluge panustajatel keskenduda oma panused korraga ühele asjale – nii on suurem võimalus, et saate nende töö _ühendada_. Kujutage ette, et nad kirjutavad vigade paranduse, lisavad uue funktsiooni ja uuendavad mitmeid teste – mis siis, kui soovite või saate rakendada ainult 2-st 3-st või 1-st 3-st muudatusest?
-Läheme läbi panustaja töövoo. Eeldame, et panustaja on juba _fork'inud_ ja _klooninud_ repo, nii et neil on Git repo, millega oma arvutis töötada:
+✅ Kujutage ette olukorda, kus harud on eriti olulised hea koodi kirjutamiseks ja saatmiseks. Milliseid kasutusjuhtumeid saate välja tuua?
-1. **Loo haru**. Kasuta käsku `git branch`, et luua haru, mis sisaldab muudatusi, mida nad kavatsevad panustada:
+> Märkus, olge ise muutus, mida soovite maailmas näha, ja tehke teretulnud harud ka oma töö jaoks. Kõik commit’id tehakse sellel harul, millel parasjagu “oled”. Vaadake, millisel harul te olete käsuga `git status`.
+
+Läheme läbi panustaja töövoo. Eeldame, et panustaja on juba oma hoidla _forkinud_ ja _klooninud_, nii et tal on kohalik Git hoidla kasutamiseks valmis:
+
+1. **Haru loomine**. Kasutage käsku `git branch`, et luua haru, kuhu panustaja lisatud muudatused mahuvad:
```bash
git branch [branch-name]
```
-1. **Vaheta tööharule**. Vaheta määratud harule ja uuenda töökausta käsuga `git switch`:
+ > 💡 **Kaasaegne lähenemine**: Samuti saate ühe käsuga uue haru luua ja sellele üle lülituda:
+ ```bash
+ git switch -c [branch-name]
+ ```
+
+1. **Vahetage tööharrule**. Vahetage antud harule ja uuendage töökataloogi käsuga `git switch`:
```bash
git switch [branch-name]
```
-1. **Tee tööd**. Sellel hetkel tahad lisada oma muudatused. Ära unusta Git'ile sellest teada anda järgmiste käskudega:
+ > 💡 **Kaasaegne märkus**: `git switch` on kaasaegne asendus käsule `git checkout` harude vahetamiseks. See on algajatele selgem ja turvalisem.
+
+1. **Töötage**. Nüüd lisage oma muudatused. Ärge unustage Gitile sellest teada anda järgmiste käskudega:
```bash
git add .
git commit -m "my changes"
```
- Veendu, et annad oma commit'ile hea nime, enda ja repo hooldaja huvides, kellele sa aitad.
+ > ⚠️ **Commit sõnumi kvaliteet**: Kindlasti andke oma commit’ile hea nimi nii enda kui hoidla hooldaja jaoks, kellele aitate. Olge täpne, mida muutsite!
-1. **Ühenda oma töö `main` haruga**. Mingil hetkel oled töö lõpetanud ja tahad oma töö `main` haruga ühendada. `main` haru võib vahepeal muutunud olla, nii et veendu, et kõigepealt uuendad seda viimase versiooniga järgmiste käskudega:
+1. **Ühendage oma töö `main` haruga**. Ühel hetkel olete tööga valmis ja tahate liita oma töö `main` haruga. Kuna `main` haru võis vahepeal muutuda, veenduge esmalt, et see on kõige värskem järgmiste käskude abil:
```bash
git switch main
git pull
```
- Sellel hetkel tahad veenduda, et kõik _konfliktid_, olukorrad, kus Git ei suuda muudatusi lihtsalt _ühendada_, tekivad sinu tööharus. Seetõttu käivita järgmised käsud:
+ Siin veendute, et kõik _konfliktid_ – olukorrad, kus Git ei saa muutusi lihtsalt _ühendada_, tekivad teie tööharrul. Käivitage seetõttu järgmised käsud:
```bash
git switch [branch_name]
git merge main
```
- Käsk `git merge main` toob kõik muudatused `main` harust sinu harusse. Loodetavasti saad lihtsalt jätkata. Kui ei, siis VS Code näitab, kus Git on _segaduses_, ja sa lihtsalt muudad mõjutatud faile, et öelda, milline sisu on kõige täpsem.
+ Käsk `git merge main` toob kõik `main` haru muudatused teie harusse. Loodetavasti saate edasi minna. Kui mitte, ütleb VS Code, kus Git on _segaduses_, ning teie muudetud failid selgitavad, milline sisu on õige.
- Haru vahetamiseks kasuta kaasaegset `git switch` käsku:
+ 💡 **Kaasaegne alternatiiv**: Mõelge `git rebase` kasutamisele puhtama ajaloo jaoks:
```bash
- git switch [branch_name]
-
+ git rebase main
+ ```
+ See mängib teie commit’id viimase `main` haru peale, luues lineaarselt ajaloo.
-1. **Saada oma töö GitHubi**. Oma töö GitHubi saatmine tähendab kahte asja. Oma haru lükkamist oma repo'sse ja seejärel PR-i, Pull Request'i avamist.
+1. **Saada oma töö GitHubi**. Töölaua saatmine GitHubi tähendab kahte asja. Saadate oma haru oma hoidlas üles ja seejärel avate PR-i ehk Pull Request’i.
```bash
git push --set-upstream origin [branch-name]
```
- Ülaltoodud käsk loob haru sinu fork'itud repo's.
-1. **Ava PR**. Järgmine samm on PR-i avamine. Selleks navigeeri GitHubis oma kahvli (forked repo) juurde. GitHubis kuvatakse teade, kus küsitakse, kas soovid luua uue PR-i. Klõpsa sellel ja sind viiakse liidesesse, kus saad muuta commit'i sõnumi pealkirja ning lisada sobivama kirjelduse. Nüüd näeb kahvli algse hoidla haldaja seda PR-i ja _loodetavasti_ hindab seda ning _ühendab_ (merge) sinu PR-i. Nüüd oled panustaja, hurraa! :)
+ Ülaltoodud käsk loob haru teie forkitud hoidlas.
+
+### 🤝 **Koostööoskuste kontroll: Kas oled valmis teistega töötama?**
+
+**Vaatame, kuidas sa koostöö suhtes end tunned:**
+- Kas idee forkimisest ja pull request’idest on nüüd arusaadav?
+- Mis on üks asi harudega töötamise juures, mida soovite rohkem harjutada?
+- Kui mugavalt tunnete end kellegi teise projektile panustades?
+
+```mermaid
+mindmap
+ root((Git Koostöö))
+ Branching
+ Funktsiooniharud
+ Vigade parandamise harud
+ Eksperimentaalne töö
+ Pull Requests
+ Koodi ülevaatus
+ Arutelu
+ Testimine
+ Best Practices
+ Selged commit-sõnumid
+ Väikesed keskendunud muudatused
+ Hea dokumentatsioon
+```
+> **Kindlustunne**: Igaüks arendajatest, keda imetlete, oli kord närvis oma esimese pull requesti üle. GitHubi kogukond on uustulnukatele väga vastuvõtlik!
+
+1. **Ava PR**. Järgmisena avate PR'i. Teete seda, minnes GitHubis oma forkitud hoidla juurde. Saate märguande, kus küsitakse, kas soovite luua uue PR’i. Klõpsate ja viiakse teieni kasutajaliides, kus saate muuta commit sõnumi pealkirja, anda sobivama kirjelduse. Nüüd näeb hoidla hooldaja seda PR’i ja _pöidlad pihku_, nad hindavad ja _liidavad_ teie PR’i. Olete nüüd panustaja, juubeldage :)
+
+ 💡 **Kaasaegne nipp**: Võite ka GitHub CLI abil PR-e luua:
+ ```bash
+ gh pr create --title "Your PR title" --body "Description of changes"
+ ```
-1. **Korista ära**. Pärast PR-i edukat ühendamist on hea tava _koristada_ oma töö. See tähendab, et tuleks kustutada nii kohalik haru kui ka GitHubi üleslaetud haru. Kõigepealt kustuta see kohalikult järgmise käsuga:
+ 🔧 **Parimad tavad PR-ide jaoks**:
+ - Lisage seotud probleemide lingid märksõnadega nagu "Fixes #123"
+ - Lisage UI muudatuste ekraanipildid
+ - Paluge konkreetseid ülevaatajaid
+ - Kasutage kavandi PR-e töö käigus
+ - Veenduge, et kõik CI kontrollid on läbitud enne ülevaate taotlemist
+1. **Puhastamine**. Peetakse heaks tavaks _puhastada_ pärast õnnestunud PR-i ühendamist. Soovite puhastada nii oma kohaliku haru kui haru, mille GitHubi üles laadisite. Kõigepealt kustutame selle kohalikult järgmise käsuga:
```bash
git branch -d [branch-name]
```
-
-Seejärel mine GitHubi lehele oma kahvli juurde ja eemalda seal kaugharu, mille just üles laadisid.
-`Pull request` võib tunduda veider termin, sest tegelikult tahad sa oma muudatusi projekti _push_'ida. Kuid hoidla haldaja (projekti omanik) või põhimeeskond peab enne muudatuste ühendamist projekti "peaharuga" neid muudatusi kaaluma, seega sa tegelikult palud haldajalt otsust muudatuse kohta.
+ Veenduge, et lähete järgmiseks GitHubi lehele selle forkitud repos ja eemaldate just sinna üles laaditud kaugharud.
-Pull request on koht, kus saab võrrelda ja arutada haru muudatusi koos ülevaadete, kommentaaride, integreeritud testide ja muuga. Hea pull request järgib enam-vähem samu reegleid kui commit'i sõnum. Sa võid viidata probleemile (issue) probleemide jälgimissüsteemis, näiteks kui sinu töö lahendab konkreetse probleemi. Seda tehakse, kasutades `#` ja sellele järgnevat probleemi numbrit. Näiteks `#97`.
+`Pull request` tundub rumal termin, sest tegelikult soovite oma muudatusi projektile üles laadida. Kuid hooldaja (projekti omanik) või tuumikmeeskond peab teie muudatused enne projekti "main" harusse ühendamist üle vaatama, seega taotlete tegelikult otsust muudatuse kohta hooldajalt.
-🤞Hoidke pöidlad pihus, et kõik kontrollid läbiksid ja projekti omanik(ud) ühendaksid sinu muudatused projektiga🤞
+Pull request on koht, kus saab harude vahelist erinevust võrdlevalt arutada läbi ülevaadete, kommentaaride, integreeritud testide ja muu. Hea pull request järgib ligikaudu samu reegleid nagu commit-sõnum. Võite lisada viite probleemile probleemide jälgimissüsteemis, kui teie töö näiteks lahendab mõne probleemi. Seda tehakse `#`-märgi ja teie probleemi numbri abil. Näiteks `#97`.
-Uuenda oma praegust kohalikku tööharu kõigi uute commit'idega vastavast kaugharust GitHubis:
+🤞Pöidlad pihku, et kõik kontrollid läheksid läbi ja projektipidajad ühendaksid teie muudatused projekti🤞
+
+Uuendage oma praegust kohalikku töötavat haru kõigi uute commitidega vastavast GitHubi kaugharust:
`git pull`
-## Kuidas panustada avatud lähtekoodiga projektidesse
+## Panustamine avatud lähtekoodiga (teie võimalus avaldada mõju!)
+
+Kas olete valmis millekski, mis teie mõistuse päris pahviks lööb? 🤯 Räägime panustamisest avatud lähtekoodi projektidesse – ja mul tekib juba kananahk, kui mõtlen, et saan seda teiega jagada!
+
+See on teie võimalus saada osaks millestki tõeliselt erakordsest. Kujutage ette, et parandate tööriistu, mida kasutavad miljonid arendajad iga päev, või parandate vea rakenduses, mida teie sõbrad armastavad. See pole mitte ainult unistus – see ongi avatud lähtekoodiga panustamise olemus!
+
+Kõik see tekitab mul külmavärinaid iga kord, kui sellele mõtlen: iga tööriist, millega olete õppinud – teie koodiredaktor, raamistikud, mida uurime, isegi brauser, milles seda loete – algas kellegi nagu teie esimesest panusest. See geniaalne arendaja, kes ehitas teie lemmik VS Code'i laienduse? Ka nemad olid kord algajad, kes värisevate kätega klõpsasid "create pull request", just nagu teie ees ootab.
+
+Ja siin on kõige ilusam osa: avatud lähtekoodi kogukond on nagu interneti suurim grupp-sõlmimine. Enamik projekte otsib aktiivselt uusi inimesi ja on kutsunud probleeme siltidega "good first issue" just teile! Hooldajad on tõeliselt põnevil, kui näevad uusi panustajaid, sest nad mäletavad oma esimesi samme.
+
+```mermaid
+flowchart TD
+ A[🔍 Uuri GitHubi] --> B[🏷️ Leia "hea esimene probleem"]
+ B --> C[📖 Loe panustamise juhiseid]
+ C --> D[🍴 Forki hoidla]
+ D --> E[💻 Sea üles kohalik keskkond]
+ E --> F[🌿 Loo funktsiooniharu]
+ F --> G[✨ Tee oma panus]
+ G --> H[🧪 Testi oma muudatusi]
+ H --> I[📝 Kirjuta selge commit]
+ I --> J[📤 Pushi & loo PR]
+ J --> K[💬 Suhtle tagasisidega]
+ K --> L[🎉 Ühendatud! Sa oled panustaja!]
+ L --> M[🌟 Leia järgmine probleem]
+
+ style A fill:#e1f5fe
+ style L fill:#c8e6c9
+ style M fill:#fff59d
+```
+Te ei õpi siin lihtsalt kodeerima – te valmistute liitumiseks ülemaailmse ehitajate perega, kes ärkab iga päev mõttega "Kuidas saaksime digitaalmaailma veidi paremaks muuta?" Tere tulemast klubisse! 🌟
-Kõigepealt leia GitHubist hoidla (või **repo**), mis sind huvitab ja kuhu soovid muudatuse panustada. Selleks tuleb hoidla sisu kopeerida oma arvutisse.
+Esmalt leidke GitHubist endale huvipakkuv hoidlasse (või **repo**), kuhu sooviksite panustada. Soovite selle sisu oma masinasse kopeerida.
-✅ Hea viis leida algajatele sobivaid hoidlaid on [otsida märksõna 'good-first-issue' järgi](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/).
+✅ Hea viis "algajasõbralike" hoidlate leidmiseks on [otsida silti 'good-first-issue'](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/).
-
+
-Koodi kopeerimiseks on mitu viisi. Üks võimalus on "kloonida" hoidla sisu, kasutades HTTPS-i, SSH-d või GitHub CLI-d (Command Line Interface).
+Koodi kopeerimiseks on mitu võimalust. Üks neist on 'kloneerida' hoidla sisu HTTPS-i, SSH-ga või GitHub CLI (käsklusrida) abil.
-Ava terminal ja klooni hoidla järgmiselt:
-`git clone https://github.com/ProjectURL`
+Avage terminal ja kloneerige hoidla järgmiselt:
+```bash
+# HTTPS-i kasutamine
+git clone https://github.com/ProjectURL
-Projekti kallal töötamiseks liigu õigesse kausta:
+# SSH kasutamine (nõuab SSH võtme seadistamist)
+git clone git@github.com:username/repository.git
+
+# GitHub CLI kasutamine
+gh repo clone username/repository
+```
+
+Projekti kallal töötamiseks minge õigele kaustale:
`cd ProjectURL`
-Samuti saad avada kogu projekti, kasutades [Codespaces](https://github.com/features/codespaces), GitHubi sisseehitatud koodiredaktorit / pilvepõhist arenduskeskkonda, või [GitHub Desktop](https://desktop.github.com/).
+Võite avada kogu projekti ka järgmiste võimalustega:
+- **[GitHub Codespaces](https://github.com/features/codespaces)** - GitHubi pilve-arenduskeskkond VS Code brauseris
+- **[GitHub Desktop](https://desktop.github.com/)** - GUI rakendus Git käskude jaoks
+- **[GitHub.dev](https://github.dev)** - Vajutage suvalises GitHubi hoidlas klahvi `.` VS Code'i avamiseks brauseris
+- **VS Code** GitHub Pull Requests laiendusega
+
+Lõpuks võite koodi alla laadida ka tihendatud kaustana.
-Viimaks saad koodi alla laadida ka zip-failina.
+### Mõned lisahuvitavad faktid GitHubi kohta
-### Veel mõned huvitavad asjad GitHubi kohta
+Saate GitHubis tähti panna, jälgida ja/või "forkida" mis tahes avalikku hoidlat. Oma tähistatud hoidlaid leiate üleval parempoolse rippmenüü alt. See on nagu järjehoidja, aga koodi jaoks.
-Sa saad tähistada (star), jälgida (watch) ja/või "kahveldada" (fork) mis tahes avalikku hoidlat GitHubis. Tähistatud hoidlad leiad paremas ülanurgas rippmenüüst. See on nagu järjehoidja, aga koodi jaoks.
+Projektidel on probleemide jälgimise süsteem, enamasti GitHubis vahekaardil "Issues", kui pole märgitud teisiti, kus arutletakse projekti küsimuste üle. Ja Pull Requests vahekaart on koht, kus arutatakse ja vaadatakse muudatusi, mis on töös.
-Projektidel on probleemide jälgimissüsteem, enamasti GitHubis "Issues" vahekaardil, kui pole teisiti märgitud, kus inimesed arutavad projektiga seotud probleeme. Pull Requests vahekaart on koht, kus arutatakse ja vaadatakse üle muudatusi, mis on töös.
+Projektidel võivad olla ka arutelud foorumites, meililistides või vestluskanalites nagu Slack, Discord või IRC.
-Projektidel võib olla ka arutelusid foorumites, meililistides või vestluskanalites nagu Slack, Discord või IRC.
+🔧 **Tänapäevased GitHubi funktsioonid**:
+- **GitHub Discussions** - Kogukonna vestluste integreeritud foorum
+- **GitHub Sponsors** - Toetage hooldajaid rahaliselt
+- **Security tab** - Haavatavusaruanded ja turvakonsultatsioonid
+- **Actions tab** - Vaadake automatiseeritud töövooge ja CI/CD torujuhtmeid
+- **Insights tab** - Analüütika panustajate, commitide ja projekti tervise kohta
+- **Projects tab** - GitHubi sisseehitatud projektijuhtimisvahendid
-✅ Vaata oma uut GitHubi hoidlat ja proovi mõnda asja, näiteks seadete muutmist, info lisamist hoidlasse ja projekti loomist (näiteks Kanban-tahvlit). Võimalusi on palju!
+✅ Vaadake üle oma uus GitHubi hoidla ja proovige mõnda asja, näiteks seadistuste muutmist, info lisamist hoidlasse, projekti loomist (nt Kanban tahvel) ja GitHub Actionsi seadistamist automatiseerimiseks. Võimalusi on palju!
---
## 🚀 Väljakutse
-Tee koostööd sõbraga, töötades üksteise koodi kallal. Loo projekt ühiselt, kahvelda koodi, loo harusid ja ühenda muudatusi.
+Olgu, on aeg panna teie säravad uued GitHubi supervõimed proovile! 🚀 Siin on väljakutse, mis paneb kõik klõpsama kõige rahuldustpakkuvamal viisil:
+
+Võtke sõber (või see pereliige, kes alati küsib, millega te kõik need "arvutiasjad" tegelete) ja asuge koos koostöös kodeerima! Just siin sünnib tõeline võlu – looge projekt, laske neil see forkida, tehke harud ja ühendage muudatused nagu juba professionaalid, kelleks saate.
+
+Ma ei valeta – tõenäoliselt naerate mingil hetkel (eriti siis, kui proovite mõlemad sama rida muuta), võib-olla ajate pead segaduses, aga kindlasti kogete neid hämmastavaid "aha!"-hetki, mis kõik õppetöö hästi ära tasuvad. Pealegi on midagi erilist esimest edukat ühendamist kellegagi jagada – see on nagu väike tähistamine, kui kaugele olete jõudnud!
-## Loengu järgne viktoriin
-[Loengu järgne viktoriin](https://ff-quizzes.netlify.app/web/en/)
+Kas teil veel koodikaaslast pole? Pole probleemi! GitHubi kogukond on täis uskumatult sõbralikke inimesi, kes mäletavad, milline tunne on olla uus. Otsige hoidlaid märgistega "good first issue" – need kutsuvad algajaid õppima! Kui äge see on?
-## Ülevaade ja iseseisev õppimine
+## Loengu järel test
+[Loengu järel test](https://ff-quizzes.netlify.app/web/en/)
-Loe rohkem [avatud lähtekoodiga tarkvara panustamise kohta](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution).
+## Ülevaade & Jätka õppimist
-[Git'i spikrijuhend](https://training.github.com/downloads/github-git-cheat-sheet/).
+Huh! 🎉 Vaadake ise – olete just GitHubi põhialused vallutanud nagu tõeline meister! Kui teie pea tundub praegu natuke täis olevat, on see täiesti normaalne ja ausalt ka hea märk. Olete just õppinud tööriistu, mis mul võtsid nädalaid, enne kui end nendega mugavalt tundsin.
-Harjuta, harjuta, harjuta. GitHubil on suurepärased õppeprogrammid saadaval [skills.github.com](https://skills.github.com) kaudu:
+Git ja GitHub on uskumatult võimsad (tõsiselt võimsad) ning iga arendaja, keda ma tunnen – ka need, kes nüüd näivad olevat nagu võlurid – pidid harjutama ja vahel eksima, enne kui kõik klõpsas. See, et olete selle õppetüki läbinud, tähendab, et olete juba teel vallutama mõnda arendajate kõige olulisemat tööriista.
-- [Esimene nädal GitHubis](https://skills.github.com/#first-week-on-github)
+Siin on mõned tõeliselt suurepärased ressursid harjutamiseks ja veelgi võimsamaks muutumiseks:
-Leiad ka edasijõudnutele mõeldud kursusi.
+- [Juhend panustamiseks avatud lähtekoodi tarkvarasse](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) – Teie teejuht mõju avaldamiseks
+- [Git kiirjuhend](https://training.github.com/downloads/github-git-cheat-sheet/) – Hoidke see käepärast kiireks viitamiseks!
+
+Ja pidage meeles: harjutamine teeb edenemise, mitte täiuslikkuse! Mida rohkem kasutate Git-i ja GitHubi, seda loomulikumaks see muutub. GitHub on loonud mõnusaid interaktiivseid kursuseid, kus saate turvalises keskkonnas harjutada:
+
+- [Sissejuhatus GitHubi](https://github.com/skills/introduction-to-github)
+- [Suhtlus Markdowni abil](https://github.com/skills/communicate-using-markdown)
+- [GitHub Pages](https://github.com/skills/github-pages)
+- [Ühendamis-konfliktide lahendamine](https://github.com/skills/resolve-merge-conflicts)
+
+**Tunnete end seikluslikuna? Vaadake neid kaasaegseid tööriistu:**
+- [GitHub CLI dokumentatsioon](https://cli.github.com/manual/) – Kui tahate tunda end käsurea võlurina
+- [GitHub Codespaces dokumentatsioon](https://docs.github.com/en/codespaces) – Kodeerige pilves!
+- [GitHub Actions dokumentatsioon](https://docs.github.com/en/actions) – Automatiseerige kõik asjad
+- [Git parimad praktikad](https://www.atlassian.com/git/tutorials/comparing-workflows) – Tõstke oma töövoog järgmisele tasemele
+
+## GitHub Copiloti agendi väljakutse 🚀
+
+Kasutage Agent režiimi järgmise väljakutse täitmiseks:
+
+**Kirjeldus:** Looge koostöine veebiarendusprojekt, mis demonstreerib kogu selles õppetükis õppitud GitHubi töövoogu. See väljakutse aitab teil harjutada hoidla loomist, koostöö funktsioone ja kaasaegseid Git töövooge reaalses situatsioonis.
+
+**Üleskutse:** Looge uus avalik GitHubi hoidla lihtsa "Veebiarenduse Ressursid" projekti jaoks. Hoidla peaks sisaldama hästi struktureeritud README.md faili kasulike veebiarenduse tööriistade ja ressursside nimekirjaga, kategoriseeritult (HTML, CSS, JavaScript jne). Seadistage hoidla vastavalt kogukonna standarditele, sealhulgas litsents, panustamise juhised ja käitumiskoodeks. Looge vähemalt kaks funktsiooniharud: üks CSS ressursside lisamiseks ja teine JavaScripti ressursside jaoks. Tehke kummaski harus commit-id kirjeldavate sõnumitega, seejärel looge pull requestid muudatuste ühendamiseks peaharusse. Lülitage sisse GitHubi funktsioonid nagu Issues, Discussions ja seadistage lihtne GitHub Actions töövoog automatiseeritud kontrollide jaoks.
## Ülesanne
-Lõpeta [Esimese nädala GitHubis kursus](https://skills.github.com/#first-week-on-github)
+Teie missioon, kui otsustate selle vastu võtta: lõpetage [Sissejuhatus GitHubi](https://github.com/skills/introduction-to-github) kursus GitHub Skills'is. See interaktiivne kursus laseb teil turvalises, juhendatud keskkonnas harjutada kõike, mida olete õppinud. Pealegi saate lõpetamisel laheda märgise! 🏅
+
+**Tunnete end valmis rohkemaks?**
+- Seadistage SSH autentimine oma GitHubi kontol (paroolid jäävad minevikku!)
+- Proovige kasutada GitHub CLI oma päevastes Git toimingutes
+- Looge hoidla GitHub Actions töövooga
+- Avage see hoidla pilvepõhises redaktoris läbi GitHub Codespaces
+
+---
+
+## 🚀 Teie GitHubi meistriklassi ajakava
+
+### ⚡ **Mida saate teha järgmise 5 minutiga**
+- [ ] Pange tähis sellele hoidlaile ja veel 3-le huvipakkuvale projektile
+- [ ] Seadistage oma GitHubi kontole kaksikautentimine
+- [ ] Looge lihtne README oma esimese hoidla jaoks
+- [ ] Jälgige 5 arendajat, kelle töö teid inspireerib
+
+### 🎯 **Mida saate selle tunni jooksul saavutada**
+- [ ] Täitke loengu järel test ja mõtisklege oma GitHubi teekonna üle
+- [ ] Seadistage SSH võtmepaar GitHubi paroolivabaks autentimiseks
+- [ ] Tehke oma esimene tähendusrikas commit hea sõnumiga
+- [ ] Avastage GitHubi "Explore" vahekaart, et leida trendiprojekte
+- [ ] Harjutage hoidla forkimist ja väikse muudatuse tegemist
+
+### 📅 **Teie nädalane GitHubi seiklus**
+- [ ] Lõpetage GitHub Skills kursused (Sissejuhatus GitHubi, Markdown)
+- [ ] Tehke oma esimene pull request avatud lähtekoodi projekti
+- [ ] Looge GitHub Pages sait, et näidata oma töid
+- [ ] Liituge GitHub Discussions aruteludega huvipakkuvatel projektidel
+- [ ] Looge hoidla vastavalt kogukonna standarditele (README, litsents jms)
+- [ ] Proovige GitHub Codespaces pilvepõhist arendust
+
+### 🌟 **Teie kuu pikkune muutumine**
+- [ ] Panustage 3 erinevasse avatud lähtekoodi projekti
+- [ ] Mentorige kedagi uut GitHubis (tagasiandmine!)
+- [ ] Seadistage automatiseeritud töövood GitHub Actionsiga
+- [ ] Koostage portfoolio, mis näitab teie GitHubi panuseid
+- [ ] Osalege Hacktoberfestil või sarnastel kogukonnaüritustel
+- [ ] Saage oma projekti hooldajaks, kuhu teised on panustanud
+
+### 🎓 **Lõplik GitHubi meisterlikkuse ülevaatus**
+
+**Tähistage, kui kaugele olete jõudnud:**
+- Mis on teie lemmik asi GitHubi kasutamisel?
+- Milline koostööfunktsioon paneb teid kõige rohkem põnevusest õhkama?
+- Kui enesekindlalt tunnete end nüüd, panustades avatud lähtekoodi?
+- Millise esimese projekti soovite panustada?
+
+```mermaid
+journey
+ title Sinu GitHubi Enesekindluse Teekond
+ section Täna
+ Närviline: 3: You
+ Uudishimulik: 4: You
+ Elevil: 5: You
+ section See Nädal
+ Harjutamine: 4: You
+ Panustamine: 5: You
+ Ühendamine: 5: You
+ section Järgmine Kuu
+ Koostöö: 5: You
+ Juhtimine: 5: You
+ Teisi Inspireeriv: 5: You
+```
+> 🌍 **Tere tulemast globaalsesse arendajate kogukonda!** Teil on nüüd tööriistad, et teha koostööd miljonite arendajatega üle maailma. Teie esimene panus võib tunduda väike, kuid pidage meeles – iga suur avatud lähtekoodiga projekt algas kellegi esimesest commit-ist. Küsimus pole selles, kas avaldate mõju, vaid milline vinge projekt saab teie ainulaadsest perspektiivist esmalt kasu! 🚀
+
+Pidage meeles: iga ekspert oli kord algaja. Te saate hakkama! 💪
---
-**Lahtiütlus**:
-See dokument on tõlgitud AI tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.
\ No newline at end of file
+
+**Vastutusest loobumine**:
+See dokument on tõlgitud tehisintellekti tõlketeenuse [Co-op Translator](https://github.com/Azure/co-op-translator) abil. Kuigi me püüdleme täpsuse poole, palun arvestage, et automatiseeritud tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle emakeeles on otsustavaks allikaks. Olulise teabe puhul soovitatakse kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti mõistmiste eest.
+
\ No newline at end of file
diff --git a/translations/et/1-getting-started-lessons/3-accessibility/README.md b/translations/et/1-getting-started-lessons/3-accessibility/README.md
index da427c0f9..f5dd79a5b 100644
--- a/translations/et/1-getting-started-lessons/3-accessibility/README.md
+++ b/translations/et/1-getting-started-lessons/3-accessibility/README.md
@@ -1,176 +1,1356 @@
-# Ligipääsetavate veebilehtede loomine
+# Ligipääsetavate Veebilehtede Loomine
-
+
> Sketchnote autor [Tomomi Imura](https://twitter.com/girlie_mac)
-## Loengu-eelne viktoriin
-[Loengu-eelne viktoriin](https://ff-quizzes.netlify.app/web/)
+```mermaid
+journey
+ title Teie ligipääsetavuse õppe seiklus
+ section Alus
+ Kasutajate mõistmine: 5: You
+ Testimisvahendid: 4: You
+ POUR põhimõtted: 5: You
+ section Oskuste arendamine
+ Semantiline HTML: 4: You
+ Visuaalne disain: 5: You
+ ARIA tehnikaid: 4: You
+ section Meistriks saamine
+ Klaviatuuri navigeerimine: 5: You
+ Vormide ligipääsetavus: 4: You
+ Reaalse maailma testimine: 5: You
+```
+## Eelloengu Test
+[Eelloengu test](https://ff-quizzes.netlify.app/web/)
-> Veebi jõud peitub selle universaalsuses. Ligipääs kõigile, olenemata puudest, on oluline aspekt.
+> Veebi jõud peitub selle universaalsuses. Ligipääs kõigile, sõltumata puuetest, on oluline aspekt.
>
-> \- Sir Timothy Berners-Lee, W3C direktor ja veebi leiutaja
+> \- Sir Timothy Berners-Lee, W3C direktor ja Maailma Liiduveebi leiutaja
+
+Siin on midagi, mis võib sind üllatada: kui ehitad ligipääsetavaid veebisaite, siis sa ei aita mitte ainult puuetega inimesi — sa teed veebist tegelikult parema paiga kõigile!
+
+Oled märganud neid äärekivide lõike tänavanurkadel? Need olid algselt mõeldud ratastoolidele, aga nüüd aitavad nad lapsevankritega inimesi, kullerite platside kandjaid, rändureid veerelkohvriga ja rattureid. Täpselt nii toimib ligipääsetav veebidisain — lahendused, mis aitavad ühte gruppi, kasu toovad lõpuks kõigile. Lahe, eks?
+
+Selles õppetükis uurime, kuidas luua veebisaite, mis tõeliselt toimivad kõigile, ükskõik kuidas nad veebi sirvivad. Sa avastad praktilisi tehnikaid, mis on juba veebistandarditesse sisse ehitatud, saad käed külge testimisvahenditega ja näed, kuidas ligipääsetavus muudab su saidid lihtsamini kasutatavaks kõigile kasutajatele.
+
+Pärast seda õppetundi on sul kindlustunne teha ligipääsetavus oma arendustöövoo loomulikuks osaks. Kas oled valmis uurima, kuidas läbimõeldud disainiotsused võivad veebile ligipääsu avada miljarditele kasutajatele? Sukeldume!
+
+```mermaid
+mindmap
+ root((Veebi juurdepääsetavus))
+ Kasutajad
+ Ekraanilugerid
+ Klaviatuuri navigeerimine
+ Häälekontroll
+ Suurendus
+ Tehnoloogiad
+ HTML semantika
+ ARIA atribuudid
+ CSS fookusindikaatorid
+ Klaviatuuri sündmused
+ Kasud
+ Laiem sihtrühm
+ Parem SEO
+ Õiguslik vastavus
+ Universaalne disain
+ Testimine
+ Automaatseadmed
+ Käsitsi testimine
+ Kasutajate tagasiside
+ Tõeline abitehnoloogia
+```
+> Selle õppetunni saad teha [Microsoft Learnis](https://docs.microsoft.com/learn/modules/web-development-101/accessibility/?WT.mc_id=academic-77807-sagibbon)!
-See tsitaat rõhutab suurepäraselt ligipääsetavate veebilehtede loomise tähtsust. Rakendus, millele kõik ei pääse ligi, on oma olemuselt välistav. Veebiarendajatena peaksime alati ligipääsetavust silmas pidama. Kui keskendume sellele juba algusest peale, oleme õigel teel, et tagada kõigile juurdepääs meie loodud lehtedele. Selles õppetükis õpid tundma tööriistu, mis aitavad tagada, et sinu veebivarad oleksid ligipääsetavad, ja kuidas ehitada neid ligipääsetavust silmas pidades.
+## Puuetega Inimeste Abitehnoloogiate Mõistmine
-> Selle õppetüki saad läbida [Microsoft Learnis](https://docs.microsoft.com/learn/modules/web-development-101/accessibility/?WT.mc_id=academic-77807-sagibbon)!
+Enne kui koodimisele tormame, võtame hetke, et mõista, kuidas inimesed erinevate võimetega tegelikult veebi kogevad. See pole pelgalt teooria — nende reaalses maailmas toimuvate navigeerimisviiside mõistmine teeb sinust palju parema arendaja!
-## Kasutatavad tööriistad
+Abitehnoloogiad on päris võimsad tööriistad, mis aitavad puuetega inimestel veebis suhelda viisil, mis võib sind üllatada. Kui saad aru, kuidas need tehnikad töötavad, muutub ligipääsetavate veebikogemuste loomine palju intuitiivsemaks. Nagu õpiksid nägema oma koodi kellegi teise pilgu läbi.
### Ekraanilugejad
-Üks tuntumaid ligipääsetavuse tööriistu on ekraanilugejad.
+[Ekraanilugejad](https://en.wikipedia.org/wiki/Screen_reader) on päris keerukad tehnoloogiad, mis muudavad digitaalse teksti kõneks või brailles väljundiks. Kuigi neid kasutavad peamiselt nägemispuudega inimesed, on need väga kasulikud ka õppimisraskustega kasutajatele, näiteks düsleksiaga inimestele.
+
+Mulle meeldib mõelda ekraanilugejat nagu väga nutikat jutustajat, kes raamatut sulle ette loeb. Ta loeb sisu loogilises järjekorras, teatab interaktiivsetest elementidest nagu "nupp" või "link" ja pakub klaviatuurilööke, et lehel kiiresti liikuda. Aga siin on asi – ekraanilugejad saavad imet teha ainult siis, kui ehitame veebilehed korraliku struktuuri ja tähendusliku sisuga. Siin tuleb mängu sinu roll arendajana!
+
+**Populaarsemad ekraanilugejad platvormide lõikes:**
+- **Windows**: [NVDA](https://www.nvaccess.org/about-nvda/) (tasuta ja kõige populaarsem), [JAWS](https://webaim.org/articles/jaws/), [Narrator](https://support.microsoft.com/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1/?WT.mc_id=academic-77807-sagibbon) (sisseehitatud)
+- **macOS/iOS**: [VoiceOver](https://support.apple.com/guide/voiceover/welcome/10) (sisseehitatud ja väga võimas)
+- **Android**: [TalkBack](https://support.google.com/accessibility/android/answer/6283677) (sisseehitatud)
+- **Linux**: [Orca](https://wiki.gnome.org/Projects/Orca) (tasuta ja avatud lähtekoodiga)
+
+**Kuidas ekraanilugejad veebisisu navigeerivad:**
+
+Ekraanilugejad pakuvad mitmeid navigeerimismeetodeid, mis muudavad sirvimise kogenud kasutajatele tõhusaks:
+- **Järjekohane lugemine**: Loeb sisu ülesvalt alla, nagu raamatu järgimine
+- **Maamärkide navigeerimine**: Hüppa lehe sektsioonide vahel (päis, navigeerimine, põhiosa, jalus)
+- **Pealkirjade navigeerimine**: Vaheta pealkirjade vahel, et mõista lehe ülesehitust
+- **Lingiloendid**: Koosta loend kõigist linkidest kiireks ligipääsuks
+- **Vormikontrollid**: Navigeeri otse sisendväljade ja nuppude vahel
+
+> 💡 **Siin on midagi, mis pani mind imestama**: 68% ekraanilugejate kasutajatest navigeerib peamiselt pealkirjade abil ([WebAIM uuring](https://webaim.org/projects/screenreadersurvey9/#finding)). See tähendab, et sinu pealkirjastruktuur on kasutajatele nagu maakaart — kui sa selle õigesti teed, aitad inimestel su sisu kiiremini leida!
+
+### Testimisprotsessi ülesseadmine
+
+Siin on häid uudiseid — tõhus ligipääsetavuse testimine ei pea olema üle jõu käiv! Sooviksid ühendada automatiseeritud tööriistad (need tabavad suurepäraselt silmatorkavaid vigu) mõningase praktilise testimisega. Siin on meetod, mis minu kogemuse põhjal haarab kõige rohkem vigu ilma terve päeva ära söömata:
+
+**Oluline käsitsi testimise töövoog:**
+
+```mermaid
+flowchart TD
+ A[🚀 Alusta testimist] --> B{⌨️ Klaviatuuri navigeerimine}
+ B --> C[Suru kõik interaktiivsed elemendid läbi Tabiga]
+ C --> D{🎧 Ekraani lugeja testimine}
+ D --> E[Testi NVDA/VoiceOver'iga]
+ E --> F{🔍 Suumimise testimine}
+ F --> G[Suum 200%-ni ja testi funktsionaalsust]
+ G --> H{🎨 Värvi/kontrasti kontroll}
+ H --> I[Kinnita, et kogu tekst vastab kontrastisuhetele]
+ I --> J{👁️ Fookuse haldamine}
+ J --> K[Veendu, et fookuse indikaatorid on nähtavad]
+ K --> L[✅ Testimine lõpetatud]
+
+ style A fill:#e3f2fd
+ style L fill:#e8f5e8
+ style B fill:#fff3e0
+ style D fill:#f3e5f5
+ style F fill:#e0f2f1
+ style H fill:#fce4ec
+ style J fill:#e8eaf6
+```
+**Testimise samm-sammult kontrollnimekiri:**
+1. **Klaviatuuri navigeerimine**: Kasuta ainult Tab, Shift+Tab, Enter, Space ja nooleklahve
+2. **Ekraanilugeja testimine**: Lülita sisse NVDA, VoiceOver või Narrator ja navigeeri silmad kinni
+3. **Suumimise testimine**: Testi 200% ja 400% suumitasemel
+4. **Värvikontrastsuse kontroll**: Kontrolli kogu teksti ja kasutajaliidese komponente
+5. **Fookuse indikaatori testimine**: Veendu, et kõigil interaktiivsetel elementidel on nähtavad fookuse seisundid
+
+✅ **Alusta Lighthouse'iga**: Ava oma brauseri arendustööriistad, tee Lighthouse'i ligipääsetavuse audit, siis kasuta tulemusi, et suunata oma käsitsi testimise fookust.
+
+### Suumimise ja suurendamise tööriistad
+
+Sa tead, kuidas vahel sõrmede kokkusurumisega telefoni teksti suumid, kui see liiga väike on, või kuidas päiksevalguses arvutiekraani pigistad? Paljud kasutajad toetuvad suurendamisse, et muuta sisu iga päev loetavaks. See hõlmab nägemispuudega inimesi, vanemaid täiskasvanuid ja kõiki, kes on proovinud veebi lugeda väljas.
+
+Kaasaegsed suumitehnoloogiad on arenenud kaugemale ainult suurendamast. Mõistmine, kuidas need tööriistad toimivad, aitab sul luua reageerivaid disaine, mis on funktsionaalsed ja atraktiivsed ka suumitasemel.
+
+**Kaasaegsed brauseri suumivõimalused:**
+- **Lehe suum**: Skaalab kogu sisu proportsionaalselt (tekst, pildid, paigutus) - see on eelistatud meetod
+- **Ainult teksti suum**: Suurendab fonti, säilitades originaalse paigutuse
+- **Sõrmede kokkusurumisel suumimine ("pinch-to-zoom")**: Mobiilne žest ajutiseks suumiks
+- **Brauseri tugi**: Kõik moodsad brauserid toetavad kuni 500% suurendust ilma funktsionaalsust rikkumata
+
+**Spetsiaalsed suurendustarkvarad:**
+- **Windows**: [Magnifier](https://support.microsoft.com/windows/use-magnifier-to-make-things-on-the-screen-easier-to-see-414948ba-8b1c-d3bd-8615-0e5e32204198) (sisseehitatud), [ZoomText](https://www.freedomscientific.com/training/zoomtext/getting-started/)
+- **macOS/iOS**: [Zoom](https://www.apple.com/accessibility/mac/vision/) (sisseehitatud koos täiustatud funktsioonidega)
+
+> ⚠️ **Disaini kaalutlus**: WCAG nõuab, et sisu jääks funktsionaalseks 200% suumimisel. Sellel tasemel peaks horisontaalne kerimine olema minimaalne ja kõik interaktiivsed elemendid peaksid jääma ligipääsetavaks.
+
+✅ **Testeeri oma reageerivat disaini**: Suumiprograami oma brauser 200% ja 400% peale. Kas paigutus kohaneb sujuvalt? Kas saad ligipääsu kõigile funktsioonidele ilma liigse kerimiseta?
+
+## Kaasaegsed Ligipääsetavuse Testimisriistad
+
+Nüüd kui sul on aru saada, kuidas inimesed abitehnoloogiatega veebis navigeerivad, uurime tööriistu, mis aitavad sul luua ja testida ligipääsetavaid veebisaite.
+
+Mõtle nii: automatiseeritud tööriistad tabavad hästi silmatorkavaid vigu (nagu puuduva alt-teksti), samas praktiline testimine tagab, et su sait on päriselus hästi kasutatav. Koos annavad need kindlustunde, et su saidid töötavad kõigi jaoks.
+
+### Värvikontrasti testimine
+
+Siin on häid uudiseid: värvikontrastsus on üks levinumaid ligipääsetavusprobleeme, aga ka üks lihtsamaid parandada. Hea kontrastsus aitab kõiki — nägemispuudega kasutajaid ja inimesi, kes püüavad lugeda telefoni rannas.
+
+**WCAG kontrasti nõuded:**
+
+| Teksti tüüp | WCAG AA (minimaalne) | WCAG AAA (täiustatud) |
+|-------------|----------------------|----------------------|
+| **Tavaline tekst** (alla 18pt) | 4.5:1 kontrastisuhe | 7:1 kontrastisuhe |
+| **Suur tekst** (18pt+ või 14pt+ paks) | 3:1 kontrastisuhe | 4.5:1 kontrastisuhe |
+| **Kasutajaliidese komponendid** (nupud, vormide ääred) | 3:1 kontrastisuhe | 3:1 kontrastisuhe |
+
+**Olulised testimise tööriistad:**
+- [Colour Contrast Analyser](https://www.tpgi.com/color-contrast-checker/) - lauaarvuti rakendus koos värvipipetiga
+- [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/) - veebipõhine kohe tagasisidega
+- [Stark](https://www.getstark.co/) - disainitööriistade plugin Figma, Sketch, Adobe XD jaoks
+- [Accessible Colors](https://accessible-colors.com/) - Leia ligipääsetavad värvipaletid
+
+✅ **Loo paremaid värvikombinatsioone**: Alusta oma brändi värvidest ja kasuta kontrastikontrollereid, et luua ligipääsetavad variandid. Dokumenteeri need oma disainisüsteemi ligipääsetavate värviont tokenitena.
+
+### Ulatuslik ligipääsetavuse audit
+
+Kõige tõhusam ligipääsetavuse testimine ühendab mitmeid lähenemisi. Ükski tööriist ei kata kõike, seega mitmekesine testimisrutiin tagab põhjaliku katvuse.
+
+**Brauseripõhine testimine (arendustööriistades):**
+- **Chrome/Edge**: Lighthouse'i ligipääsetavuse audit + Ligipääsetavuse paneel
+- **Firefox**: Ligipääsetavuse inspekteerija koos detailse puuvaatega
+- **Safari**: Web Inspectori auditivahekaart koos VoiceOver simulatsiooniga
+
+**Professionaalsed testimislaiendid:**
+- [axe DevTools](https://www.deque.com/axe/devtools/) - tööstusharu standard automatiseeritud testimiseks
+- [WAVE](https://wave.webaim.org/extension/) - visuaalne tagasiside veaparandustega
+- [Accessibility Insights](https://accessibilityinsights.io/) - Microsofti ulatuslik testimiskomplekt
+
+**Käsurea ja CI/CD integreerimine:**
+- [axe-core](https://github.com/dequelabs/axe-core) - JavaScripti teek automatiseeritud testimiseks
+- [Pa11y](https://pa11y.org/) - käsurea ligipääsetavuse testimise tööriist
+- [Lighthouse CI](https://github.com/GoogleChrome/lighthouse-ci) - Automatiseeritud ligipääsetavuse skoor
+
+> 🎯 **Testimise eesmärk**: Seadke Lighthouse'i ligipääsetavuse skooriks vähemalt 95+. Pea meeles, et automatiseeritud tööriistad tabavad ligikaudu 30-40% ligipääsetavusprobleemidest — käsitsi testimine on ikkagi hädavajalik!
+
+### 🧠 **Testimisoskuste Kontroll: Kas oled valmis probleemide leidmiseks?**
+
+**Vaatame, kuidas sa tunned end ligipääsetavuse testimisega:**
+- Milline testimismeetod tundub sulle praegu kõige ligipääsetavam?
+- Kas suudad ette kujutada terve päeva ainult klaviatuuriga navigeerimist?
+- Mis on üks ligipääsetavustakistus, millega oled isiklikult veebis kokku puutunud?
-[Ekraanilugejad](https://en.wikipedia.org/wiki/Screen_reader) on tavaliselt kasutatavad kliendid nägemispuudega inimestele. Kui me kulutame aega, et tagada brauseri korrektne teabe edastamine, peame samuti tagama, et ekraanilugeja teeks seda sama.
+```mermaid
+pie title "Juurdepääsetavuse probleemid, mida tabatakse erinevate meetoditega"
+ "Automaatsed tööriistad" : 35
+ "Käsitsi testimine" : 40
+ "Kasutajate tagasiside" : 25
+```
+> **Enesekindluse tõstja**: Professionaalsed ligipääsetavuse testijad kasutavad seda täpset meetodite kombinatsiooni. Sa õpid tööstusharu parimaid tavasid!
+
+## Ligipääsetavuse Loomine Algusest Lõpuni
+
+Edu võti ligipääsetavuses on see sisse ehitada juba algusest peale. Ma tean, et on ahvatlev mõelda "ma lisan ligipääsetavuse hiljem", aga see on nagu üritada lisada trepipakett majale, mis on juba valmis ehitatud. Võimalik? Jah. Lihtne? Mitte päris.
+
+Mõtle ligipääsetavusele nagu majaplaanimisele — palju lihtsam on arvestada ratastooliga ligipääsuga oma esialgsetes arhitektuuriplaanides kui hiljem kõike ümber kohandada.
+
+### POUR põhimõtted: Sinu ligipääsetavuse alus
+
+Veebisisu ligipääsetavuse juhised (WCAG) põhinevad neljal põhimõttel, mis moodustavad akronüümi POUR. Ära muretse — need pole kuivlikud akadeemilised mõisted! Tegelikult on need praktilised juhendid, kuidas luua sisu, mis töötab kõigile.
+
+Kui oled POUR põhimõtted selgeks saanud, muutub ligipääsetavuse otsuste tegemine palju loomulikumaks. Nagu oleks sul vaimne kontrollnimekiri, mis juhib sinu disainivalikuid. Vaatame üle:
+
+```mermaid
+flowchart LR
+ A[🔍 TUNNETAV Kas kasutajad saavad seda tajuda?] --> B[🎮 KASUTATAV Kas kasutajad saavad seda kasutada?]
+ B --> C[📖 MÕISTETAV Kas kasutajad saavad sellest aru?]
+ C --> D[💪 TÜHENDLIK Kas see töötab kõikjal?]
+
+ A1[Alternatiivtekst Alapealkirjad Kontrast] --> A
+ B1[Klaviatuuriga ligipääs Puuduvad krambid Ajapiirangud] --> B
+ C1[Selge keel Ettetähtav Veavigaabi] --> C
+ D1[Kehtiv kood Ühilduv Tulevikukindel] --> D
+
+ style A fill:#e1f5fe
+ style B fill:#e8f5e8
+ style C fill:#fff3e0
+ style D fill:#f3e5f5
+```
+**🔍 Tajutav**: Info peab olema esitatav viisil, mida kasutajad saavad tajuda oma olemasolevate meelte kaudu
+
+- Paku tekstialternatiive mitte-tekstuaalsele sisule (pildid, videod, heli)
+- Tagada piisav värvikontrastsus kogu teksti ja kasutajaliidese komponentide puhul
+- Paku subtiitreid ja transkriptsioone multimeediale
+- Disaini sisu, mis jääb funktsionaalseks suumides kuni 200%
+- Kasuta mitmeid meelelisi omadusi (mitte ainult värvi), et edastada infot
+
+**🎮 Juhtitav**: Kõik liidese komponendid peavad olema juhitavad olemasolevate sisendmeetodite kaudu
+
+- Tee kogu funktsionaalsus ligipääsetav klaviatuuriga navigeerides
+- Anna kasutajatele piisavalt aega sisu lugemiseks ja suhtlemiseks
+- Väldi sisu, mis võib põhjustada krampe või vestibulaarseid häireid
+- Aita kasutajatel navigeerida tõhusalt selge struktuuri ja maamärkidega
+- Tagada interaktiivsetel elementidel piisavalt suured sihtmärgid (vähemalt 44px)
+
+**📖 Mõistetav**: Info ja liidese toimimine peavad olema arusaadavad ja selged
+
+- Kasuta selget, lihtsat keelt, mis sobib sinu sihtgrupile
+- Tagada, et sisu ilmub ja toimib etteaimatavalt ja järjepidevalt
+- Paku selgeid juhiseid ja veateateid kasutaja sisendi jaoks
+- Aita kasutajatel mõista ja parandada vormides tehtud vigu
+- Korralda sisu loogilise lugemiskorra ja infosõltuvusega
+
+**💪 Tugev**: Sisu peab töötama usaldusväärselt erinevate tehnoloogiate ja abiseadmetega
+
+- **Kasuta valide ja semantilist HTML-i oma aluseks**
+- **Tagada ühilduvus praeguste ja tulevaste abitehnoloogiatega**
+- **Järgi veebistandardeid ja parimaid tavasid märgistamisel**
+- **Testi erinevates brauserites, seadmetes ja abivahenditega**
+- **Struktureeri sisu nii, et keerukate funktsioonide puudumisel see siiski ladusalt toimiks**
+
+### 🎯 **POUR põhimõtete kontroll: Kinnitus**
+
+**Kiire ülevaade alustaladest:**
+- Kas suudad meenutada mõnda veebisaidi funktsiooni, mis rikub iga POUR põhimõtte?
+- Milline põhimõte tundub sulle arendajana kõige loomulikum?
+- Kuidas võiksid need põhimõtted parandada disaini kõigile, mitte ainult puuetega kasutajatele?
+
+```mermaid
+quadrantChart
+ title POUR põhimõtete mõju maatriks
+ x-axis Väike pingutus --> Suur pingutus
+ y-axis Väike mõju --> Suur mõju
+ quadrant-1 Kiired võidud
+ quadrant-2 Suured projektid
+ quadrant-3 Hinda hiljem
+ quadrant-4 Strateegiline fookus
+
+ Alt Text: [0.2, 0.9]
+ Color Contrast: [0.3, 0.8]
+ Semantic HTML: [0.4, 0.9]
+ Keyboard Nav: [0.6, 0.8]
+ ARIA Complex: [0.8, 0.7]
+ Screen Reader Testing: [0.7, 0.6]
+```
+> **Pea meeles**: Alusta suurima mõjuga ja vähese pingutusega parendustest. Semantiline HTML ja alternatiivtekst annavad suurima ligipääsetavuse tõusu vähima vaevaga!
+
+## Ligipääsetava visuaalse disaini loomine
+
+Hea visuaalne disain ja ligipääsetavus käivad käsikäes. Kui kujundad mõttega ligipääsetavusest, avastad sageli, et need piirangud viivad puhtamate ja elegantsemate lahendusteni, mis kasuks tulevad kõigile kasutajatele.
+
+Vaatame, kuidas luua visuaalselt atraktiivseid kujundusi, mis töötavad kõigi jaoks sõltumata nende nägemisvõimest või tingimustest, milles nad su sisu vaatavad.
+
+### Värvi- ja visuaalse ligipääsetavuse strateegiad
-Ekraanilugeja loeb lehe kõige lihtsamal kujul ülevalt alla kuuldavalt. Kui sinu leht on ainult tekst, edastab lugeja teabe sarnaselt brauserile. Loomulikult on veebilehed harva ainult tekst; need sisaldavad linke, graafikat, värve ja muid visuaalseid komponente. Tuleb hoolitseda selle eest, et ekraanilugeja loeks seda teavet õigesti.
+Värv on võimas suhtlusvahend, kuid see ei tohiks kunagi olla ainus viis olulise info edastamiseks. Kujundamine, mis ei tugine üksnes värvile, loob vastupidavamaid ja kaasavamaid kogemusi, mis toimivad rohkemates olukordades.
-Iga veebiarendaja peaks tutvuma ekraanilugejaga. Nagu eespool rõhutatud, on see klient, mida sinu kasutajad kasutavad. Samamoodi nagu oled tuttav brauseri toimimisega, peaksid õppima, kuidas ekraanilugeja töötab. Õnneks on ekraanilugejad enamikus operatsioonisüsteemides sisse ehitatud.
+**Kujunda värvinägemise erinevusi arvestades:**
-Mõned brauserid sisaldavad ka sisseehitatud tööriistu ja laiendusi, mis suudavad teksti ette lugeda või pakkuda mõningaid põhilisi navigeerimisfunktsioone, näiteks [Edge'i brauseri ligipääsetavuse tööriistad](https://support.microsoft.com/help/4000734/microsoft-edge-accessibility-features). Need on samuti olulised ligipääsetavuse tööriistad, kuid toimivad väga erinevalt ekraanilugejatest ja neid ei tohiks segamini ajada ekraanilugeja testimise tööriistadega.
+Umbes 8% meestest ja 0,5% naistest on mingisugune värvinägemise erinevus (sage nimetus "värvipimedus"). Kõige tavalisemad tüübid on:
+- **Deuteranoopia**: raskusi punase ja rohelise eristamisel
+- **Protanoopia**: punane tundub tuhmim
+- **Tritanoopia**: raskused sinise ja kollasega (harva esinev)
-✅ Proovi ekraanilugejat ja brauseri tekstilugejat. Windowsis on vaikimisi kaasas [Narrator](https://support.microsoft.com/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1/?WT.mc_id=academic-77807-sagibbon), samuti saab paigaldada [JAWS](https://webaim.org/articles/jaws/) ja [NVDA](https://www.nvaccess.org/about-nvda/). macOS-is ja iOS-is on vaikimisi paigaldatud [VoiceOver](https://support.apple.com/guide/voiceover/welcome/10).
+**Kaasaegsed värvistrateegiad:**
-### Suumimine
+```css
+/* ❌ Bad: Using only color to indicate status */
+.error { color: red; }
+.success { color: green; }
-Teine tööriist, mida nägemispuudega inimesed sageli kasutavad, on suumimine. Kõige lihtsam suumimise tüüp on staatiline suum, mida juhitakse `Control + plussmärk (+)` või ekraani eraldusvõime vähendamisega. See suumimise tüüp muudab kogu lehe suurust, seega on [responsiivne disain](https://developer.mozilla.org/docs/Learn/CSS/CSS_layout/Responsive_Design) oluline, et pakkuda head kasutajakogemust suurendatud suumitasemetel.
+/* ✅ Good: Color plus icons and context */
+.error {
+ color: #d32f2f;
+ border-left: 4px solid #d32f2f;
+}
+.error::before {
+ content: "⚠️";
+ margin-right: 8px;
+}
+
+.success {
+ color: #2e7d32;
+ border-left: 4px solid #2e7d32;
+}
+.success::before {
+ content: "✅";
+ margin-right: 8px;
+}
+```
+
+**Üle põhiliste kontrastinõuete:**
+- Testi värvivalikuid värvipimeduse simulaatoritega
+- Kasuta värvi kõrval mustreid, tekstuure või kujundeid
+- Veendu, et interaktiivsed olekud oleksid ilma värvita eristatavad
+- Mõtle, kuidas sinu disain näeb välja kõrge kontrasti režiimis
-Teine suumimise tüüp tugineb spetsiaalsele tarkvarale, mis suurendab ekraani ühte ala ja liigutab seda, sarnaselt päris suurendusklaasi kasutamisele. Windowsis on sisseehitatud [Magnifier](https://support.microsoft.com/windows/use-magnifier-to-make-things-on-the-screen-easier-to-see-414948ba-8b1c-d3bd-8615-0e5e32204198), ja [ZoomText](https://www.freedomscientific.com/training/zoomtext/getting-started/) on kolmanda osapoole suurendustarkvara, millel on rohkem funktsioone ja suurem kasutajaskond. Nii macOS-is kui iOS-is on sisseehitatud suurendustarkvara nimega [Zoom](https://www.apple.com/accessibility/mac/vision/).
+✅ **Testi oma värvide ligipääsetavust**: Kasuta tööriistu nagu [Coblis](https://www.color-blindness.com/coblis-color-blindness-simulator/), et näha, kuidas su leht erinevate värvinägemise tüüpi kasutajatele paistab.
-### Kontrasti kontrollijad
+### Fookuse indikaatorid ja interaktsioonidisain
-Veebilehtede värvid tuleb hoolikalt valida, et vastata värvipimedate kasutajate või madala kontrastsusega värve raskesti nägevate inimeste vajadustele.
+Fookuse indikaatorid on digitaalne vastendus kursorile – nad näitavad klaviatuuri kasutajatele, kus nad lehel asuvad. Hästi disainitud fookuse indikaatorid parandavad kogemust kõigile, muutes interaktsioonid selgeteks ja etteaimatavaks.
-✅ Testi mõnda veebilehte, mida naudid, värvikasutuse osas brauserilaiendiga, näiteks [WCAG-i värvikontrollija](https://microsoftedge.microsoft.com/addons/detail/wcag-color-contrast-check/idahaggnlnekelhgplklhfpchbfdmkjp?hl=en-US&WT.mc_id=academic-77807-sagibbon). Mida sa õpid?
+**Kaasaegsed fookuse indikaatori parimad tavad:**
-### Lighthouse
+```css
+/* Enhanced focus styles that work across browsers */
+button:focus-visible {
+ outline: 2px solid #0066cc;
+ outline-offset: 2px;
+ box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.25);
+}
-Sinu brauseri arendustööriistade alal leiad Lighthouse'i tööriista. See tööriist on oluline, et saada esmane ülevaade veebilehe ligipääsetavusest (samuti muudest analüüsidest). Kuigi on oluline mitte tugineda ainult Lighthouse'ile, on 100% skoor väga kasulik lähtepunkt.
+/* Remove focus outline for mouse users, preserve for keyboard users */
+button:focus:not(:focus-visible) {
+ outline: none;
+}
-✅ Leia Lighthouse oma brauseri arendustööriistade paneelilt ja tee analüüs mõnel veebilehel. Mida sa avastad?
+/* Focus-within for complex components */
+.card:focus-within {
+ box-shadow: 0 0 0 3px rgba(74, 144, 164, 0.5);
+ border-color: #4A90A4;
+}
-## Ligipääsetavuse disainimine
+/* Ensure focus indicators meet contrast requirements */
+.custom-focus:focus-visible {
+ outline: 3px solid #ffffff;
+ outline-offset: 2px;
+ box-shadow: 0 0 0 6px #000000;
+}
+```
+
+**Fookuse indikaatori nõuded:**
+- **Nähtavus**: vähemalt 3:1 kontrast ümbritsevate elementidega
+- **Laius**: vähemalt 2px paksune kogu elemendi ümber
+- **Püsivus**: peab jääma nähtavaks kuni fookus liigub mujale
+- **Erinevus**: peab visuaalselt eristuma teistest UI olekutest
+
+> 💡 **Disaininipp**: Heledad fookuse indikaatorid kasutavad sageli ühisena joonist, varjutust ja värvimuutusi, et tagada nähtavus erinevatel taustadel ja kontekstides.
+
+✅ **Audit fookuse indikaatorid**: Liigu oma veebilehel Tab-klahviga ja märgi ära, millistel elementidel on selged fookuse indikaatorid. Kas mõni on raske märgata või puudub täielikult?
+
+### Semantiline HTML: Ligipääsetavuse alus
+
+Semantiline HTML on nagu GPS süsteem abitehnoloogiatele sinu veebisaidil. Kui kasutad HTML elemente nende otstarbe järgi, annad ekraanilugeritele, klaviatuuridele ja teistele tööriistadele detailse kaardi kasutajate tõhusaks navigeerimiseks.
+
+Siin on analoogia, mis mulle hästi sobis: semantiline HTML on nagu hästi organiseeritud raamatukogu selgete kategooriate ja abimärkidega, vastandina laoplatsile, kus raamatud on suvaliselt laiali. Mõlemas kohas on samad raamatud, aga kumma juures oleks sul kergem midagi leida? Just nii!
+
+```mermaid
+flowchart TD
+ A[🏠 HTML Dokument] --> B[📰 päis]
+ A --> C[🧭 nav]
+ A --> D[📄 peamine]
+ A --> E[📋 jalus]
+
+ B --> B1[h1: Saidi nimi Logo & bränding]
+ C --> C1[ul: Navigatsioon Põhilingid]
+ D --> D1[artikkel: Sisu jaotis: Alajaotused]
+ D --> D2[aside: Küljeriba Seotud sisu]
+ E --> E1[nav: Jaluse lingid Autoriõiguse info]
+
+ D1 --> D1a[h1: Lehe pealkiri h2: Peamised jaotised h3: Alajaotused]
+
+ style A fill:#e3f2fd
+ style B fill:#e8f5e8
+ style C fill:#fff3e0
+ style D fill:#f3e5f5
+ style E fill:#e0f2f1
+```
+**Ligipääsetava lehekülje struktuuri ehituskivid:**
-Ligipääsetavus on suhteliselt suur teema. Et sind aidata, on saadaval palju ressursse.
+```html
+
+
+
Your Site Name
+
+
+
+
+
+
+
Article Title
+
Published on
+
+
+
+
First Section
+
Content that relates to this section...
+
+
+
+
Second Section
+
More related content...
+
+
+
+
+
+
+
+```
-- [Accessible U - Minnesota Ülikool](https://accessibility.umn.edu/your-role/web-developers)
+**Miks semantiline HTML muudab ligipääsetavust:**
+
+| Semantiline element | Otstarve | Ekraanilugeja kasu |
+|---------------------|----------|--------------------|
+| `` | Lehe või sektsiooni päis | "Banner landmark" - kiire navigeerimine ülesse |
+| `