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

pull/1690/head
localizeflow[bot] 3 weeks ago
parent 4b2dbfc4c0
commit 1ee488f372

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T08:31:29+00:00",
"translation_date": "2026-02-06T11:25:08+00:00",
"source_file": "AGENTS.md",
"language_code": "it"
},

@ -2,21 +2,21 @@
## Panoramica del Progetto
Questo è un repository curriculare educativo per insegnare le basi dello sviluppo web ai principianti. Il curriculum è un corso completo di 12 settimane sviluppato dai Microsoft Cloud Advocates, con 24 lezioni pratiche che coprono JavaScript, CSS e HTML.
Questo è un repository di curriculum educativo per insegnare le basi dello sviluppo web ai principianti. Il curriculum è un corso completo di 12 settimane sviluppato dai Microsoft Cloud Advocates, che comprende 24 lezioni pratiche su JavaScript, CSS e HTML.
### Componenti Chiave
- **Contenuti Educativi**: 24 lezioni strutturate organizzate in moduli basati su progetti
- **Progetti Pratici**: Terrarium, Gioco di Digitazione, Estensione Browser, Gioco Spaziale, App Bancaria, Editor di Codice e Assistente Chat AI
- **Quiz Interattivi**: 48 quiz con 3 domande ciascuno (valutazioni pre/post lezione)
- **Supporto Multilingue**: Traduzioni automatizzate in oltre 50 lingue tramite GitHub Actions
- **Quiz Interattivi**: 48 quiz con 3 domande ciascuno (valutazioni pre/post-lezione)
- **Supporto Multilingue**: Traduzioni automatiche in oltre 50 lingue tramite GitHub Actions
- **Tecnologie**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (per progetti AI)
### Architettura
- Repository educativo con struttura basata sulle lezioni
- Ogni cartella lezione contiene README, esempi di codice e soluzioni
- Progetti indipendenti in directory separate (quiz-app, vari progetti delle lezioni)
- Ogni cartella di lezione contiene README, esempi di codice e soluzioni
- Progetti indipendenti in directory separate (quiz-app, vari progetti di lezione)
- Sistema di traduzione tramite GitHub Actions (co-op-translator)
- Documentazione servita tramite Docsify e disponibile in PDF
@ -37,11 +37,11 @@ cd Web-Dev-For-Beginners
cd quiz-app
npm install
npm run dev # Avvia il server di sviluppo
npm run build # Costruisci per la produzione
npm run build # Compila per la produzione
npm run lint # Esegui ESLint
```
### API Progetto Banca (Node.js + Express)
### API Progetto Bancario (Node.js + Express)
```bash
cd 7-bank-project/api
@ -56,7 +56,7 @@ npm run format # Format con Prettier
```bash
cd 5-browser-extension/solution
npm install
# Seguire le istruzioni specifiche del browser per il caricamento dell'estensione
# Seguire le istruzioni specifiche del browser per il caricamento delle estensioni
```
### Progetti Gioco Spaziale
@ -78,114 +78,114 @@ python api.py
## Flusso di Lavoro per lo Sviluppo
### Per i Collaboratori di Contenuti
### Per i Collaboratori di Contenuto
1. **Fork del repository** nel proprio account GitHub
2. **Clonare il fork** localmente
3. **Creare un nuovo branch** per le modifiche
4. Apportare modifiche ai contenuti delle lezioni o agli esempi di codice
5. Testare eventuali modifiche al codice nelle directory dei progetti rilevanti
6. Inviare pull request seguendo le linee guida di contributo
1. **Forka il repository** nel tuo account GitHub
2. **Clona il fork** localmente
3. **Crea un nuovo branch** per le tue modifiche
4. Apporta modifiche ai contenuti delle lezioni o agli esempi di codice
5. Testa eventuali cambiamenti di codice nelle directory di progetto pertinenti
6. Invia pull request seguendo le linee guida di contributo
### Per gli Studenti
1. Fork o clone del repository
2. Navigare sequenzialmente tra le cartelle delle lezioni
3. Leggere i file README di ogni lezione
4. Completare i quiz preliminari della lezione su https://ff-quizzes.netlify.app/web/
5. Lavorare sugli esempi di codice nelle cartelle delle lezioni
6. Completare compiti e sfide
7. Sostenere i quiz post-lezione
1. Forka o clona il repository
2. Naviga nelle directory delle lezioni in sequenza
3. Leggi i file README di ogni lezione
4. Completa i quiz pre-lezione su https://ff-quizzes.netlify.app/web/
5. Lavora sugli esempi di codice nelle cartelle delle lezioni
6. Completa compiti e sfide
7. Svolgi i quiz post-lezione
### Sviluppo Live
- **Documentazione**: Eseguire `docsify serve` nella root (porta 3000)
- **Quiz App**: Eseguire `npm run dev` nella cartella quiz-app
- **Progetti**: Usare lestensione Live Server di VS Code per progetti HTML
- **Progetti API**: Eseguire `npm start` nelle rispettive directory API
- **Documentazione**: Esegui `docsify serve` nella root (porta 3000)
- **Quiz App**: Esegui `npm run dev` nella cartella quiz-app
- **Progetti**: Usa lestensione Live Server di VS Code per i progetti HTML
- **Progetti API**: Esegui `npm start` nelle rispettive directory API
## Istruzioni per i Test
### Test per Quiz App
### Test Quiz App
```bash
cd quiz-app
npm run lint # Controlla problemi di stile del codice
npm run lint # Controlla i problemi di stile del codice
npm run build # Verifica che la compilazione abbia successo
```
### Test per API Bancaria
### Test API Bancaria
```bash
cd 7-bank-project/api
npm run lint # Controlla problemi di stile del codice
npm run lint # Controlla la presenza di problemi di stile del codice
node server.js # Verifica che il server si avvii senza errori
```
### Approccio Generale ai Test
- Questo è un repository educativo senza test automatici completi
- Questo è un repository educativo senza test automatizzati completi
- I test manuali si concentrano su:
- Esecuzione senza errori degli esempi di codice
- Funzionamento corretto dei link nella documentazione
- Completamento senza errori delle build dei progetti
- Rispetto delle best practice negli esempi
- Esempi di codice eseguiti senza errori
- Link nella documentazione funzionanti correttamente
- Compilazioni di progetto completate con successo
- Esempi conformi alle migliori pratiche
### Controlli Prima della Sottomissione
### Controlli Pre-Invio
- Eseguire `npm run lint` nelle directory con package.json
- Verificare che i link markdown siano validi
- Testare gli esempi di codice in browser o Node.js
- Controllare che le traduzioni mantengano la struttura corretta
- Esegui `npm run lint` nelle directory con package.json
- Verifica che i link markdown siano validi
- Testa gli esempi di codice in browser o Node.js
- Assicurati che le traduzioni mantengano la struttura corretta
## Linee Guida per lo Stile del Codice
### JavaScript
- Usare sintassi moderna ES6+
- Seguire le configurazioni ESLint standard fornite nei progetti
- Usare nomi di variabili e funzioni significativi per chiarezza educativa
- Aggiungere commenti che spieghino i concetti agli studenti
- Formattare con Prettier dove configurato
- Usa sintassi moderna ES6+
- Segui le configurazioni ESLint standard fornite nei progetti
- Usa nomi di variabili e funzioni significativi per chiarezza educativa
- Aggiungi commenti che spiegano i concetti per gli studenti
- Formattta con Prettier dove configurato
### HTML/CSS
- Elementi HTML5 semantici
- Principi di design responsive
- Convenzioni chiare per il naming delle classi
- Elementi semantici HTML5
- Principi di design responsivo
- Convenzioni di nomi di classi chiare
- Commenti che spiegano le tecniche CSS per gli studenti
### Python
- Linee guida di stile PEP 8
- Esempi di codice chiari ed educativi
- Usare type hint ove utili per lapprendimento
- Indicazioni di tipo (type hints) dove utili per lapprendimento
### Documentazione Markdown
- Gerarchia chiara dei titoli
- Gerarchia chiara delle intestazioni
- Blocchi di codice con specifica del linguaggio
- Link a risorse aggiuntive
- Schermate e immagini nelle cartelle `images/`
- Testo alternativo per immagini per laccessibilità
- Screenshot e immagini nelle cartelle `images/`
- Testo alternativo per le immagini a scopo di accessibilità
### Organizzazione dei File
- Lezioni numerate in modo sequenziale (1-getting-started-lessons, 2-js-basics, ecc.)
- Ogni progetto ha cartelle `solution/` e spesso `start/` o `your-work/`
- Immagini salvate in cartelle `images/` specifiche di ogni lezione
- Immagini conservate nelle cartelle `images/` specifiche delle lezioni
- Traduzioni nella struttura `translations/{language-code}/`
## Build e Distribuzione
## Build e Deployment
### Distribuzione Quiz App (Azure Static Web Apps)
### Deployment Quiz App (Azure Static Web Apps)
La quiz-app è configurata per la distribuzione su Azure Static Web Apps:
La quiz-app è configurata per il deployment su Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Crea la cartella dist/
# Distribuisce tramite il flusso di lavoro GitHub Actions su push verso main
# Distribuisce tramite il flusso di lavoro GitHub Actions al push su main
```
Configurazione Azure Static Web Apps:
@ -207,76 +207,76 @@ npm install -g docsify-cli # Installa Docsify globalmente
docsify serve # Servi su localhost:3000
```
### Build Specifiche per Progetto
### Build Specifico per Progetto
Ogni directory progetto può avere il proprio processo di build:
Ogni directory di progetto può avere il proprio processo di build:
- Progetti Vue: `npm run build` crea bundle di produzione
- Progetti statici: Nessun passaggio di build, servire file direttamente
- Progetti statici: nessun passaggio di build, servire i file direttamente
## Linee Guida per le Pull Request
### Formato del Titolo
Usare titoli chiari e descrittivi che indichino larea di modifica:
Usa titoli chiari e descrittivi che indichino larea di modifica:
- `[Quiz-app] Aggiungi nuovo quiz per la lezione X`
- `[Lesson-3] Correzione di refuso nel progetto terrarium`
- `[Translation] Aggiunta traduzione spagnola per la lezione 5`
- `[Docs] Aggiornamento istruzioni di configurazione`
- `[Lesson-3] Correggi errore nel progetto terrarium`
- `[Translation] Aggiungi traduzione spagnola per la lezione 5`
- `[Docs] Aggiorna istruzioni di configurazione`
### Controlli Richiesti
Prima di inviare una PR:
1. **Qualità del Codice**:
- Eseguire `npm run lint` nelle directory di progetto coinvolte
- Correggere tutti gli errori e avvisi di linting
- Esegui `npm run lint` nelle directory di progetto interessate
- Risolvi tutti gli errori e avvisi di linting
2. **Verifica Build**:
- Eseguire `npm run build` se applicabile
- Assicurarsi che non ci siano errori di build
- Esegui `npm run build` se applicabile
- Assicurati che non ci siano errori di build
3. **Validazione Link**:
- Testare tutti i link markdown
- Verificare il corretto funzionamento dei riferimenti alle immagini
- Testa tutti i link markdown
- Verifica che i riferimenti alle immagini funzionino
4. **Revisione Contenuti**:
- Controllare ortografia e grammatica
- Assicurarsi che gli esempi di codice siano corretti ed educativi
- Verificare che le traduzioni mantengano il significato originale
- Controlla ortografia e grammatica
- Verifica che gli esempi di codice siano corretti ed educativi
- Assicurati che le traduzioni mantengano il significato originale
### Requisiti per il Contributo
### Requisiti di Contributo
- Accettare la Microsoft CLA (verifica automatica alla prima PR)
- Seguire il [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Consultare [CONTRIBUTING.md](./CONTRIBUTING.md) per linee guida dettagliate
- Citare numeri di issue nella descrizione PR se applicabile
- Accetta il Microsoft CLA (verifica automatica alla prima PR)
- Segui il [Codice di Condotta Microsoft Open Source](https://opensource.microsoft.com/codeofconduct/)
- Vedi [CONTRIBUTING.md](./CONTRIBUTING.md) per dettagli
- Riferisci i numeri delle issue nella descrizione della PR se necessario
### Processo di Revisione
- Le PR sono revisionate da mantenitori e comunità
- Si privilegia la chiarezza educativa
- Gli esempi di codice devono seguire le best practice correnti
- Le traduzioni sono revisionate per accuratezza e adeguatezza culturale
- Le PR sono revisionate da manutentori e comunità
- La chiarezza educativa è prioritaria
- Gli esempi di codice devono seguire le migliori pratiche attuali
- Le traduzioni sono verificate per accuratezza e idoneità culturale
## Sistema di Traduzione
### Traduzione Automatizzata
### Traduzione Automatica
- Usa GitHub Actions con workflow co-op-translator
- Traduce automaticamente in oltre 50 lingue
- File sorgente nelle directory principali
- File tradotti in directory `translations/{language-code}/`
- File tradotti in `translations/{language-code}/`
### Aggiunta di Migliorie Manuali alle Traduzioni
### Aggiunta di Miglioramenti Manuali alla Traduzione
1. Localizzare i file in `translations/{language-code}/`
2. Apportare migliorie preservando struttura
3. Assicurarsi che gli esempi di codice rimangano funzionanti
4. Testare eventuali contenuti quiz localizzati
1. Trova il file in `translations/{language-code}/`
2. Apporta miglioramenti mantenendo la struttura
3. Assicurati che gli esempi di codice restino funzionanti
4. Testa eventuali contenuti quiz localizzati
### Metadata della Traduzione
### Metadata di Traduzione
I file tradotti includono header metadata:
I file tradotti includono intestazione metadata:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -293,79 +293,79 @@ CO_OP_TRANSLATOR_METADATA:
### Problemi Comuni
**La quiz app non parte**:
- Verificare versione Node.js (consigliato v14+)
- Eliminare `node_modules` e `package-lock.json`, eseguire nuovamente `npm install`
- Controllare conflitti di porta (predefinita: Vite usa porta 5173)
**Lapp quiz non si avvia**:
- Controlla versione Node.js (consigliata v14+)
- Elimina `node_modules` e `package-lock.json`, esegui di nuovo `npm install`
- Controlla conflitti di porta (default: Vite usa porta 5173)
**Il server API non si avvia**:
- Verificare che la versione di Node.js sia minima (node >=10)
- Controllare se la porta è già in uso
- Assicurarsi di aver installato tutte le dipendenze con `npm install`
**Server API non si avvia**:
- Verifica che la versione di Node.js sia minima (node >=10)
- Controlla che la porta non sia già in uso
- Assicurati che tutte le dipendenze siano installate con `npm install`
**Lestensione browser non si carica**:
- Verificare che manifest.json sia formattato correttamente
- Controllare la console del browser per errori
- Seguire le istruzioni specifiche del browser per linstallazione dellestensione
**Estensione browser non si carica**:
- Verifica che manifest.json sia formattato correttamente
- Controlla errori nella console del browser
- Segui istruzioni specifiche per linstallazione dellestensione nel browser
**Problemi progetto chat Python**:
- Verificare che il pacchetto OpenAI sia installato: `pip install openai`
- Assicurarsi che la variabile dambiente GITHUB_TOKEN sia impostata
- Verificare i permessi di accesso ai modelli GitHub
**Problemi con progetto chat Python**:
- Assicurati che il pacchetto OpenAI sia installato: `pip install openai`
- Verifica che la variabile ambiente GITHUB_TOKEN sia impostata
- Controlla i permessi di accesso ai GitHub Models
**Docsify non serve la documentazione**:
- Installare docsify-cli globalmente: `npm install -g docsify-cli`
- Eseguire dalla directory root del repository
- Verificare che `docs/_sidebar.md` esista
- Installa docsify-cli globalmente: `npm install -g docsify-cli`
- Esegui dalla directory radice del repository
- Verifica che `docs/_sidebar.md` esista
### Consigli per lAmbiente di Sviluppo
- Usare VS Code con estensione Live Server per progetti HTML
- Installare estensioni ESLint e Prettier per formattazione coerente
- Usare DevTools del browser per il debug di JavaScript
- Per progetti Vue, installare lestensione Vue DevTools per browser
- Usa VS Code con lestensione Live Server per progetti HTML
- Installa le estensioni ESLint e Prettier per formato coerente
- Usa DevTools del browser per il debug di JavaScript
- Per progetti Vue, installa lestensione Vue DevTools per browser
### Considerazioni sulle Prestazioni
- Lalto numero di file tradotti (oltre 50 lingue) rende i cloni completi grandi
- Usare clone superficiale se si lavora solo sui contenuti: `git clone --depth 1`
- Escludere le traduzioni dalle ricerche quando si lavora sul contenuto in inglese
- Lelevato numero di file tradotti (50+ lingue) fa sì che i clone completi siano grandi
- Usa clone shallow se lavori solo su contenuti: `git clone --depth 1`
- Escludi le traduzioni dalle ricerche se lavori sul contenuto inglese
- I processi di build possono essere lenti al primo avvio (npm install, build Vite)
## Considerazioni sulla Sicurezza
## Considerazioni di Sicurezza
### Variabili dAmbiente
- Le chiavi API non devono mai essere commesse nel repository
- Usare file `.env` (già in `.gitignore`)
- Documentare le variabili ambiente necessarie nei README dei progetti
- Le chiavi API non devono mai essere impegnate nel repository
- Usa file `.env` (già in `.gitignore`)
- Documenta le variabili dambiente richieste nei README dei progetti
### Progetti Python
- Usare ambienti virtuali: `python -m venv venv`
- Mantenere aggiornate le dipendenze
- Usa ambienti virtuali: `python -m venv venv`
- Mantieni le dipendenze aggiornate
- I token GitHub devono avere permessi minimi necessari
### Accesso ai Modelli GitHub
### Accesso ai GitHub Models
- I token di accesso personale (PAT) sono richiesti per i Modelli GitHub
- I token devono essere memorizzati come variabili dambiente
- Mai commettere token o credenziali
- Sono necessari Personal Access Token (PAT) per i GitHub Models
- I token devono essere salvati come variabili dambiente
- Mai impegnare token o credenziali
## Note Aggiuntive
### Pubblico Target
- Principianti assoluti allo sviluppo web
- Principianti completi nello sviluppo web
- Studenti e autodidatti
- Insegnanti che usano il curriculum in aula
- Contenuti progettati per accessibilità e costruzione graduale delle competenze
- Insegnanti che usano il curriculum in classe
- Contenuti progettati per accessibilità e sviluppo graduale delle competenze
### Filosofia Educativa
- Approccio di apprendimento basato su progetti
- Verifiche frequenti della conoscenza (quiz)
- Esercizi pratici di programmazione
- Esercizi pratici di coding
- Esempi di applicazioni reali
- Focus sulle basi prima dei framework
@ -373,36 +373,36 @@ CO_OP_TRANSLATOR_METADATA:
- Comunità attiva di studenti e collaboratori
- Aggiornamenti regolari di dipendenze e contenuti
- Issue e discussioni monitorate dai mantenitori
- Aggiornamenti delle traduzioni automatizzati tramite GitHub Actions
- Monitoraggio di issue e discussioni da parte dei manutentori
- Aggiornamenti di traduzione automatizzati tramite GitHub Actions
### Risorse Correlate
- [Moduli Microsoft Learn](https://docs.microsoft.com/learn/)
- [Risorse Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) consigliato per gli studenti
- Corsi aggiuntivi: Generative AI, Data Science, ML, curricula IoT disponibili
- Corsi aggiuntivi: curricula di AI generativa, Data Science, ML, IoT disponibili
### Lavorare con Progetti Specifici
Per istruzioni dettagliate su singoli progetti, fare riferimento ai file README in:
Per istruzioni dettagliate su singoli progetti, consulta i file README in:
- `quiz-app/README.md` - Applicazione quiz Vue 3
- `7-bank-project/README.md` - Applicazione bancaria con autenticazione
- `5-browser-extension/README.md` - Sviluppo estensione browser
- `6-space-game/README.md` - Sviluppo gioco su canvas
- `6-space-game/README.md` - Sviluppo gioco basato su canvas
- `9-chat-project/README.md` - Progetto assistente chat AI
### Struttura Monorepo
Pur non essendo un monorepo tradizionale, questo repository contiene più progetti indipendenti:
- Ogni lezione è autoconclusiva
Pur non essendo un monorepo tradizionale, questo repository contiene molti progetti indipendenti:
- Ogni lezione è autonoma
- I progetti non condividono dipendenze
- Lavorare su singoli progetti senza influenzare gli altri
- Clonare lintero repo per fruire del curriculum completo
- Lavora su singoli progetti senza influenzare gli altri
- Clona lintero repo per lesperienza completa del curriculum
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica AI [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per garantire laccuratezza, si prega di tenere presente che le traduzioni automatiche possono contenere errori o inesattezze. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un esperto. Non ci assumiamo alcuna responsabilità per incomprensioni o interpretazioni errate derivanti dalluso di questa traduzione.
Questo documento è stato tradotto utilizzando il servizio di traduzione AI [Co-op Translator](https://github.com/Azure/co-op-translator). Pur impegnandoci per garantire laccuratezza, si prega di notare che le traduzioni automatizzate possono contenere errori o inesattezze. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche, si consiglia una traduzione professionale eseguita da un umano. Non ci assumiamo alcuna responsabilità per eventuali malintesi o interpretazioni errate derivanti dalluso di questa traduzione.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T08:30:13+00:00",
"translation_date": "2026-02-06T11:23:58+00:00",
"source_file": "AGENTS.md",
"language_code": "pt-BR"
},

@ -2,20 +2,20 @@
## Visão Geral do Projeto
Este é um repositório de currículo educacional para ensinar fundamentos de desenvolvimento web para iniciantes. O currículo é um curso abrangente de 12 semanas desenvolvido por Microsoft Cloud Advocates, com 24 aulas práticas cobrindo JavaScript, CSS e HTML.
Este é um repositório curricular educacional para ensinar fundamentos de desenvolvimento web para iniciantes. O currículo é um curso abrangente de 12 semanas desenvolvido pelos Microsoft Cloud Advocates, com 24 aulas práticas que cobrem JavaScript, CSS e HTML.
### Componentes Principais
- **Conteúdo Educacional**: 24 aulas estruturadas organizadas em módulos baseados em projetos
- **Projetos Práticos**: Terrário, Jogo de Digitação, Extensão de Navegador, Jogo Espacial, Aplicativo Bancário, Editor de Código e Assistente de Chat AI
- **Quizzes Interativos**: 48 quizzes com 3 perguntas cada (avaliações pré e pós-aula)
- **Suporte Multilíngue**: Traduções automáticas para mais de 50 idiomas via GitHub Actions
- **Tecnologias**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para projetos de AI)
- **Projetos Práticos**: Terrarium, Jogo de Digitação, Extensão de Navegador, Jogo Espacial, Aplicativo Bancário, Editor de Código e Assistente de Chat com IA
- **Quizzes Interativos**: 48 quizzes com 3 perguntas cada (avaliações pré e pós aula)
- **Suporte Multilíngue**: Traduções automatizadas para mais de 50 idiomas via GitHub Actions
- **Tecnologias**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para projetos de IA)
### Arquitetura
- Repositório educacional com estrutura baseada em aulas
- Cada pasta de aula contém README, exemplos de código e soluções
- Cada pasta da aula contém README, exemplos de código e soluções
- Projetos independentes em diretórios separados (quiz-app, vários projetos de aula)
- Sistema de tradução usando GitHub Actions (co-op-translator)
- Documentação servida via Docsify e disponível em PDF
@ -41,7 +41,7 @@ npm run build # Construir para produção
npm run lint # Executar ESLint
```
### Projeto API do Banco (Node.js + Express)
### API do Projeto Bancário (Node.js + Express)
```bash
cd 7-bank-project/api
@ -51,15 +51,15 @@ npm run lint # Executar ESLint
npm run format # Formatar com Prettier
```
### Projetos de Extensão de Navegador
### Projetos de Extensão para Navegador
```bash
cd 5-browser-extension/solution
npm install
# Siga as instruções específicas do navegador para carregar a extensão
# Siga as instruções específicas do navegador para carregar extensões
```
### Projetos de Jogo Espacial
### Projetos do Jogo Espacial
```bash
cd 6-space-game/solution
@ -67,12 +67,12 @@ npm install
# Abra index.html no navegador ou use o Live Server
```
### Projeto de Chat (Backend Python)
### Projeto de Chat (Backend em Python)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Defina a variável de ambiente GITHUB_TOKEN
# Definir a variável de ambiente GITHUB_TOKEN
python api.py
```
@ -80,19 +80,19 @@ python api.py
### Para Contribuidores de Conteúdo
1. **Faça um fork do repositório** para sua conta no GitHub
1. **Faça um fork** do repositório para sua conta do GitHub
2. **Clone seu fork** localmente
3. **Crie uma nova branch** para suas alterações
4. Faça mudanças no conteúdo das aulas ou exemplos de código
5. Teste quaisquer alterações de código nos diretórios dos projetos relevantes
5. Teste quaisquer mudanças de código nos diretórios de projeto relevantes
6. Envie pull requests seguindo as diretrizes de contribuição
### Para Aprendizes
1. Faça fork ou clone do repositório
2. Navegue sequentialmente pelos diretórios das aulas
2. Navegue para os diretórios das aulas sequencialmente
3. Leia os arquivos README de cada aula
4. Complete os quizzes pré-aula em https://ff-quizzes.netlify.app/web/
4. Complete quizzes pré-aula em https://ff-quizzes.netlify.app/web/
5. Trabalhe nos exemplos de código nas pastas das aulas
6. Complete tarefas e desafios
7. Faça os quizzes pós-aula
@ -102,19 +102,19 @@ python api.py
- **Documentação**: Execute `docsify serve` na raiz (porta 3000)
- **Quiz App**: Execute `npm run dev` no diretório quiz-app
- **Projetos**: Use a extensão Live Server do VS Code para projetos HTML
- **Projetos API**: Execute `npm start` nos diretórios API respectivos
- **Projetos API**: Execute `npm start` nos respectivos diretórios de API
## Instruções de Teste
## Instruções para Testes
### Teste do Quiz App
### Testes do Quiz App
```bash
cd quiz-app
npm run lint # Verificar problemas de estilo de código
npm run build # Verificar se a construção é bem-sucedida
npm run build # Verificar se a compilação foi bem-sucedida
```
### Teste da API do Banco
### Testes da API Bancária
```bash
cd 7-bank-project/api
@ -124,19 +124,19 @@ node server.js # Verifique se o servidor inicia sem erros
### Abordagem Geral de Teste
- Este é um repositório educacional sem testes automatizados completos
- Este é um repositório educacional sem testes automatizados abrangentes
- Testes manuais focam em:
- Exemplos de código rodando sem erros
- Links na documentação funcionando corretamente
- Builds dos projetos completando com sucesso
- Exemplos seguindo boas práticas
- Exemplos de código que executam sem erros
- Links na documentação funcionam corretamente
- Build dos projetos completam com sucesso
- Exemplos seguem as melhores práticas
### Verificações Pré-envio
### Verificações Antes da Submissão
- Execute `npm run lint` em diretórios com package.json
- Execute `npm run lint` nos diretórios que possuem package.json
- Verifique se os links markdown são válidos
- Teste os exemplos de código no navegador ou Node.js
- Confira se traduções mantêm a estrutura correta
- Certifique-se de que as traduções mantêm a estrutura adequada
## Diretrizes de Estilo de Código
@ -145,21 +145,21 @@ node server.js # Verifique se o servidor inicia sem erros
- Use sintaxe moderna ES6+
- Siga as configurações padrão do ESLint fornecidas nos projetos
- Use nomes significativos para variáveis e funções para clareza educacional
- Adicione comentários explicativos para os aprendizes
- Formate com Prettier onde configurado
- Adicione comentários explicando conceitos para aprendizes
- Formate usando Prettier onde configurado
### HTML/CSS
- Elementos semânticos HTML5
- Princípios de design responsivo
- Convenções claras de nomes de classes
- Convenções claras de nomenclatura de classes
- Comentários explicando técnicas CSS para aprendizes
### Python
- Diretrizes de estilo PEP 8
- Exemplos de código claros e educacionais
- Tipos (type hints) onde úteis para aprendizado
- Exemplos de código claros e educativos
- Tipagem (type hints) quando útil para o aprendizado
### Documentação Markdown
@ -173,19 +173,19 @@ node server.js # Verifique se o servidor inicia sem erros
- Aulas numeradas sequencialmente (1-getting-started-lessons, 2-js-basics, etc.)
- Cada projeto tem diretórios `solution/` e frequentemente `start/` ou `your-work/`
- Imagens armazenadas nas pastas `images/` específicas das aulas
- Imagens armazenadas nas pastas `images/` específicas de cada aula
- Traduções na estrutura `translations/{language-code}/`
## Build e Deploy
## Build e Implantação
### Deploy do Quiz App (Azure Static Web Apps)
### Implantação do Quiz App (Azure Static Web Apps)
O quiz-app está configurado para deployment no Azure Static Web Apps:
O quiz-app está configurado para implantação no Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Cria a pasta dist/
# Faz o deploy via fluxo de trabalho do GitHub Actions ao dar push no main
# Faz o deploy via workflow do GitHub Actions no push para a branch main
```
Configuração do Azure Static Web Apps:
@ -196,8 +196,8 @@ Configuração do Azure Static Web Apps:
### Geração de PDF da Documentação
```bash
npm install # Instale o docsify-to-pdf
npm run convert # Gere PDF a partir do docs
npm install # Instalar docsify-to-pdf
npm run convert # Gerar PDF a partir dos docs
```
### Documentação Docsify
@ -207,72 +207,72 @@ npm install -g docsify-cli # Instalar Docsify globalmente
docsify serve # Servir em localhost:3000
```
### Builds específicos de projeto
### Builds Específicos de Projeto
Cada diretório de projeto pode ter seu próprio processo de build:
- Projetos Vue: `npm run build` cria bundles para produção
- Projetos estáticos: Nenhum passo de build, serve arquivos diretamente
- Projetos Vue: `npm run build` cria bundles de produção
- Projetos estáticos: Sem etapa de build, serve arquivos diretamente
## Diretrizes para Pull Request
## Diretrizes para Pull Requests
### Formatação do Título
### Formato do Título
Use títulos claros e descritivos indicando a área da mudança:
- `[Quiz-app] Adiciona novo quiz para a aula X`
- `[Lesson-3] Corrige erro de digitação no projeto terrário`
- `[Translation] Adiciona tradução para espanhol na aula 5`
- `[Docs] Atualiza instruções de configuração`
- `[Quiz-app] Adicionar novo quiz para a aula X`
- `[Lesson-3] Corrigir erro de digitação no projeto terrarium`
- `[Translation] Adicionar tradução para espanhol na aula 5`
- `[Docs] Atualizar instruções de configuração`
### Verificações Obrigatórias
### Verificações Necessárias
Antes de enviar um PR:
1. **Qualidade de Código**:
1. **Qualidade do Código**:
- Execute `npm run lint` nos diretórios afetados
- Corrija todos erros e avisos do lint
- Corrija todos os erros e avisos do lint
2. **Verificação do Build**:
- Execute `npm run build`, se aplicável
- Garanta que não haja erros no build
- Execute `npm run build` se aplicável
- Certifique-se de que não há erros de build
3. **Validação de Links**:
3. **Validação dos Links**:
- Teste todos os links markdown
- Verifique se as imagens são referenciadas corretamente
- Verifique funcionamento das referências de imagem
4. **Revisão de Conteúdo**:
- Revisão ortográfica e gramatical
- Certifique-se que os exemplos de código estão corretos e educativos
- Verifique se traduções mantêm o significado original
- Revise ortografia e gramática
- Assegure que os exemplos de código estão corretos e educativos
- Verifique se as traduções mantêm o significado original
### Requisitos para Contribuição
- Concordar com o CLA da Microsoft (verificação automática no primeiro PR)
- Aceitar o CLA da Microsoft (verificação automática no primeiro PR)
- Seguir o [Código de Conduta Open Source da Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Veja [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Referenciar números de issues na descrição do PR, se aplicável
- Confira o [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Referencie números de issues na descrição do PR, se aplicável
### Processo de Revisão
- PRs são revisados por mantenedores e comunidade
- Clareza educacional é priorizada
- Clareza educacional é prioridade
- Exemplos de código devem seguir as melhores práticas atuais
- Traduções revisadas quanto à precisão e adequação cultural
- Traduções são revisadas para precisão e adequação cultural
## Sistema de Tradução
### Tradução Automática
### Tradução Automatizada
- Usa GitHub Actions com workflow co-op-translator
- Traduz automaticamente para mais de 50 idiomas
- Tradução automática para mais de 50 idiomas
- Arquivos fonte nos diretórios principais
- Arquivos traduzidos em `translations/{language-code}/`
- Arquivos traduzidos em diretórios `translations/{language-code}/`
### Adicionando Melhorias Manuais de Tradução
### Adicionando Melhorias Manuais nas Traduções
1. Localize o arquivo em `translations/{language-code}/`
2. Faça melhorias preservando a estrutura
3. Garanta que exemplos de código continuem funcionais
4. Teste conteúdo de quiz localizado
3. Assegure que exemplos de código continuam funcionando
4. Teste qualquer conteúdo de quiz localizado
### Metadados de Tradução
@ -289,56 +289,56 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Depuração e Resolução de Problemas
## Depuração e Solução de Problemas
### Problemas Comuns
**Quiz app não inicia**:
**App de quiz não inicia**:
- Verifique a versão do Node.js (recomendado v14+)
- Apague `node_modules` e `package-lock.json`, execute `npm install` novamente
- Verifique conflitos de porta (padrão: Vite usa porta 5173)
- Delete `node_modules` e `package-lock.json`, execute `npm install` novamente
- Verifique conflito de portas (padrão: Vite usa porta 5173)
**Servidor API não inicia**:
- Verifique se a versão do Node.js atende ao mínimo (node >=10)
- Confira se a porta já está em uso
- Garanta todas dependências instaladas com `npm install`
- Verifique se versão do Node.js atende mínimo (node >=10)
- Cheque se a porta já está em uso
- Certifique-se que todas as dependências foram instaladas com `npm install`
**Extensão de navegador não carrega**:
- Verifique se manifest.json está corretamente formatado
- Cheque erros no console do navegador
- Siga instruções específicas de instalação para o navegador
- Verifique se manifest.json está formatado corretamente
- Consulte console do navegador para erros
- Siga instruções específicas para instalação da extensão no navegador
**Problemas no projeto de chat Python**:
- Certifique-se que o pacote OpenAI está instalado: `pip install openai`
- Verifique se a variável ambiente GITHUB_TOKEN está configurada
- Confira permissões de acesso aos modelos GitHub
- Confirme que pacote OpenAI está instalado: `pip install openai`
- Verifique se variável de ambiente GITHUB_TOKEN está configurada
- Confira permissões de acesso do GitHub Models
**Docsify não serve a documentação**:
- Instale o docsify-cli globalmente: `npm install -g docsify-cli`
- Execute a partir da raiz do repositório
- Verifique se `docs/_sidebar.md` existe
- Instale docsify-cli globalmente: `npm install -g docsify-cli`
- Rode a partir do diretório raiz do repositório
- Confirme que `docs/_sidebar.md` existe
### Dicas para Ambiente de Desenvolvimento
- Use VS Code com extensão Live Server para projetos HTML
- Instale extensões ESLint e Prettier para formatação consistente
- Utilize DevTools do navegador para depurar JavaScript
- Para projetos Vue, instale a extensão Vue DevTools no navegador
- Use DevTools do navegador para depuração de JavaScript
- Para projetos Vue, instale extensão Vue DevTools no navegador
### Considerações de Performance
- Grande número de arquivos traduzidos (mais de 50 idiomas) torna clones completos grandes
- Use clone raso se trabalhar apenas no conteúdo: `git clone --depth 1`
- Exclua traduções de buscas quando trabalhar com conteúdo em inglês
- Processos de build podem ser lentos na primeira execução (npm install, build Vite)
- Grande número de arquivos traduzidos (50+ idiomas) torna clones completos grandes
- Use clone superficial se for trabalhar somente com conteúdo: `git clone --depth 1`
- Exclua traduções de buscas ao trabalhar com conteúdo em inglês
- Processos de build podem ser lentos na primeira execução (npm install, build do Vite)
## Considerações de Segurança
### Variáveis de Ambiente
- Chaves de API nunca devem ser commitadas no repositório
- Use arquivos `.env` (já em `.gitignore`)
- Documente as variáveis de ambiente necessárias nos READMEs dos projetos
- Use arquivos `.env` (já incluídos no `.gitignore`)
- Documente variáveis de ambiente necessárias nos README dos projetos
### Projetos Python
@ -346,34 +346,34 @@ CO_OP_TRANSLATOR_METADATA:
- Mantenha dependências atualizadas
- Tokens do GitHub devem ter permissões mínimas necessárias
### Acesso aos Modelos do GitHub
### Acesso ao GitHub Models
- Tokens de Acesso Pessoal (PAT) necessários para Modelos GitHub
- Tokens pessoais de acesso (PAT) são necessários para acessar GitHub Models
- Tokens devem ser armazenados como variáveis de ambiente
- Nunca commit tokens ou credenciais
- Nunca faça commit de tokens ou credenciais
## Notas Adicionais
### Público Alvo
### Público-alvo
- Iniciantes completos em desenvolvimento web
- Estudantes e autodidatas
- Professores utilizando o currículo em salas de aula
- Professores usando o currículo em sala de aula
- Conteúdo projetado para acessibilidade e construção gradual de habilidades
### Filosofia Educacional
- Abordagem baseada em projetos
- Abordagem de aprendizagem baseada em projetos
- Verificações frequentes de conhecimento (quizzes)
- Exercícios práticos de codificação
- Exercícios práticos de programação
- Exemplos de aplicação no mundo real
- Foco nos fundamentos antes dos frameworks
### Manutenção do Repositório
- Comunidade ativa de aprendizes e contribuidores
- Atualizações regulares de dependências e conteúdo
- Issues e discussões monitoradas por mantenedores
- Comunidade ativa de aprendizes e colaboradores
- Atualizações regulares nas dependências e conteúdo
- Monitoramento de issues e discussões pelos mantenedores
- Atualizações de tradução automatizadas via GitHub Actions
### Recursos Relacionados
@ -381,28 +381,28 @@ CO_OP_TRANSLATOR_METADATA:
- [Módulos Microsoft Learn](https://docs.microsoft.com/learn/)
- [Recursos do Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recomendado para aprendizes
- Cursos adicionais: AI Generativa, Data Science, ML, currículos IoT disponíveis
- Cursos adicionais: IA Generativa, Ciência de Dados, ML, currículos de IoT disponíveis
### Trabalhando com Projetos Específicos
Para instruções detalhadas sobre projetos individuais, consulte os arquivos README em:
- `quiz-app/README.md` - aplicação de quiz Vue 3
- `7-bank-project/README.md` - aplicativo bancário com autenticação
- `5-browser-extension/README.md` - desenvolvimento de extensão de navegador
- `6-space-game/README.md` - desenvolvimento de jogo baseado em canvas
- `9-chat-project/README.md` - projeto assistente de chat AI
- `quiz-app/README.md` - Aplicação de quiz Vue 3
- `7-bank-project/README.md` - Aplicativo bancário com autenticação
- `5-browser-extension/README.md` - Desenvolvimento de extensão para navegador
- `6-space-game/README.md` - Desenvolvimento de jogo baseado em canvas
- `9-chat-project/README.md` - Projeto de assistente de chat com IA
### Estrutura Monorepo
Embora não seja um monorepo tradicional, este repositório contém múltiplos projetos independentes:
- Cada aula é autônoma
- Cada aula é auto-suficiente
- Projetos não compartilham dependências
- Trabalhe em projetos individuais sem afetar os outros
- Clone o repositório inteiro para a experiência completa do currículo
- Trabalhe em projetos individuais sem impactar os outros
- Clone o repositório completo para a experiência curricular completa
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Aviso Legal**:
Este documento foi traduzido utilizando o serviço de tradução automática [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em sua língua nativa deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução.
Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos pela precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução humana profissional. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2026-02-06T08:29:06+00:00",
"translation_date": "2026-02-06T11:22:54+00:00",
"source_file": "AGENTS.md",
"language_code": "pt-PT"
},

@ -2,14 +2,14 @@
## Visão Geral do Projeto
Este é um repositório de currículo educacional para ensino dos fundamentos do desenvolvimento web a iniciantes. O currículo é um curso abrangente de 12 semanas desenvolvido por Microsoft Cloud Advocates, com 24 lições práticas cobrindo JavaScript, CSS e HTML.
Este é um repositório curricular educativo para ensinar fundamentos de desenvolvimento web a iniciantes. O currículo é um curso abrangente de 12 semanas desenvolvido pelos Microsoft Cloud Advocates, com 24 lições práticas cobrindo JavaScript, CSS e HTML.
### Componentes Principais
- **Conteúdo Educativo**: 24 lições estruturadas organizadas em módulos baseados em projetos
- **Projetos Práticos**: Terrário, Jogo de Digitação, Extensão de Navegador, Jogo Espacial, Aplicação Bancária, Editor de Código e Assistente de Chat com IA
- **Questionários Interativos**: 48 questionários com 3 perguntas cada (avaliações pré/pós-lição)
- **Suporte Multilíngue**: Traduções automáticas para mais de 50 idiomas via GitHub Actions
- **Conteúdo Educacional**: 24 lições estruturadas organizadas em módulos baseados em projetos
- **Projetos Práticos**: Terrarium, Jogo de Digitação, Extensão de Navegador, Jogo Espacial, Aplicação Bancária, Editor de Código e Assistente de Chat com IA
- **Questionários Interativos**: 48 quizzes com 3 perguntas cada (avaliações pré e pós lição)
- **Suporte Multilíngue**: Traduções automáticas para mais de 50 línguas via GitHub Actions
- **Tecnologias**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para projetos de IA)
### Arquitetura
@ -18,11 +18,11 @@ Este é um repositório de currículo educacional para ensino dos fundamentos do
- Cada pasta de lição contém README, exemplos de código e soluções
- Projetos independentes em diretórios separados (quiz-app, vários projetos de lições)
- Sistema de tradução usando GitHub Actions (co-op-translator)
- Documentação servida via Docsify e disponível em PDF
- Documentação servida via Docsify e disponível como PDF
## Comandos de Configuração
Este repositório é principalmente para consumo de conteúdo educativo. Para trabalhar com projetos específicos:
Este repositório destina-se principalmente ao consumo de conteúdo educativo. Para trabalhar com projetos específicos:
### Configuração Principal do Repositório
@ -31,13 +31,13 @@ git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Configuração do Quiz App (Vue 3 + Vite)
### Configuração Quiz App (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # Iniciar servidor de desenvolvimento
npm run build # Compilar para produção
npm run build # Construir para produção
npm run lint # Executar ESLint
```
@ -48,7 +48,7 @@ cd 7-bank-project/api
npm install
npm start # Iniciar servidor API
npm run lint # Executar ESLint
npm run format # Formatar com Prettier
npm run format # Formatado com Prettier
```
### Projetos de Extensão de Navegador
@ -59,7 +59,7 @@ npm install
# Siga as instruções específicas do navegador para carregar extensões
```
### Projetos do Jogo Espacial
### Projetos de Jogo Espacial
```bash
cd 6-space-game/solution
@ -67,7 +67,7 @@ npm install
# Abra index.html no navegador ou use o Live Server
```
### Projeto de Chat (Backend Python)
### Projeto de Chat (Backend em Python)
```bash
cd 9-chat-project/solution/backend/python
@ -78,35 +78,35 @@ python api.py
## Fluxo de Trabalho de Desenvolvimento
### Para Contribuidores de Conteúdo
### Para Contribuintes de Conteúdo
1. **Fork do repositório** para a sua conta GitHub
2. **Clone o seu fork** localmente
3. **Crie uma nova branch** para suas alterações
3. **Crie uma nova branch** para as suas alterações
4. Faça alterações no conteúdo das lições ou exemplos de código
5. Teste quaisquer alterações de código nos diretórios relevantes dos projetos
5. Teste quaisquer alterações de código nos diretórios dos projetos relevantes
6. Submeta pull requests seguindo as diretrizes de contribuição
### Para Aprendizes
1. Fork ou clone o repositório
1. Faça fork ou clone do repositório
2. Navegue sequencialmente pelos diretórios das lições
3. Leia os ficheiros README de cada lição
4. Complete os questionários pré-lição em https://ff-quizzes.netlify.app/web/
5. Trabalhe com os exemplos de código nas pastas das lições
4. Complete os quizzes pré-lição em https://ff-quizzes.netlify.app/web/
5. Trabalhe os exemplos de código nas pastas das lições
6. Complete tarefas e desafios
7. Faça os questionários pós-lição
7. Faça os quizzes pós-lição
### Desenvolvimento em Tempo Real
- **Documentação**: Execute `docsify serve` na raiz (porta 3000)
- **Quiz App**: Execute `npm run dev` no diretório quiz-app
- **Projetos**: Use a extensão Live Server do VS Code para projetos HTML
- **Projetos API**: Execute `npm start` nos diretórios API correspondentes
- **APIs**: Execute `npm start` nos respetivos diretórios das APIs
## Instruções de Teste
## Instruções de Testes
### Teste do Quiz App
### Testes do Quiz App
```bash
cd quiz-app
@ -114,7 +114,7 @@ npm run lint # Verificar problemas de estilo de código
npm run build # Verificar se a compilação é bem-sucedida
```
### Teste da API do Banco
### Testes da API Bancária
```bash
cd 7-bank-project/api
@ -124,73 +124,73 @@ node server.js # Verificar se o servidor inicia sem erros
### Abordagem Geral de Testes
- Este é um repositório educacional sem testes automáticos abrangentes
- O teste manual foca em:
- Exemplos de código executar sem erros
- Links na documentação funcionarem corretamente
- Compilações de projetos serem concluídas com sucesso
- Exemplos seguirem as melhores práticas
- Este é um repositório educativo sem testes automatizados completos
- Testes manuais focam em:
- Exemplos de código sem erros na execução
- Links na documentação funcionais
- Compilação bem-sucedida dos projetos
- Exemplos que seguem as melhores práticas
### Verificações Pré-submissão
### Verificações Antes da Submissão
- Execute `npm run lint` nos diretórios com package.json
- Verifique se os links markdown estão válidos
- Teste exemplos de código no browser ou Node.js
- Execute `npm run lint` em diretórios com package.json
- Verifique se os links markdown são válidos
- Teste exemplos de código no navegador ou Node.js
- Confirme que traduções mantêm a estrutura correta
## Diretrizes de Estilo de Código
### JavaScript
- Use sintaxe moderna ES6+
- Siga as configurações padrão do ESLint fornecidas nos projetos
- Use nomes de variáveis e funções significativos para clareza educativa
- Adicione comentários explicando conceitos para os aprendizes
- Formate usando Prettier onde configurado
- Utilize sintaxe moderna ES6+
- Siga as configurações padrão ESLint fornecidas nos projetos
- Use nomes significativos para variáveis e funções para maior clareza educativa
- Adicione comentários explicativos para os conceitos apresentados aos alunos
- Formate com Prettier onde estiver configurado
### HTML/CSS
- Elementos semânticos HTML5
- Use elementos HTML5 semânticos
- Princípios de design responsivo
- Convenções claras de nomes de classes
- Comentários explicando técnicas CSS para aprendizes
- Comentários que explicam técnicas CSS para os aprendizes
### Python
- Diretrizes de estilo PEP 8
- Exemplos de código claros e educativos
- Dicas de tipo onde úteis para o aprendizado
- Código claro e educativo
- Dicas de tipos onde úteis para aprendizagem
### Documentação Markdown
- Hierarquia clara de títulos
- Hierarquia clara de cabeçalhos
- Blocos de código com especificação de linguagem
- Links para recursos adicionais
- Capturas de ecrã e imagens nas pastas `images/`
- Texto alternativo para imagens para acessibilidade
- Texto alternativo nas imagens para acessibilidade
### Organização de Ficheiros
- Lições numeradas sequencialmente (1-getting-started-lessons, 2-js-basics, etc.)
- Cada projeto tem diretórios `solution/` e frequentemente `start/` ou `your-work/`
- Imagens armazenadas em pastas `images/` específicas de cada lição
- Traduções em estrutura `translations/{language-code}/`
- Imagens armazenadas nas pastas `images/` específicas de cada lição
- Traduções na estrutura `translations/{language-code}/`
## Construção e Implantação
## Construção e Implementação
### Implantação do Quiz App (Azure Static Web Apps)
### Implementação do Quiz App (Azure Static Web Apps)
O quiz-app está configurado para implantação em Azure Static Web Apps:
O quiz-app está configurado para deployment no Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Cria a pasta dist/
# Desdobra através do fluxo de trabalho do GitHub Actions ao fazer push para main
# Desdobra através do fluxo de trabalho do GitHub Actions ao fazer push para a branch main
```
Configuração Azure Static Web Apps:
- **Localização da app**: `/quiz-app`
- **Localização da saída**: `dist`
Configuração do Azure Static Web Apps:
- **Localização da App**: `/quiz-app`
- **Localização de saída**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Geração de PDF da Documentação
@ -203,80 +203,80 @@ npm run convert # Gerar PDF a partir do docs
### Documentação Docsify
```bash
npm install -g docsify-cli # Instalar Docsify globalmente
npm install -g docsify-cli # Instalar o Docsify globalmente
docsify serve # Servir em localhost:3000
```
### Compilações Específicas de Projeto
### Builds Específicos de Projetos
Cada diretório de projeto pode ter seu próprio processo de build:
Cada diretório de projeto pode ter o seu próprio processo de build:
- Projetos Vue: `npm run build` cria bundles de produção
- Projetos estáticos: Sem etapa de build, serve os ficheiros diretamente
- Projetos estáticos: Sem passo de build, servir os ficheiros diretamente
## Diretrizes para Pull Requests
### Formato do Título
Use títulos claros e descritivos indicando a área da alteração:
- `[Quiz-app] Adicionar novo quiz para lição X`
- `[Lesson-3] Corrigir erro tipográfico no projeto terrário`
- `[Translation] Adicionar tradução em espanhol para lição 5`
- `[Quiz-app] Adicionar novo quiz para a lição X`
- `[Lição-3] Corrigir erro de digitação no projeto terrarium`
- `[Tradução] Adicionar tradução para espanhol na lição 5`
- `[Docs] Atualizar instruções de configuração`
### Verificações Obrigatórias
### Verificações Requeridas
Antes de submeter um PR:
1. **Qualidade do Código**:
- Execute `npm run lint` nos diretórios de projeto afetados
- Corrija todos os erros e avisos do lint
- Execute `npm run lint` nos diretórios dos projetos afetados
- Corrija todos os erros e avisos de lint
2. **Verificação de Build**:
- Execute `npm run build` se aplicável
- Assegure-se de que não há erros de build
- Assegure que não haja erros de build
3. **Validação de Links**:
- Teste todos os links markdown
- Verifique referências de imagem
- Verifique se referências a imagens funcionam
4. **Revisão de Conteúdo**:
- Revise ortografia e gramática
- Garanta que exemplos de código estão corretos e educativos
- Verifique se as traduções mantêm o significado original
- Confirme que traduções mantêm o significado original
### Requisitos para Contribuição
- Concordar com o Microsoft CLA (verificação automática no primeiro PR)
- Seguir o [Código de Conduta Open Source da Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Consulte [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Referencie números de issues na descrição do PR, se aplicável
- Consultar [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Referenciar números de issues na descrição do PR quando aplicável
### Processo de Revisão
- PRs revisados por mantenedores e comunidade
- Clareza educativa é prioridade
- PRs revistos por mantenedores e comunidade
- Prioridade na clareza educativa
- Exemplos de código devem seguir as melhores práticas atuais
- Traduções revisadas quanto à precisão e adequação cultural
- Traduções revistas quanto à precisão e adequação cultural
## Sistema de Tradução
### Tradução Automatizada
### Tradução Automática
- Usa GitHub Actions com workflow co-op-translator
- Traduz automaticamente para mais de 50 idiomas
- Arquivos fonte nos diretórios principais
- Arquivos traduzidos em `translations/{language-code}/`
- Traduções automáticas para mais de 50 línguas
- Ficheiros fonte nas pastas principais
- Ficheiros traduzidos em diretórios `translations/{language-code}/`
### Adição de Melhorias Manuais nas Traduções
### Adição de Melhorias Manuais à Tradução
1. Localize o ficheiro em `translations/{language-code}/`
2. Faça melhorias preservando a estrutura
3. Assegure que os exemplos de código permanecem funcionais
4. Teste qualquer conteúdo de questionário localizado
3. Assegure que exemplos de código permanecem funcionais
4. Teste qualquer conteúdo de quiz localizado
### Metadados da Tradução
### Metadados das Traduções
Arquivos traduzidos incluem um cabeçalho de metadados:
Ficheiros traduzidos incluem header de metadados:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -293,116 +293,116 @@ CO_OP_TRANSLATOR_METADATA:
### Problemas Comuns
**Quiz app não inicia**:
- Verifique a versão do Node.js (recomenda-se v14+)
**A app do quiz não inicia**:
- Verifique a versão do Node.js (recomendado v14+)
- Apague `node_modules` e `package-lock.json`, execute `npm install` novamente
- Verifique conflitos de porta (padrão: Vite usa a porta 5173)
- Verifique conflitos de porta (por defeito: Vite usa a porta 5173)
**Servidor API não inicia**:
- Verifique se a versão do Node.js é mínima (node >=10)
- Confirme se a porta já está em uso
- Confirme que a versão do Node.js é a mínima requerida (node >=10)
- Verifique se a porta está em uso
- Garanta que todas as dependências estão instaladas com `npm install`
**Extensão de navegador não carrega**:
- Verifique se o manifesto.json está formatado corretamente
- Verifique erros na consola do navegador
- Verifique se manifest.json está corretamente formatado
- Revise a consola do navegador por erros
- Siga instruções específicas para instalação da extensão no navegador
**Problemas no projeto de chat Python**:
**Problemas no projeto Python chat**:
- Certifique-se que o pacote OpenAI está instalado: `pip install openai`
- Verifique se a variável ambiente GITHUB_TOKEN está definida
- Cheque permissões de acesso ao GitHub Models
- Verifique se a variável de ambiente GITHUB_TOKEN está definida
- Confirme permissões de acesso aos Models do GitHub
**Docsify não serve a documentação**:
**Docsify não serve documentação**:
- Instale docsify-cli globalmente: `npm install -g docsify-cli`
- Execute a partir do diretório raiz do repositório
- Verifique que `docs/_sidebar.md` existe
- Verifique a existência do ficheiro `docs/_sidebar.md`
### Dicas para Ambiente de Desenvolvimento
- Use VS Code com extensão Live Server para projetos HTML
- Instale extensões ESLint e Prettier para formatação consistente
- Use DevTools do navegador para depurar JavaScript
- Para projetos Vue, instale extensão Vue DevTools no navegador
- Instale as extensões ESLint e Prettier para formatação consistente
- Utilize DevTools do browser para depurar JavaScript
- Para Vue, instale a extensão Vue DevTools no navegador
### Considerações de Performance
- Número elevado de ficheiros traduzidos (mais de 50 idiomas) implica clones completos volumosos
- Use clone superficial se estiver a trabalhar apenas no conteúdo: `git clone --depth 1`
- Exclua traduções das pesquisas ao trabalhar no conteúdo em inglês
- Processos de build podem ser lentos na primeira execução (npm install, build do Vite)
- Muitas traduções (50+ línguas) significam clones completos grandes
- Use clone superficial se trabalhar só no conteúdo: `git clone --depth 1`
- Exclua pesquisas em traduções quando trabalhar no conteúdo em inglês
- Processos de build podem ser lentos na primeira execução (npm install, build Vite)
## Considerações de Segurança
### Variáveis de Ambiente
- Chaves API nunca devem ser cometidas no repositório
- Chaves de API não devem ser commitadas no repositório
- Use ficheiros `.env` (já incluídos no `.gitignore`)
- Documente variáveis de ambiente necessárias nos READMEs dos projetos
- Documente variáveis de ambiente requeridas nos READMEs dos projetos
### Projetos Python
- Use ambientes virtuais: `python -m venv venv`
- Mantenha as dependências atualizadas
- Tokens GitHub devem ter permissões mínimas necessárias
- Mantenha dependências atualizadas
- Tokens do GitHub devem ter permissões mínimas necessárias
### Acesso ao GitHub Models
### Acesso aos Models do GitHub
- Tokens Pessoais de Acesso (PAT) são requeridos para GitHub Models
- Tokens devem ser armazenados como variáveis de ambiente
- Nunca cometa tokens ou credenciais
- Tokens de Acesso Pessoal (PAT) necessários para Models do GitHub
- Tokens devem ser armazenados em variáveis de ambiente
- Nunca commit tokens ou credenciais
## Notas Adicionais
### Público-Alvo
- Iniciantes completos no desenvolvimento web
- Iniciantes completos em desenvolvimento web
- Estudantes e autodidatas
- Professores usando o currículo em sala de aula
- Conteúdo desenhado para acessibilidade e construção gradual de competências
- Professores que usam o currículo em salas de aula
- Conteúdo projetado para acessibilidade e progressão gradual de competências
### Filosofia Educativa
### Filosofia Educacional
- Abordagem de aprendizagem baseada em projetos
- Verificações frequentes de conhecimento (questionários)
- Verificações frequentes de conhecimento (quizzes)
- Exercícios práticos de programação
- Exemplos de aplicação no mundo real
- Foco nos fundamentos antes dos frameworks
- Exemplos baseados em aplicações reais
- Foco nos fundamentos antes de frameworks
### Manutenção do Repositório
- Comunidade ativa de aprendizes e contribuidores
- Atualizações regulares em dependências e conteúdo
- Issues e discussões monitorizadas pelos mantenedores
- Atualizações das traduções automatizadas via GitHub Actions
- Comunidade ativa de aprendizes e contribuintes
- Atualizações regulares de dependências e conteúdo
- Monitorização de issues e discussões pelos mantenedores
- Atualizações de traduções automatizadas via GitHub Actions
### Recursos Relacionados
- [Módulos Microsoft Learn](https://docs.microsoft.com/learn/)
- [Recursos Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [Módulos da Microsoft Learn](https://docs.microsoft.com/learn/)
- [Recursos do Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recomendado para aprendizes
- Cursos adicionais: IA generativa, Data Science, ML, currículos IoT disponíveis
- Cursos adicionais: IA Generativa, Ciência de Dados, ML, currículos IoT disponíveis
### Trabalhar com Projetos Específicos
Para instruções detalhadas de projetos individuais, consulte os ficheiros README em:
- `quiz-app/README.md` - aplicação quiz Vue 3
- `7-bank-project/README.md` - aplicação bancária com autenticação
- `5-browser-extension/README.md` - desenvolvimento de extensão de navegador
- `6-space-game/README.md` - desenvolvimento de jogo com Canvas
- `9-chat-project/README.md` - projeto assistente de chat com IA
Para instruções detalhadas sobre projetos individuais, consulte os ficheiros README em:
- `quiz-app/README.md` - Aplicação quiz em Vue 3
- `7-bank-project/README.md` - Aplicação bancária com autenticação
- `5-browser-extension/README.md` - Desenvolvimento de extensão de navegador
- `6-space-game/README.md` - Desenvolvimento de jogo com Canvas
- `9-chat-project/README.md` - Projeto de assistente de chat com IA
### Estrutura Monorepo
Embora não seja um monorepo tradicional, este repositório contém múltiplos projetos independentes:
- Cada lição é autónoma
- Cada lição é autocontida
- Projetos não partilham dependências
- Trabalhe em projetos individuais sem afetar outros
- Clone o repositório inteiro para ter a experiência completa do currículo
- Trabalhe em projetos individuais sem afetar os outros
- Clone o repositório completo para a experiência curricular completa
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Aviso**:
Este documento foi traduzido utilizando o serviço de tradução automática [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos por garantir a precisão, por favor tenha em conta que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se tradução profissional por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações erradas decorrentes da utilização desta tradução.
**Aviso Legal**:
Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, tenha em atenção que as traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte oficial. Para informações críticas, recomenda-se tradução profissional humana. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save