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

pull/1690/head
localizeflow[bot] 3 weeks ago
parent 54dcd8a519
commit e75dd20d0e

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

@ -2,27 +2,27 @@
## Panoramica del Progetto
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.
Questo è un repository curriculum educativo per insegnare i fondamenti 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.
### 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 automatiche in oltre 50 lingue tramite GitHub Actions
- **Quiz Interattivi**: 48 quiz con 3 domande ciascuno (valutazioni pre/post lezione)
- **Supporto Multilingue**: Traduzioni automatiche in 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 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)
- Repository educativo con struttura basata su lezioni
- Ogni cartella lezione contiene README, esempi di codice e soluzioni
- Progetti autonomi in directory separate (quiz-app, vari progetti delle lezioni)
- Sistema di traduzione usando GitHub Actions (co-op-translator)
- Documentazione servita tramite Docsify e disponibile in PDF
## Comandi di Configurazione
Questo repository è principalmente per la fruizione di contenuti educativi. Per lavorare con progetti specifici:
Questo repository è principalmente per il consumo di contenuti educativi. Per lavorare con progetti specifici:
### Configurazione Principale del Repository
@ -41,7 +41,7 @@ npm run build # Compila per la produzione
npm run lint # Esegui ESLint
```
### API Progetto Bancario (Node.js + Express)
### API del Progetto Banca (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 delle estensioni
# Seguire le istruzioni specifiche del browser per il caricamento dell'estensione
```
### Progetti Gioco Spaziale
@ -76,67 +76,67 @@ pip install openai
python api.py
```
## Flusso di Lavoro per lo Sviluppo
## Flusso di Lavoro di Sviluppo
### Per i Collaboratori di Contenuto
### Per i Collaboratori di Contenuti
1. **Forka il repository** nel tuo account GitHub
2. **Clona il fork** localmente
1. **Effettua il fork del repository** sul tuo account GitHub
2. **Clona il tuo 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
4. Modifica i contenuti delle lezioni o gli esempi di codice
5. Testa eventuali modifiche al codice nelle directory di progetto rilevanti
6. Invia pull request seguendo le linee guida di contributo
### Per gli Studenti
1. Forka o clona il repository
2. Naviga nelle directory delle lezioni in sequenza
1. Effettua il fork o clona il repository
2. Naviga sequenzialmente tra le directory delle lezioni
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
6. Completa incarichi e sfide
7. Fai i quiz post-lezione
### Sviluppo Live
- **Documentazione**: Esegui `docsify serve` nella root (porta 3000)
- **Quiz App**: Esegui `npm run dev` nella cartella quiz-app
- **Documentazione**: Esegui `docsify serve` dalla root (porta 3000)
- **Quiz App**: Esegui `npm run dev` nella directory quiz-app
- **Progetti**: Usa lestensione Live Server di VS Code per i progetti HTML
- **Progetti API**: Esegui `npm start` nelle rispettive directory API
- **Progetti API**: Esegui `npm start` nelle directory API rispettive
## Istruzioni per i Test
## Istruzioni per il Testing
### Test Quiz App
```bash
cd quiz-app
npm run lint # Controlla i problemi di stile del codice
npm run lint # Controlla problemi di stile del codice
npm run build # Verifica che la compilazione abbia successo
```
### Test API Bancaria
### Test API Banca
```bash
cd 7-bank-project/api
npm run lint # Controlla la presenza di problemi di stile del codice
npm run lint # Controlla problemi di stile del codice
node server.js # Verifica che il server si avvii senza errori
```
### Approccio Generale ai Test
### Approccio Generale al Testing
- Questo è un repository educativo senza test automatizzati completi
- I test manuali si concentrano su:
- Esempi di codice eseguiti senza errori
- Link nella documentazione funzionanti correttamente
- Compilazioni di progetto completate con successo
- Esempi conformi alle migliori pratiche
- Il testing manuale si focalizza su:
- Esecuzione senza errori degli esempi di codice
- Funzionamento corretto dei link nella documentazione
- Completamento riuscito delle build dei progetti
- Applicazione delle best practice negli esempi
### Controlli Pre-Invio
### Verifiche Prima della Sottomissione
- 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
- Testa gli esempi di codice nel browser o in Node.js
- Controlla che le traduzioni mantengano la giusta struttura
## Linee Guida per lo Stile del Codice
@ -145,21 +145,21 @@ node server.js # Verifica che il server si avvii senza errori
- 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
- Aggiungi commenti esplicativi per i concetti destinati agli studenti
- Formattta con Prettier se configurato
### HTML/CSS
- Elementi semantici HTML5
- Principi di design responsivo
- Convenzioni di nomi di classi chiare
- Commenti che spiegano le tecniche CSS per gli studenti
- Principi di design responsive
- Convenzioni chiare per la denominazione delle classi
- Commenti che spiegano le tecniche CSS per i studenti
### Python
- Linee guida di stile PEP 8
- Esempi di codice chiari ed educativi
- Indicazioni di tipo (type hints) dove utili per lapprendimento
- Esempi di codice chiari e didattici
- Hint di tipo dove utili allapprendimento
### Documentazione Markdown
@ -167,25 +167,25 @@ node server.js # Verifica che il server si avvii senza errori
- Blocchi di codice con specifica del linguaggio
- Link a risorse aggiuntive
- Screenshot e immagini nelle cartelle `images/`
- Testo alternativo per le immagini a scopo di accessibilità
- Testo alternativo per le immagini per 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 conservate nelle cartelle `images/` specifiche delle lezioni
- Traduzioni nella struttura `translations/{language-code}/`
- Lezioni numerate in sequenza (1-getting-started-lessons, 2-js-basics, ecc.)
- Ogni progetto ha directory `solution/` e spesso `start/` o `your-work/`
- Immagini conservate in cartelle `images/` specifiche della lezione
- Traduzioni in struttura `translations/{language-code}/`
## Build e Deployment
## Build e Distribuzione
### Deployment Quiz App (Azure Static Web Apps)
### Distribuzione Quiz App (Azure Static Web Apps)
La quiz-app è configurata per il deployment su Azure Static Web Apps:
La quiz-app è configurata per la distribuzione su Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Crea la cartella dist/
# Distribuisce tramite il flusso di lavoro GitHub Actions al push su main
# Esegue il deploy tramite workflow di GitHub Actions al push su main
```
Configurazione Azure Static Web Apps:
@ -193,7 +193,7 @@ Configurazione Azure Static Web Apps:
- **Posizione output**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Generazione PDF Documentazione
### Generazione PDF della Documentazione
```bash
npm install # Installa docsify-to-pdf
@ -207,29 +207,29 @@ npm install -g docsify-cli # Installa Docsify globalmente
docsify serve # Servi su localhost:3000
```
### Build Specifico per Progetto
### Build Specifici per Progetto
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 i file direttamente
- Progetti statici: nessun passo di build, servire i file direttamente
## Linee Guida per le Pull Request
### Formato del Titolo
Usa titoli chiari e descrittivi che indichino larea di modifica:
- `[Quiz-app] Aggiungi nuovo quiz per la lezione X`
- `[Lesson-3] Correggi errore nel progetto terrarium`
- `[Translation] Aggiungi traduzione spagnola per la lezione 5`
- `[Docs] Aggiorna istruzioni di configurazione`
Usa titoli chiari e descrittivi indicando larea di modifica:
- `[Quiz-app] Aggiunta nuovo quiz per lezione X`
- `[Lesson-3] Correzione refuso nel progetto terrarium`
- `[Translation] Aggiunta traduzione spagnola per lezione 5`
- `[Docs] Aggiornate istruzioni di setup`
### Controlli Richiesti
Prima di inviare una PR:
1. **Qualità del Codice**:
- Esegui `npm run lint` nelle directory di progetto interessate
- Risolvi tutti gli errori e avvisi di linting
- Esegui `npm run lint` nelle directory di progetti interessati
- Risolvi tutti gli errori e warning di linting
2. **Verifica Build**:
- Esegui `npm run build` se applicabile
@ -240,43 +240,43 @@ Prima di inviare una PR:
- Verifica che i riferimenti alle immagini funzionino
4. **Revisione Contenuti**:
- Controlla ortografia e grammatica
- Verifica che gli esempi di codice siano corretti ed educativi
- Correggi errori di ortografia e grammatica
- Verifica che gli esempi di codice siano corretti e didattici
- Assicurati che le traduzioni mantengano il significato originale
### Requisiti di Contributo
- 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
- Accettare il CLA Microsoft (controllo automatico alla prima PR)
- Seguire il [Codice di Condotta Open Source Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Vedere [CONTRIBUTING.md](./CONTRIBUTING.md) per linee guida dettagliate
- Riferire numeri di issue nella descrizione della PR se applicabile
### Processo di Revisione
- 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
- Le PR sono revisionate dai mantenitori e dalla comunità
- Priorità alla chiarezza educativa
- Esempi di codice devono seguire best practice attuali
- Le traduzioni sono controllate per accuratezza e appropriatezza culturale
## Sistema di Traduzione
### Traduzione Automatica
### Traduzione Automatizzata
- Usa GitHub Actions con workflow co-op-translator
- Traduce automaticamente in oltre 50 lingue
- Traduce automaticamente in 50+ lingue
- File sorgente nelle directory principali
- File tradotti in `translations/{language-code}/`
- File tradotti in directory `translations/{language-code}/`
### Aggiunta di Miglioramenti Manuali alla Traduzione
### Aggiunta Miglioramenti Manuali alla Traduzione
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
2. Apporta miglioramenti preservando la struttura
3. Assicurati che gli esempi di codice rimangano funzionanti
4. Testa eventuale contenuto quiz localizzato
### Metadata di Traduzione
I file tradotti includono intestazione metadata:
I file tradotti includono header metadata:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -293,64 +293,64 @@ CO_OP_TRANSLATOR_METADATA:
### Problemi Comuni
**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)
**Quiz app non si avvia**:
- Controlla versione Node.js (consigliato v14+)
- Elimina `node_modules` e `package-lock.json`, poi esegui di nuovo `npm install`
- Verifica conflitti di porta (default: Vite usa porta 5173)
**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
**Server API non parte**:
- Verifica versione minima Node.js (node >=10)
- Controlla se la porta è già in uso
- Assicurati che tutte le dipendenze siano installate con `npm install`
**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
- Verifica che manifest.json sia correttamente formattato
- Controlla console browser per errori
- Segui le istruzioni di installazione specifiche per browser
**Problemi con progetto chat Python**:
**Problemi 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
- Verifica che la variabile dambiente GITHUB_TOKEN sia impostata
- Controlla i permessi daccesso ai modelli GitHub
**Docsify non serve la documentazione**:
- Installa docsify-cli globalmente: `npm install -g docsify-cli`
- Esegui dalla directory radice del repository
- Avvia dalla directory root del repository
- Verifica che `docs/_sidebar.md` esista
### Consigli per lAmbiente di Sviluppo
- 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
- Usa VS Code con estensione Live Server per progetti HTML
- Installa le estensioni ESLint e Prettier per formattazione coerente
- Usa DevTools browser per debug JavaScript
- Per progetti Vue, installa lestensione Vue DevTools browser
### Considerazioni sulle Prestazioni
- Lelevato numero di file tradotti (50+ lingue) fa sì che i clone completi siano grandi
- Il grande numero di file tradotti (50+ lingue) rende le clonazioni complete pesanti
- Usa clone shallow se lavori solo su contenuti: `git clone --depth 1`
- Escludi le traduzioni dalle ricerche se lavori sul contenuto inglese
- Escludi le traduzioni dalle ricerche quando lavori su contenuti in inglese
- I processi di build possono essere lenti al primo avvio (npm install, build Vite)
## Considerazioni di Sicurezza
### Variabili dAmbiente
- Le chiavi API non devono mai essere impegnate nel repository
- Le chiavi API non devono mai essere committate nel repository
- Usa file `.env` (già in `.gitignore`)
- Documenta le variabili dambiente richieste nei README dei progetti
### Progetti Python
- Usa ambienti virtuali: `python -m venv venv`
- Mantieni le dipendenze aggiornate
- Mantieni aggiornate le dipendenze
- I token GitHub devono avere permessi minimi necessari
### Accesso ai GitHub Models
### Accesso ai Modelli GitHub
- Sono necessari Personal Access Token (PAT) per i GitHub Models
- I token devono essere salvati come variabili dambiente
- Mai impegnare token o credenziali
- Per i modelli GitHub sono necessari Personal Access Tokens (PAT)
- Conserva i token come variabili dambiente
- Mai committare token o credenziali
## Note Aggiuntive
@ -358,51 +358,51 @@ CO_OP_TRANSLATOR_METADATA:
- Principianti completi nello sviluppo web
- Studenti e autodidatti
- Insegnanti che usano il curriculum in classe
- Contenuti progettati per accessibilità e sviluppo graduale delle competenze
- Insegnanti che usano il curriculum in aula
- Contenuti progettati per accessibilità e apprendimento graduale
### Filosofia Educativa
- Approccio di apprendimento basato su progetti
- Verifiche frequenti della conoscenza (quiz)
- Controlli frequenti della conoscenza (quiz)
- Esercizi pratici di coding
- Esempi di applicazioni reali
- Focus sulle basi prima dei framework
- Focus sui fondamenti prima dei framework
### Manutenzione del Repository
- Comunità attiva di studenti e collaboratori
- Comunità attiva di studenti e contribuenti
- Aggiornamenti regolari di dipendenze e contenuti
- Monitoraggio di issue e discussioni da parte dei manutentori
- Aggiornamenti di traduzione automatizzati tramite GitHub Actions
- Segnalazioni e discussioni seguite dai mantenitori
- Aggiornamenti delle traduzioni 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: curricula di AI generativa, Data Science, ML, IoT disponibili
- Corsi aggiuntivi: curricula di AI Generativa, Data Science, ML, IoT disponibili
### Lavorare con Progetti Specifici
Per istruzioni dettagliate su singoli progetti, consulta i file README in:
Per istruzioni dettagliate su progetti individuali, 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 basato su canvas
- `5-browser-extension/README.md` - Sviluppo estensioni browser
- `6-space-game/README.md` - Sviluppo gioco canvas
- `9-chat-project/README.md` - Progetto assistente chat AI
### Struttura Monorepo
Pur non essendo un monorepo tradizionale, questo repository contiene molti progetti indipendenti:
Sebbene non sia un monorepo tradizionale, questo repository contiene più progetti indipendenti:
- Ogni lezione è autonoma
- I progetti non condividono dipendenze
- Lavora su singoli progetti senza influenzare gli altri
- Clona lintero repo per lesperienza completa del curriculum
- Clona lintero repository per lesperienza completa del curriculum
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Disclaimer**:
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.
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica [Co-op Translator](https://github.com/Azure/co-op-translator). Sebbene ci impegniamo a garantire laccuratezza, si prega di considerare che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua natale deve essere considerato la fonte autorevole. Per informazioni critiche si consiglia una traduzione professionale effettuata da un essere 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-06T11:23:58+00:00",
"translation_date": "2026-02-06T12:50:25+00:00",
"source_file": "AGENTS.md",
"language_code": "pt-BR"
},

@ -2,27 +2,27 @@
## Visão Geral do Projeto
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.
Este é um repositório curricular educacional para ensino dos fundamentos do desenvolvimento web para iniciantes. O currículo é um curso abrangente de 12 semanas desenvolvido pelos Microsoft Cloud Advocates, com 24 aulas práticas cobrindo JavaScript, CSS e HTML.
### Componentes Principais
- **Conteúdo Educacional**: 24 aulas estruturadas organizadas em módulos baseados em projetos
- **Projetos Práticos**: Terrarium, Jogo de Digitação, Extensão de Navegador, Jogo Espacial, Aplicativo Bancário, Editor de Código e Assistente de Chat com IA
- **Quizzes Interativos**: 48 quizzes com 3 perguntas cada (avaliações pré e pós aula)
- **Suporte Multilíngue**: Traduções automatizadas para mais de 50 idiomas via GitHub Actions
- **Projetos Práticos**: Terrário, Jogo de Digitação, Extensão de Navegador, Jogo Espacial, Aplicativo Bancário, Editor de Código e Assistente de Chat com IA
- **Quizzes Interativos**: 48 quizzes com 3 perguntas cada (avaliação 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 IA)
### Arquitetura
- Repositório educacional com estrutura baseada em aulas
- Cada pasta da aula contém README, exemplos de código e soluções
- Cada pasta de aula contém README, exemplos de código e soluções
- Projetos independentes em diretórios separados (quiz-app, vários projetos de aula)
- Sistema de tradução usando GitHub Actions (co-op-translator)
- Documentação servida via Docsify e disponível em PDF
## Comandos de Configuração
Este repositório é destinado principalmente para consumo de conteúdo educacional. Para trabalhar com projetos específicos:
Este repositório é principalmente para consumo de conteúdo educacional. Para trabalhar com projetos específicos:
### Configuração Principal do Repositório
@ -37,7 +37,7 @@ cd Web-Dev-For-Beginners
cd quiz-app
npm install
npm run dev # Iniciar servidor de desenvolvimento
npm run build # Construir para produção
npm run build # Criar para produção
npm run lint # Executar ESLint
```
@ -51,7 +51,7 @@ npm run lint # Executar ESLint
npm run format # Formatar com Prettier
```
### Projetos de Extensão para Navegador
### Projetos de Extensão de Navegador
```bash
cd 5-browser-extension/solution
@ -64,7 +64,7 @@ npm install
```bash
cd 6-space-game/solution
npm install
# Abra index.html no navegador ou use o Live Server
# Abra index.html no navegador ou use Live Server
```
### Projeto de Chat (Backend em Python)
@ -72,49 +72,49 @@ npm install
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Definir a variável de ambiente GITHUB_TOKEN
# Defina a variável de ambiente GITHUB_TOKEN
python api.py
```
## Fluxo de Trabalho para Desenvolvimento
## Fluxo de Desenvolvimento
### Para Contribuidores de Conteúdo
1. **Faça um fork** do repositório para sua conta do GitHub
1. **Faça fork do repositório** para sua conta 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 mudanças de código nos diretórios de projeto relevantes
6. Envie pull requests seguindo as diretrizes de contribuição
4. Faça alterações no conteúdo das aulas ou exemplos de código
5. Teste quaisquer mudanças de código nos diretórios dos projetos relevantes
6. Submeta pull requests seguindo as diretrizes de contribuição
### Para Aprendizes
1. Faça fork ou clone do repositório
2. Navegue para os diretórios das aulas sequencialmente
2. Navegue seqüencialmente pelos diretórios das aulas
3. Leia os arquivos README de cada aula
4. Complete quizzes pré-aula em https://ff-quizzes.netlify.app/web/
4. Complete os quizzes pré-aula em https://ff-quizzes.netlify.app/web/
5. Trabalhe nos exemplos de código nas pastas das aulas
6. Complete tarefas e desafios
7. Faça os quizzes pós-aula
7. Realize os quizzes pós-aula
### Desenvolvimento ao Vivo
- **Documentação**: Execute `docsify serve` na raiz (porta 3000)
- **Quiz App**: Execute `npm run dev` no diretório quiz-app
- **Projetos**: Use a extensão Live Server do VS Code para projetos HTML
- **Projetos API**: Execute `npm start` nos respectivos diretórios de API
- **Projetos API**: Execute `npm start` nos diretórios das APIs correspondentes
## Instruções para Testes
## Instruções de Teste
### Testes do Quiz App
### Teste do Quiz App
```bash
cd quiz-app
npm run lint # Verificar problemas de estilo de código
npm run build # Verificar se a compilação foi bem-sucedida
npm run build # Verificar se a compilação é bem-sucedida
```
### Testes da API Bancária
### Teste da API Bancária
```bash
cd 7-bank-project/api
@ -122,92 +122,92 @@ npm run lint # Verifique problemas de estilo de código
node server.js # Verifique se o servidor inicia sem erros
```
### Abordagem Geral de Teste
### Abordagem Geral para Testes
- Este é um repositório educacional sem testes automatizados abrangentes
- Testes manuais focam em:
- Exemplos de código que executam sem erros
- Exemplos de código executam sem erros
- Links na documentação funcionam corretamente
- Build dos projetos completam com sucesso
- Exemplos seguem as melhores práticas
- Builds dos projetos são realizados com sucesso
- Exemplos seguem boas práticas
### Verificações Antes da Submissão
- Execute `npm run lint` nos diretórios que possuem package.json
- Execute `npm run lint` nos diretórios com package.json
- Verifique se os links markdown são válidos
- Teste os exemplos de código no navegador ou Node.js
- Certifique-se de que as traduções mantêm a estrutura adequada
- Teste exemplos de código no navegador ou Node.js
- Confirme que as traduções mantêm a estrutura adequada
## Diretrizes de Estilo de Código
### JavaScript
- Use sintaxe moderna ES6+
- Siga as configurações padrão do ESLint fornecidas nos projetos
- Use nomes significativos para variáveis e funções para clareza educacional
- Adicione comentários explicando conceitos para aprendizes
- Siga configurações padrão do ESLint fornecidas nos projetos
- Use nomes de variáveis e funções significativos para clareza educacional
- Adicione comentários explicando conceitos para alunos
- Formate usando Prettier onde configurado
### HTML/CSS
- Elementos semânticos HTML5
- Princípios de design responsivo
- Convenções claras de nomenclatura de classes
- Comentários explicando técnicas CSS para aprendizes
- Convenções claras de nomeação de classes
- Comentários explicando técnicas de CSS para alunos
### Python
- Diretrizes de estilo PEP 8
- Exemplos de código claros e educativos
- Tipagem (type hints) quando útil para o aprendizado
- Exemplos de código claros e educacionais
- Tipagem onde ajuda no aprendizado
### Documentação Markdown
- Hierarquia clara de títulos
- Blocos de código com especificação de linguagem
- Links para recursos adicionais
- Capturas de tela e imagens nas pastas `images/`
- Capturas de tela e imagens em diretórios `images/`
- Texto alternativo para imagens para acessibilidade
### Organização de Arquivos
- Aulas numeradas sequencialmente (1-getting-started-lessons, 2-js-basics, etc.)
- Cada projeto tem diretórios `solution/` e frequentemente `start/` ou `your-work/`
- Imagens armazenadas nas pastas `images/` específicas de cada aula
- Imagens armazenadas em pastas `images/` específicas das aulas
- Traduções na estrutura `translations/{language-code}/`
## Build e Implantação
### Implantação do Quiz App (Azure Static Web Apps)
### Deploy do Quiz App (Azure Static Web Apps)
O quiz-app está configurado para implantação no Azure Static Web Apps:
O quiz-app está configurado para deploy no Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Cria a pasta dist/
# Faz o deploy via workflow do GitHub Actions no push para a branch main
# Faz o deploy via workflow do GitHub Actions ao enviar para a main
```
Configuração do Azure Static Web Apps:
- **Localização do app**: `/quiz-app`
- **Localização de saída**: `dist`
- **Localização da saída**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Geração de PDF da Documentação
```bash
npm install # Instalar docsify-to-pdf
npm run convert # Gerar PDF a partir dos docs
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 # Instale o Docsify globalmente
docsify serve # Servir em localhost:3000
```
### Builds Específicos de Projeto
### Builds Específicos por Projeto
Cada diretório de projeto pode ter seu próprio processo de build:
- Projetos Vue: `npm run build` cria bundles de produção
@ -217,62 +217,62 @@ Cada diretório de projeto pode ter seu próprio processo de build:
### Formato do Título
Use títulos claros e descritivos indicando a área da mudança:
Use títulos claros e descritivos indicando a área de mudança:
- `[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`
- `[Translation] Adicionar tradução em espanhol para a aula 5`
- `[Docs] Atualizar instruções de configuração`
### Verificações Necessárias
### Verificações Obrigatórias
Antes de enviar um PR:
Antes de submeter um PR:
1. **Qualidade do Código**:
- Execute `npm run lint` nos diretórios 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 do Build**:
- Execute `npm run build` se aplicável
- Certifique-se de que não há erros de build
- Garanta que não haja erros no build
3. **Validação dos Links**:
3. **Validação de Links**:
- Teste todos os links markdown
- Verifique funcionamento das referências de imagem
- Verifique referências de imagens
4. **Revisão de Conteúdo**:
- Revise ortografia e gramática
- Assegure que os exemplos de código estão corretos e educativos
- Faça revisão ortográfica e gramatical
- Garanta que os exemplos de código estejam corretos e educativos
- Verifique se as traduções mantêm o significado original
### Requisitos para Contribuição
- Aceitar o CLA da Microsoft (verificação automática no primeiro PR)
- Seguir o [Código de Conduta Open Source da Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Confira o [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Referencie números de issues na descrição do PR, se aplicável
- Concordar com o Microsoft CLA (verificação automática no primeiro PR)
- Seguir o [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Ver [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Referenciar números de issues na descrição do PR, quando aplicável
### Processo de Revisão
- PRs são revisados por mantenedores e comunidade
- Clareza educacional é prioridade
- Clareza educacional é priorizada
- Exemplos de código devem seguir as melhores práticas atuais
- Traduções são revisadas para precisão e adequação cultural
- Traduções revisadas para precisão e adequação cultural
## Sistema de Tradução
### Tradução Automatizada
- Usa GitHub Actions com workflow co-op-translator
- Tradução automática para mais de 50 idiomas
- Arquivos fonte nos diretórios principais
- Arquivos traduzidos em diretórios `translations/{language-code}/`
- Utiliza GitHub Actions com workflow co-op-translator
- Traduz para mais de 50 idiomas automaticamente
- Arquivos fonte nas pastas principais
- Arquivos traduzidos em `translations/{language-code}/`
### Adicionando Melhorias Manuais nas Traduções
1. Localize o arquivo em `translations/{language-code}/`
2. Faça melhorias preservando a estrutura
3. Assegure que exemplos de código continuam funcionando
4. Teste qualquer conteúdo de quiz localizado
3. Certifique-se de que os exemplos de código permaneçam funcionais
4. Teste qualquer conteúdo localizado de quizzes
### Metadados de Tradução
@ -293,72 +293,72 @@ CO_OP_TRANSLATOR_METADATA:
### Problemas Comuns
**App de quiz não inicia**:
- Verifique a versão do Node.js (recomendado v14+)
- Delete `node_modules` e `package-lock.json`, execute `npm install` novamente
- Verifique conflito de portas (padrão: Vite usa porta 5173)
**Aplicação de quiz não inicia**:
- Verifique a versão do Node.js (recomendada v14+)
- Exclua `node_modules` e `package-lock.json`, execute `npm install` novamente
- Verifique conflitos de porta (padrão: Vite usa porta 5173)
**Servidor API não inicia**:
- 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`
- Confirme que a versão do Node.js atende ao mínimo (node >=10)
- Confira se a porta não está em uso
- Assegure-se que todas as dependências foram instaladas com `npm install`
**Extensão de navegador não carrega**:
- 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
**Extensão do navegador não carrega**:
- Verifique se o manifest.json está corretamente formatado
- Cheque o console do navegador para erros
- Siga as instruções específicas do navegador para instalação da extensão
**Problemas no projeto de chat Python**:
- 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
**Problemas no projeto de chat em Python**:
- Instale o pacote OpenAI: `pip install openai`
- Garanta que a variável de ambiente GITHUB_TOKEN está configurada
- Verifique permissões de acesso ao GitHub Models
**Docsify não serve a documentação**:
- 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
- Execute a partir do diretório raiz do repositório
- Verifique se `docs/_sidebar.md` existe
### Dicas para Ambiente de Desenvolvimento
- Use VS Code com extensão Live Server para projetos HTML
- Instale extensões ESLint e Prettier para formatação consistente
- Use DevTools do navegador para depuração de JavaScript
- Para projetos Vue, instale extensão Vue DevTools no navegador
- Utilize DevTools do navegador para depurar JavaScript
- Para projetos Vue, instale a extensão Vue DevTools no navegador
### Considerações de Performance
- Grande número de arquivos traduzidos (50+ idiomas) torna 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)
- Grande número de arquivos traduzidos (mais de 50 idiomas) faz clones completos serem grandes
- Use clone shallow se estiver trabalhando apenas com conteúdo: `git clone --depth 1`
- Exclua traduções das buscas ao trabalhar com conteúdo em inglês
- Processos de build podem ser lentos na primeira execução (npm install, build Vite)
## Considerações de Segurança
### Variáveis de Ambiente
- Chaves de API nunca devem ser commitadas no repositório
- Chaves de API nunca devem ser commitadas ao repositório
- Use arquivos `.env` (já incluídos no `.gitignore`)
- Documente variáveis de ambiente necessárias nos README dos projetos
- Documente as variáveis de ambiente necessárias nos READMEs dos projetos
### Projetos Python
- Use ambientes virtuais: `python -m venv venv`
- Mantenha dependências atualizadas
- Tokens do GitHub devem ter permissões mínimas necessárias
- Tokens GitHub devem ter permissões mínimas necessárias
### Acesso ao GitHub Models
- Tokens pessoais de acesso (PAT) são necessários para acessar GitHub Models
- Tokens de Acesso Pessoal (PAT) são obrigatórios para GitHub Models
- Tokens devem ser armazenados como variáveis de ambiente
- 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 usando o currículo em sala de aula
- Professores usando o currículo em salas de aula
- Conteúdo projetado para acessibilidade e construção gradual de habilidades
### Filosofia Educacional
@ -366,43 +366,43 @@ CO_OP_TRANSLATOR_METADATA:
- Abordagem de aprendizagem baseada em projetos
- Verificações frequentes de conhecimento (quizzes)
- Exercícios práticos de programação
- Exemplos de aplicação no mundo real
- Exemplos de aplicações do mundo real
- Foco nos fundamentos antes dos frameworks
### Manutenção do Repositório
- Comunidade ativa de aprendizes e colaboradores
- Atualizações regulares nas dependências e conteúdo
- Monitoramento de issues e discussões pelos mantenedores
- Comunidade ativa de aprendizes e contribuidores
- Atualizações regulares de dependências e conteúdo
- Issues e discussões monitoradas por mantenedores
- Atualizações de tradução automatizadas via GitHub Actions
### Recursos Relacionados
- [Módulos Microsoft Learn](https://docs.microsoft.com/learn/)
- [Módulos do 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, Ciência de Dados, ML, currículos de IoT disponíveis
- Cursos adicionais: IA Generativa, Ciência de Dados, ML, Currículos IoT disponíveis
### Trabalhando com Projetos Específicos
Para instruções detalhadas sobre projetos individuais, consulte os arquivos README em:
Para instruções detalhadas sobre cada projeto, 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 para navegador
- `5-browser-extension/README.md` - Desenvolvimento de extensão de navegador
- `6-space-game/README.md` - Desenvolvimento de jogo baseado em canvas
- `9-chat-project/README.md` - Projeto de assistente de chat com IA
- `9-chat-project/README.md` - Projeto de assistente de chat IA
### Estrutura Monorepo
Embora não seja um monorepo tradicional, este repositório contém múltiplos projetos independentes:
- Cada aula é auto-suficiente
- Cada aula é auto-contida
- Projetos não compartilham dependências
- Trabalhe em projetos individuais sem impactar os outros
- Clone o repositório completo para a experiência curricular completa
- Trabalhe em projetos individuais sem afetar os outros
- Clone o repositório completo para a experiência completa do currículo
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Aviso Legal**:
Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos 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.
Este documento foi traduzido utilizando o serviço de tradução por IA [Co-op Translator](https://github.com/Azure/co-op-translator). Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automáticas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autorizada. Para informações críticas, recomenda-se a tradução profissional por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

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

@ -2,36 +2,36 @@
## Visão Geral do Projeto
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.
Este é um repositório de currículo educativo para ensinar os fundamentos do desenvolvimento web a iniciantes. O currículo é um curso abrangente de 12 semanas desenvolvido pelos Microsoft Cloud Advocates, com 24 aulas práticas que cobrem JavaScript, CSS e HTML.
### Componentes Principais
- **Conteúdo Educacional**: 24 lições estruturadas organizadas em módulos baseados em projetos
- **Projetos Práticos**: 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)
- **Conteúdo Educativo**: 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, Aplicação Bancária, Editor de Código e Assistente de Chat AI
- **Quizzes Interativos**: 48 quizzes com 3 perguntas cada (avaliações pré/pós-licção)
- **Suporte Multilíngue**: Traduções automáticas para mais de 50 idiomas via GitHub Actions
- **Tecnologias**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (para projetos AI)
### Arquitetura
- Repositório educativo com estrutura baseada em lições
- Cada pasta de lição contém README, exemplos de código e soluções
- Projetos independentes em diretórios separados (quiz-app, vários projetos de lições)
- Sistema de tradução usando GitHub Actions (co-op-translator)
- Documentação servida via Docsify e disponível como PDF
- Repositório educativo com estrutura baseada em lições
- Cada pasta de lição contém README, exemplos de código e soluções
- Projetos independentes em diretórios separados (quiz-app, vários projetos de lições)
- Sistema de tradução usando GitHub Actions (co-op-translator)
- Documentação servida via Docsify e disponível em PDF
## Comandos de Configuração
Este repositório destina-se principalmente ao consumo de conteúdo educativo. Para trabalhar com projetos específicos:
### Configuração Principal do Repositório
### Configuração do Repositório Principal
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Configuração Quiz App (Vue 3 + Vite)
### Configuração do Quiz App (Vue 3 + Vite)
```bash
cd quiz-app
@ -41,14 +41,14 @@ npm run build # Construir para produção
npm run lint # Executar ESLint
```
### API do Projeto Bancário (Node.js + Express)
### Projeto API do Banco (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
npm start # Iniciar servidor API
npm run lint # Executar ESLint
npm run format # Formatado com Prettier
npm run format # Formatar com Prettier
```
### Projetos de Extensão de Navegador
@ -59,7 +59,7 @@ npm install
# Siga as instruções específicas do navegador para carregar extensões
```
### Projetos de Jogo Espacial
### Projetos do Jogo Espacial
```bash
cd 6-space-game/solution
@ -67,7 +67,7 @@ npm install
# Abra index.html no navegador ou use o Live Server
```
### Projeto de Chat (Backend em Python)
### Projeto de Chat (Backend Python)
```bash
cd 9-chat-project/solution/backend/python
@ -76,37 +76,37 @@ pip install openai
python api.py
```
## Fluxo de Trabalho de Desenvolvimento
## Fluxo de Desenvolvimento
### Para Contribuintes de Conteúdo
### Para Contribuidores 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 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 dos projetos relevantes
6. Submeta pull requests seguindo as diretrizes de contribuição
1. **Faça fork do repositório** para a sua conta do GitHub
2. **Clone o seu fork** localmente
3. **Crie uma nova branch** para as suas alterações
4. Faça as alterações ao conteúdo das lições ou exemplos de código
5. Teste quaisquer alterações de código nos diretórios de projeto relevantes
6. Submeta pull requests seguindo as diretrizes de contribuição
### Para Aprendizes
### Para Estudantes
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 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 quizzes pós-lição
1. Faça fork ou clone do repositório
2. Navegue pelas pastas das lições sequencialmente
3. Leia os arquivos README de cada lição
4. Complete os quizzes pré-lição em https://ff-quizzes.netlify.app/web/
5. Trabalhe nos exemplos de código nas pastas das lições
6. Complete tarefas e desafios
7. Faça os 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
- **APIs**: Execute `npm start` nos respetivos diretórios das APIs
- **Documentação**: Execute `docsify serve` na raiz (porta 3000)
- **Quiz App**: Execute `npm run dev` no diretório quiz-app
- **Projetos**: Use a extensão Live Server do VS Code para projetos HTML
- **Projetos API**: Execute `npm start` nos respetivos diretórios API
## Instruções de Testes
## Instruções de Teste
### Testes do Quiz App
### Teste 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
```
### Testes da API Bancária
### Teste da API Bancária
```bash
cd 7-bank-project/api
@ -124,76 +124,76 @@ node server.js # Verificar se o servidor inicia sem erros
### Abordagem Geral de Testes
- 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
- Este é um repositório educativo sem testes automatizados abrangentes
- Testes manuais focam em:
- Exemplos de código executam sem erros
- Links na documentação funcionam corretamente
- Builds dos projetos completam com sucesso
- Exemplos seguem as melhores práticas
### Verificações Antes da Submissão
- Execute `npm run lint` em diretórios com package.json
- Verifique se os links markdown são válidos
- Teste exemplos de código no navegador ou Node.js
- Confirme que traduções mantêm a estrutura correta
- Execute `npm run lint` em diretórios com package.json
- Verifique se os links markdown são válidos
- Teste os exemplos de código no navegador ou Node.js
- Verifique se as traduções mantêm a estrutura adequada
## Diretrizes de Estilo de Código
### JavaScript
- 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
- Use sintaxe moderna ES6+
- Siga as configurações padrão ESLint fornecidas nos projetos
- Use nomes de variáveis e funções significativos para clareza educativa
- Adicione comentários explicando conceitos para os estudantes
- Formate usando Prettier onde configurado
### HTML/CSS
- Use elementos HTML5 semânticos
- Princípios de design responsivo
- Convenções claras de nomes de classes
- Comentários que explicam técnicas CSS para os aprendizes
- Elementos semânticos HTML5
- Princípios de design responsivo
- Convenções claras de nomes de classes
- Comentários explicando técnicas CSS para aprendizes
### Python
- Diretrizes de estilo PEP 8
- Código claro e educativo
- Dicas de tipos onde úteis para aprendizagem
- Diretrizes de estilo PEP 8
- Código claro e educativo
- Tipo de anotações onde útil para aprendizagem
### Documentação Markdown
- 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 nas imagens para acessibilidade
- Hierarquia clara de cabeçalhos
- Blocos de código com especificação de linguagem
- Links para recursos adicionais
- Capturas de ecrã e imagens nas pastas `images/`
- Texto alternativo para imagens para acessibilidade
### Organização 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 nas pastas `images/` específicas de cada lição
- Traduções na estrutura `translations/{language-code}/`
- Lições numeradas sequencialmente (1-getting-started-lessons, 2-js-basics, etc.)
- Cada projeto tem diretórios `solution/` e frequentemente `start/` ou `your-work/`
- Imagens armazenadas em pastas `images/` específicas da lição
- Traduções nas pastas `translations/{código-do-idioma}/`
## Construção e Implementação
## Construção e Deploy
### Implementação do Quiz App (Azure Static Web Apps)
### Deploy 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 deploy 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 a branch main
# Desdobra via fluxo de trabalho do GitHub Actions ao fazer push para o main
```
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`
Configuração Azure Static Web Apps:
- **Localização da app**: `/quiz-app`
- **Localização da saída**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Geração de PDF da Documentação
### Geração do PDF da Documentação
```bash
npm install # Instalar docsify-to-pdf
@ -204,79 +204,79 @@ npm run convert # Gerar PDF a partir do docs
```bash
npm install -g docsify-cli # Instalar o Docsify globalmente
docsify serve # Servir em localhost:3000
docsify serve # Servir no localhost:3000
```
### Builds Específicos de Projetos
### Builds Específicos de Projeto
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 passo de build, servir os ficheiros diretamente
Cada diretório de projeto pode ter seu próprio processo de build:
- Projetos Vue: `npm run build` cria bundles para produção
- Projetos estáticos: Sem passo de build, servem ficheiros diretamente
## Diretrizes para Pull Requests
### Formato do Título
Use títulos claros e descritivos indicando a área da alteração:
- `[Quiz-app] Adicionar novo quiz para a lição X`
- `[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`
Use títulos claros e descritivos indicando a área de alteração:
- `[Quiz-app] Add new quiz for lesson X`
- `[Lesson-3] Fix typo in terrarium project`
- `[Translation] Add Spanish translation for lesson 5`
- `[Docs] Update setup instructions`
### Verificações Requeridas
### Verificações Obrigatórias
Antes de submeter um PR:
1. **Qualidade do Código**:
- Execute `npm run lint` nos diretórios dos projetos afetados
- Corrija todos os erros e avisos de lint
1. **Qualidade do Código**:
- Execute `npm run lint` nos diretórios afetados
- Corrija todos os erros e avisos de linting
2. **Verificação de Build**:
- Execute `npm run build` se aplicável
- Assegure que não haja erros de build
2. **Verificação da Build**:
- Execute `npm run build` se aplicável
- Garanta que não ocorra erro na build
3. **Validação de Links**:
- Teste todos os links markdown
- Verifique se referências a imagens funcionam
3. **Validação de Links**:
- Teste todos os links markdown
- Verifique referências a imagens
4. **Revisão de Conteúdo**:
- Revise ortografia e gramática
- Garanta que exemplos de código estão corretos e educativos
- Confirme que traduções mantêm o significado original
4. **Revisão de Conteúdo**:
- Faça revisão ortográfica e gramatical
- Garanta 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
### Requisitos de 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/)
- Consultar [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Referenciar números de issues na descrição do PR quando aplicável
- Concordar com a Microsoft CLA (verificação automática no primeiro PR)
- Seguir o [Código de Conduta do Microsoft Open Source](https://opensource.microsoft.com/codeofconduct/)
- Ver [CONTRIBUTING.md](./CONTRIBUTING.md) para diretrizes detalhadas
- Referenciar números de issues na descrição do PR se aplicável
### Processo de Revisão
- PRs revistos por mantenedores e comunidade
- Prioridade na clareza educativa
- Exemplos de código devem seguir as melhores práticas atuais
- Traduções revistas quanto à precisão e adequação cultural
- PRs são revistos por mantenedores e comunidade
- Prioriza-se a clareza educativa
- Exemplos de código devem seguir as melhores práticas atuais
- Traduções são avaliadas para precisão e adequação cultural
## Sistema de Tradução
### Tradução Automática
- Usa GitHub Actions com workflow co-op-translator
- Traduções automáticas para mais de 50 línguas
- Ficheiros fonte nas pastas principais
- Ficheiros traduzidos em diretórios `translations/{language-code}/`
- Usa GitHub Actions com workflow co-op-translator
- Traduz para mais de 50 idiomas automaticamente
- Ficheiros fonte nas pastas principais
- Ficheiros traduzidos em `translations/{código-do-idioma}/`
### Adição de Melhorias Manuais à Tradução
### Melhorias Manuais nas Traduções
1. Localize o ficheiro em `translations/{language-code}/`
2. Faça melhorias preservando a estrutura
3. Assegure que exemplos de código permanecem funcionais
4. Teste qualquer conteúdo de quiz localizado
1. Localize o ficheiro em `translations/{código-do-idioma}/`
2. Faça melhorias preservando a estrutura
3. Assegure que os exemplos de código continuam funcionais
4. Teste qualquer conteúdo de quizzes localizado
### Metadados das Traduções
Ficheiros traduzidos incluem header de metadados:
Ficheiros traduzidos incluem cabeçalho de metadados:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -293,116 +293,116 @@ CO_OP_TRANSLATOR_METADATA:
### Problemas Comuns
**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 (por defeito: Vite usa a porta 5173)
**O quiz app não inicia**:
- Verifique versão do Node.js (v14+ recomendado)
- Elimine `node_modules` e `package-lock.json`, execute `npm install` novamente
- Verifique conflitos de porta (por padrão: Vite usa porta 5173)
**Servidor API não inicia**:
- 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`
**Servidor API não inicia**:
- Confirme que a versão do Node.js satisfaz o mínimo (node >=10)
- Verifique se a porta está em uso
- Garanta que todas dependências estão instaladas com `npm install`
**Extensão de navegador não carrega**:
- 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
**Extensão de navegador não carrega**:
- Verifique se o manifest.json está corretamente formatado
- Verifique erros no console do navegador
- Siga as instruções específicas para instalação da extensão no navegador
**Problemas no projeto Python chat**:
- Certifique-se que o pacote OpenAI está instalado: `pip install openai`
- Verifique se a variável de ambiente GITHUB_TOKEN está definida
- Confirme permissões de acesso aos Models do GitHub
**Problemas com projeto de chat Python**:
- Garanta que o pacote OpenAI está instalado: `pip install openai`
- Verifique se a variável de ambiente GITHUB_TOKEN está definida
- Verifique permissões de acesso aos GitHub Models
**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 a existência do ficheiro `docs/_sidebar.md`
**Docsify não serve documentação**:
- Instale docsify-cli globalmente: `npm install -g docsify-cli`
- Execute a partir da raiz do repositório
- Verifique se `docs/_sidebar.md` existe
### Dicas para Ambiente de Desenvolvimento
- Use VS Code com extensão Live Server para projetos HTML
- Instale 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
- Use VS Code com extensão Live Server para projetos HTML
- Instale extensões ESLint e Prettier para formatação consistente
- Use DevTools do navegador para depurar JavaScript
- Para projetos Vue, instale extensão Vue DevTools no navegador
### Considerações de Performance
- 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)
- Grande número de ficheiros traduzidos (50+ idiomas) torna clones completos grandes
- Use clone superficial se trabalhar apenas com conteúdo: `git clone --depth 1`
- Exclua traduções de pesquisas quando trabalhar com conteúdo em inglês
- Processos de build podem ser lentos na primeira execução (npm install, build Vite)
## Considerações de Segurança
### Variáveis de Ambiente
- Chaves de API não devem ser commitadas no repositório
- Use ficheiros `.env` (já incluídos no `.gitignore`)
- Documente variáveis de ambiente requeridas nos READMEs dos projetos
- Chaves de API nunca 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
### Projetos Python
- Use ambientes virtuais: `python -m venv venv`
- Mantenha dependências atualizadas
- Tokens do GitHub devem ter permissões mínimas necessárias
- Use ambientes virtuais: `python -m venv venv`
- Mantenha dependências atualizadas
- Tokens GitHub devem ter permissões mínimas necessárias
### Acesso aos Models do GitHub
### Acesso aos GitHub Models
- 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
- Tokens de Acesso Pessoal (PAT) são necessários para GitHub Models
- Tokens devem ser armazenados como variáveis de ambiente
- Nunca commit tokens ou credenciais
## Notas Adicionais
### Público-Alvo
- Iniciantes completos em desenvolvimento web
- Estudantes e autodidatas
- Professores que usam o currículo em salas de aula
- Conteúdo projetado para acessibilidade e progressão gradual de competências
- Iniciantes completos no desenvolvimento web
- Estudantes e autodidatas
- Professores que usam o currículo em salas de aula
- Conteúdo desenhado para acessibilidade e desenvolvimento gradual de competências
### Filosofia Educacional
### Filosofia Educativa
- Abordagem de aprendizagem baseada em projetos
- Verificações frequentes de conhecimento (quizzes)
- Exercícios práticos de programação
- Exemplos baseados em aplicações reais
- Foco nos fundamentos antes de frameworks
- Abordagem de aprendizagem baseada em projetos
- Verificações frequentes de conhecimento (quizzes)
- Exercícios práticos de programação
- Exemplos de aplicação real
- Foco nos fundamentos antes dos frameworks
### Manutenção do Repositório
- 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
- Comunidade ativa de aprendizes e contribuidores
- Atualizações regulares de dependências e conteúdo
- Issues e discussões monitorizadas pelos mantenedores
- Atualizações de tradução automatizadas via GitHub Actions
### Recursos Relacionados
- [Módulos 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, Ciência de Dados, ML, currículos IoT disponíveis
- [Microsoft Learn módulos](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
### Trabalhar com Projetos Específicos
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
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` - 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 AI
### Estrutura Monorepo
Embora não seja um monorepo tradicional, este repositório contém múltiplos projetos independentes:
- Cada lição é autocontida
- Projetos não partilham dependências
- Trabalhe em projetos individuais sem afetar os outros
- Clone o repositório completo para a experiência curricular completa
Embora não seja um monorepo tradicional, este repositório contém múltiplos projetos independentes:
- Cada lição é auto-contida
- Projetos não partilham dependências
- Trabalhe nos projetos individuais sem afetar os outros
- Clone o repositório completo para a experiência total do currículo
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Aviso Legal**:
Este documento foi traduzido utilizando o serviço de tradução 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.
**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 por garantir a precisão, por favor note que traduções automatizadas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional realizada por um ser humano. 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