feat(docs): new I18n language pt-BR

This commit is contained in:
kabrunko-dev
2023-12-12 13:40:29 -03:00
parent c34ecfe64f
commit d6ba94e66d
9 changed files with 78 additions and 84 deletions

View File

@@ -15,7 +15,7 @@ sidebar:
## Informação
Em Angular, projeção de conteúdo é uma técnica poderosa para criar componente altamente personalizados. Usar e entender os conceitos do <b>ng-content</b> e <b>ngTemplateOutlet</b> pode melhorar significativamente sua habilidade na criação de componentes compartilháveis.
Em Angular, projeção de conteúdo é uma técnica robusta para criar componente altamente personalizados. Usar e entender os conceitos do <b>ng-content</b> e <b>ngTemplateOutlet</b> pode melhorar significativamente sua habilidade na criação de componentes compartilháveis.
Você pode aprender tudo sobre <b>ng-content</b> [aqui](https://angular.io/guide/content-projection#projecting-content-in-more-complex-environments), desde projeção simples até casos mais complexos.
@@ -25,13 +25,13 @@ Com essas duas ferramentas em mãos, você está pronto para realizar o desafio.
## Declaração
Você começará com uma aplicação totalmente funcional que inclui um _dashboard_, que possui um cartão de professor e de estudante. O objetivo é implementar o cartão de cidade.
Você começará com uma aplicação totalmente funcional que inclui um dashboard, que possui um cartão de professor e de estudante. O objetivo é implementar o cartão de cidade.
Apesar da aplicação funcionar, a experiência do desenvolvedor (DX) está longe de estar otimizada. Toda vez que você precisar implementar um novo cartão, você terá que modificar o `card.component.ts`. Em projetos reais, esse componente pode ser compartilhado entre várias aplicações. O objetivo do desafio é criar um `CardComponent` que possa ser personalizado sem nenhuma modificação. Uma vez criado o componente, você pode começar a implementar o `CityCardComponent` e assegurar que não mexerá no `CardComponent`.
Apesar da aplicação funcionar, a experiência do desenvolvedor (DX) está nem um pouco otimizada. Toda vez que você precisar implementar um novo cartão, você terá que modificar o `card.component.ts`. Em projetos reais, esse componente pode ser compartilhado entre várias aplicações. O objetivo do desafio é criar um `CardComponent` que possa ser personalizado sem nenhuma modificação. Uma vez criado o componente, você pode começar a implementar o `CityCardComponent` e assegurar que não mexerá no `CardComponent`.
## Restrições
- Você <b>deve</b> refatorar o `CardComponent` e `ListItemComponent`.
- A diretiva `NgFor` deve ser declarada e permanecer dentro do `CardComponent`. Você pode ficar instigado em querer movê-la para o `ParentCardComponent` como `TeacherCardComponent`.
- A diretiva `NgFor` deve ser declarada e permanecer dentro do `CardComponent`. Você pode ficar instigado em querer mover ela para o `ParentCardComponent` como `TeacherCardComponent`.
- `CardComponent` não deve conter nenhum `NgIf` ou `NgSwitch`.
- CSS: tente evitar usar `::ng-deep` (motivo [aqui](https://angular.io/guide/component-styles#deprecated-deep--and-ng-deep)). Ache uma maneira melhor para lidar com o CSS.
- CSS: tente evitar usar `::ng-deep`. Ache uma maneira melhor para lidar com o CSS.

View File

@@ -1,25 +1,25 @@
---
title: Verificar resposta dos outros
title: Verifique a resposta dos outros
description: Guia para verificar a resposta de outra pessoa
sidebar:
order: 3
---
Todas as respostas dos Desafios Angular são apresentadas na forma de _Pull Request_ (PR). Para ver e segui-las, navegue pela página **Files Changes** no GitHub. Entretanto, entender e seguir esse processo pode não ser direto se você não estiver familiarizado com a interface. Assim, você pode preferir verificar a _branch_ e revisar a solução na sua IDE de preferência.
Todas as respostas do Desafios Angular são apresentadas na forma de Pull Request (PR). Para ver e seguir elas, navegue pela página **Files Changes** no GitHub. Entretanto, entender e seguir esse processo pode não ser direto se você não estiver familiarizado com a interface. Muitas vezes, você pode preferir verificar a branch e revisar a solução na sua IDE de preferência.
Este guia foi criado para ajudar você a conseguir ver as respostas que desejar.
Este guia foi criado para ajudar você a conseguir isso.
## Confire PR de outra pessoa localmente
### Sincronize seu repositório
Primeiro, você precisa sincronizar seu _fork_ para garantir que ele está atualizado com o repositório bifurcado.
Primeiro, você precisa sincronizar seu fork para garantir que ele está atualizado com o repositório bifurcado.
Isso pode ser feito clicando no botão **Sync fork** na página principal de seu _fork_.
Isso pode ser feito clicando no botão Sync fork na página principal de seu fork.
![Sync project header](../../../../assets/fork-sync.png)
A imagem acima mostra que minha _branch_ está atrás da _branch_ principal por 8 _commits_, e será necessário sincronizá-la para ficar atualizada.
A imagem acima mostra que minha branch está atrás da branch principal por 8 commits, e será necessário sincronizá-la para deixar ela atualizada.
![Sync project update modal](../../../../assets/sync-fork-update.png)
@@ -29,7 +29,7 @@ Vá até o PR que desejar conferir localmente e pegue seu ID. Você o achará no
![PR header](../../../../assets/PR-header.png)
Depois, abra um terminal, vá até o diretório de seu projeto e execute o seguinte comando:
Depois, abra um terminal dentro do diretório de seu projeto e execute o seguinte comando:
```bash
gh pr checkout <ID>
@@ -40,7 +40,7 @@ Se você não lembrar o comando, clique no butão <span class="github-neutral-bt
![PR code modal](../../../../assets/PR-code-btn-modal.png)
:::note[Nota]
Se o comando não funcionar, a CLI do GitHub vai guidar você durante o processo.
Se o comando não funcionar ou fracassar, a CLI do GitHub vai guiar você durante o processo.
:::
🔥 Agora você pode navegar nas soluções localmente e rodá-las para testar. 🔥

View File

@@ -11,10 +11,10 @@ Você pode contribuir para este repositório das seguintes maneiras:
🔥 Responder desafios e submeter sua resposta (guia [aqui](/pt-br/guides/resolve-challenge)).
🔥 Comentar as soluções de outras pessoas dando _feedback_ construtivo e solidário.
🔥 Comentar as soluções de outras pessoas dando feedback construtivo e solidário.
🔥 Corrigindo erros de digitação (_typos_) ou erros de inglês na documentação.
🔥 Corrigindo erros de digitação (typos) ou erros de inglês na documentação.
🔥 Enviar um problema (_issue_) para sugerir novas ideias de desafios ou reportar um _bug_.
🔥 Enviar um problema (issue) para sugerir novas ideias de desafios ou reportar um bug.
🔥 Patrocinar o projeto [aqui](https://github.com/sponsors/tomalaforge).

View File

@@ -5,25 +5,25 @@ sidebar:
order: 5
---
Você tem uma ideia que gostaria de compartilhar, um _bug_ interessante que você está batendo a cabeça em um de seus projetos pessoais ou um truque no Angular que você descobriu. Todas essas possibilidades são um bom ponto de partida para criar um desafio e compartilhar a solução com as outras pessoas.
Você tem uma ideia que gostaria de compartilhar, um bug interessante que você está batendo a cabeça em um de seus projetos pessoais ou um truque no Angular que você descobriu. Todas essas possibilidades são um bom ponto de partida para criar um desafio e compartilhar a solução com as outras pessoas.
Mas como você pode criar esses desafios?
## Código _Boilerplate_
## Código Boilerplate
Para simplificar o processo, criei um gerador Nx que configurará todo código _boilerplate_ para você começar mais rápido. A maneira mais fácil é rodar, é usando o console Nx: vá para <b>Nx Console > generate > @angular-challenges/cli - challenge</b>
Para simplificar o processo, criei um gerador Nx que configurará todo código boilerplate para você começar mais rápido. A maneira mais fácil de rodar o código, é usando o console Nx: vá para <b>Nx Console > generate > @angular-challenges/cli - challenge</b>
### Parâmetros
#### parâmetros obrigatórios
- <b>title</b>: O título que você desejar dar para seu desafio.
- <b>title</b>: O título que você deseja dar para seu desafio.
:::note[Nota]
O título deve ter no máximo 25 caracteres.
:::
- <b>challengeDifficulty</b>: A dificuldade que você acredita que o desafio tem. Têm três níveis de dificuldade: 🟢 fácil / 🟠 médio / 🔴 difícil
- <b>name</b>: Nome da aplicação Nx.
- <b>name</b>: nome da aplicação Nx.
:::note[Nota]
Deve ser escrito em **kebab-case**.
:::
@@ -37,13 +37,13 @@ Para simplificar o processo, criei um gerador Nx que configurará todo código _
### O que é criado
- O gerador criará todos os arquivos necessários para ter uma nova aplicação funcional. Todos esses arquivos serão criado dentro de `apps/${directory}/${name}`
- Um arquivo Markdown com a configuração mínima será criado dentro de `docs/src/content/docs/challenges/${docRepository}`
- Um arquivo Markdown com uma configuração mínima será criado dentro de `docs/src/content/docs/challenges/${docRepository}`
## Criação do Desafio
A única coisa que falta é criar seu desafio. 🚀
:::danger[Perigo]
:::danger[Importante]
Não esqueça de atualizar a documentação para introduzir seu desafio e providenciar suas instruções.
:::

View File

@@ -6,9 +6,9 @@ sidebar:
---
<details>
<summary>Por que minha aplicação não roda ou por que eu encontro erros no meu terminal quando rodo `nx serve`?</summary>
<summary>Por que minha aplicação não roda ou por que eu encontro erros no meu terminal quando executo `nx serve`?</summary>
Na maioria das vezes, o problema surge por que seu `node_modules` está desatualizado e você precisar atualizá-lo executando o comando `npm ci`.
Na maioria das vezes, o problema surge por que seu `node_modules` está desatualizado e você precisa atualizá-lo executando o comando `npm ci`.
Se a instalação fracassar, você pode resolver deletando o diretório `node_modules` através do comando `rm -rf node_modules` ou `npx npkill`, e depois executar `npm ci` novamente.

View File

@@ -13,14 +13,14 @@ Se você desejar submeter uma resposta, será necessário ter uma conta pessoal
## Crie um fork do projeto GitHub
Navegue para o [reposítório do Desafios Angular](https://github.com/tomalaforge/angular-challenges) e clique o botão <span class="github-neutral-btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2">
Navegue para o [reposítório do Desafios Angular](https://github.com/tomalaforge/angular-challenges) e clique no botão <span class="github-neutral-btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2">
<path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path></svg>Fork</span> no cabeçalho. Isso criará uma cópia do repositório no seu GitHub pessoal.
## Clone o repositório para sua máquina local
Escolha um diretório/pasta no seu computador e clone o repositório.
Abra o terminal, navegue até a pasta selecionada e digite o comando:
Abra um terminal, navegue até a pasta selecionada e digite o comando:
```bash
git clone https://github.com/[SEU_NOME_GITHUB]/angular-challenges.git
@@ -35,7 +35,7 @@ Você pode achar a URL para clonar clicando no botão <span class="github-succes
## Abra o projeto na sua IDE favorita
Abra o projeto na IDE de sua escolha.
Abra o projeto em uma IDE de sua escolha.
## Instale todas dependências
@@ -45,12 +45,12 @@ npm ci
## Escolha um desafio
O seu projeto está pronto e executando. O que falta agora é escolher um desafio 🚀
O seu projeto está pronto e funcional. O que falta agora é escolher um desafio 🚀
Cada desafio consiste em:
- <b>Nome</b>: indica sobre o que o desafio é sobre.
- <b>Número</b>: ordem de criação. O número não tem nenhum significado, mas ajuda na referência para a seção de <i>Pull Request</i> no GitHub.
- <b>Nome</b>: indica sobre o que o desafio é.
- <b>Número</b>: ordem de criação. O número não tem nenhum significado, mas ajuda na referência para a seção de Pull Request no GitHub.
- <b>Indicador</b>: ajuda a visualizar o grau de dificuldade. É totalmente subjetivo 😅
- 🟢 fácil
- 🟠 médio

View File

@@ -5,57 +5,51 @@ sidebar:
order: 6
---
De tempos em tempos, mudanças podem ser adicionadas no projeto. Eu tentarei fazer mudanças que não quebrarão nada, mas algumas vezes é inevitável.
De tempos em tempos, mudanças podem ser adicionadas no projeto. Eu tentarei fazer mudanças que não quebrem nada, mas algumas vezes é inevitável.
Na maioria das vezes, você não precisará fazer _rebase_ na sua solução, mas aqui está um guia para ajudar em como fazer isso.
Na maioria das vezes, você não precisará fazer rebase na sua solução, mas aqui está um guia para ajudar em como fazer isso.
:::note[Nota]
Este guia é aplicável para qualquer Projeto de Código Aberto.
:::
## Passos para fazer _rebase_ na sua _branch_
## Passos para fazer rebase na sua branch
### Sincronize o repositório
### Sincronize seu repositório
Primeiro, você precisa sincronizar seu _fork_ para garantir que está tudo atualizado com o repositório bifurcado.
Primeiro, você precisa sincronizar seu fork para garantir que está tudo atualizado com o repositório bifurcado.
Você pode fazer isso clicando no botão <span class="github-neutral-btn"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M1.705 8.005a.75.75 0 0 1 .834.656 5.5 5.5 0 0 0 9.592 2.97l-1.204-1.204a.25.25 0 0 1 .177-.427h3.646a.25.25 0 0 1 .25.25v3.646a.25.25 0 0 1-.427.177l-1.38-1.38A7.002 7.002 0 0 1 1.05 8.84a.75.75 0 0 1 .656-.834ZM8 2.5a5.487 5.487 0 0 0-4.131 1.869l1.204 1.204A.25.25 0 0 1 4.896 6H1.25A.25.25 0 0 1 1 5.75V2.104a.25.25 0 0 1 .427-.177l1.38 1.38A7.002 7.002 0 0 1 14.95 7.16a.75.75 0 0 1-1.49.178A5.5 5.5 0 0 0 8 2.5Z"></path></svg>Sync fork</span> na página principal de seu _fork_.
Você pode fazer isso clicando no botão Sync fork na página principal de seu fork.
![Sync project header](../../../../assets/fork-sync.png)
A imagem acima mostra que minha _branch_ está atrás da _branch_ principal por 8 _commits_ e eu preciso sincronizar para atualizá-la com as mudanças mais recentes.
A imagem acima mostra que minha branch está atrás da branch principal por 8 commits e eu preciso sincronizar para atualizar ela com as mudanças mais recentes.
![Sync project update modal](../../../../assets/sync-fork-update.png)
### Abra um terminal
Abra um terminal de sua escolha, pode ser tanto na sua IDE de escolha ou uma instância independente.
Abra um terminal de sua escolha, pode ser tanto na sua IDE favorita ou uma instância independente.
### Git
Siga os seguintes commandos para realizar um _rebase_ na sua _branch_ local:
Siga os seguintes comandos para realizar um rebase na sua branch local:
```bash
git checkout main
git pull
git checkout [sua branch]
git rebase main
# Por fim, resolva os conflitos
```
- git checkout main
- git pull
- git checkout [sua branch]
- git rebase main
- Resolva Conflitos
Neste passo, o _rebase_ pode parar, porque sua _branch_ local tem arquivos conflitantes com a _branch_ principal. Corrija-os e depois disso feito:
Neste passo, o rebase pode parar, porque sua branch local tem arquivos conflitantes com a branch principal. Corrija-os e depois disso feito:
```bash
git add .
git rebase --continue
```
- git add .
- git rebase --continue
Se sua _branch_ não tem nenhum conflito, uma mensagem de sucesso será mostrada.
Se sua branch não tem nenhum conflito, uma mensagem de sucesso será mostrada.
### _Push_ seu trabalho para a _branch_ remota
### Faça um Push do seu trabalho para a branch remota
Finalmente, faça um _push_ do seu trabalho de volta para o GitHub:
Por último, faça um push do seu trabalho de volta para o GitHub:
```bash
git push -f
```
- git push -f

View File

@@ -1,22 +1,22 @@
---
title: Resolver um desafio
title: Resolva um desafio
description: Guia de como resolver um desafio
sidebar:
order: 2
---
Neste guia, você aprenderá em como resolver um desafio e submeter uma resposta para o repositório principal no GitHub.
Neste guia, você aprenderá como resolver um desafio e submeter uma resposta para o repositório principal no GitHub.
## Introdução
Este repositório é feito com [Nx](https://nx.dev/getting-started/intro). <b>Nx</b> é uma monorepositório que permite armazenar múltiplaa aplicações dentro de um mesmo espaço de trabalho. Cada desafio é uma aplicação separada. Se você abrir o diretório `apps`, achará várias pastas, sendo cada uma relacionada a um desafio específico. Cada diretório representar um aplicação `Nx` completa e independente. Para executar e começar uma aplicação, abra seu terminal e use:
Este repositório é feito com [Nx](https://nx.dev/getting-started/intro). <b>Nx</b> é um monorepositório que permite armazenar múltiplas aplicações dentro de um mesmo espaço de trabalho. Cada desafio é uma aplicação separada. Se você abrir o diretório `apps`, achará várias pastas, sendo cada uma relacionada a um desafio específico. Cada diretório representa um aplicação `Nx` completa e independente. Para executar e começar uma aplicação, abra seu terminal e use:
```bash
npx nx serve <NOME_APLICACAO>
```
:::note[Nota]
Se você não tem certeza quanto ao `NOME_APLICACAO`, abra o arquivo README.md com o nome do desafio. O comando `serve` está escrito nele com um link para a documentação do desafio.
Se você não tem certeza quanto ao `NOME_APLICACAO`, abra o arquivo README.md do desafio. O comando `serve` está escrito nele com um link para a documentação do desafio.
:::
:::note[Nota]
@@ -32,7 +32,7 @@ npm i -g nx
## Crie uma branch Git
Antes de começar a implementação de sua solução para um desafio, crie uma _branch_ para commitar seu trabalho.
Antes de começar a implementação de sua solução para um desafio, crie uma branch para commitar seu trabalho.
```bash
git checkout -b <NOME_BRANCH>
@@ -46,41 +46,41 @@ Siga as instruções para resolver o desafio.
O último passo é commitar seu trabalho seguindo o [Conventional Guidelines](https://www.conventionalcommits.org/en/v1.0.0/).
Finalmente, faça um _push_ do trabalho ao repositório remoto com o seguinte comando:
Finalmente, faça um push do trabalho ao repositório remoto com o seguinte comando:
```bash
git push --set-upstream origin <NOME_BRANCH>
```
:::tip[Não lembre disso]
Você não precisa lembrar do comando. Você pode simplemente lembrar do `git push` e se é a primeira vez que você efetua um _push_ na _branch_, `git` fornecerá para você o comando completo.
:::tip[Não precisa lembrar disso]
Você não precisa lembrar do comando. Você pode simplemente lembrar do `git push` e, se é a primeira vez que você faz um push na branch, `git` fornecerá para você o comando completo.
:::
## Submeta seu trabalho no Repositório Principal
## Submeta seu Trabalho no Repositório Principal
Agora, todo seu trabalho está localizado dentro de sua instância local do repositório do Desafios Angular.
O próximo passo é ir para a [página principal do Desafios Angular](https://github.com/tomalaforge/angular-challenges) e criar um novo _Pull request_.
O próximo passo é ir para a [página principal do Desafios Angular](https://github.com/tomalaforge/angular-challenges) e criar um novo Pull Request.
GitHub deve mostrar um cabeçalho notificação para ajudar a criação do _pull request_.
GitHub deve mostrar no cabeçalho uma notificação para ajudar a criação do pull request.
Se não mostrar, você pode ter feito um dos passos anteriores errado ou você pode ir para a aba <b>Pull Request</b> e clicar no botão <span class="github-success-btn">New pull request</span>.
Uma vez escolhidas as duas _branches_ para comparar, você deve ser redirecionado para a página:
Uma vez escolhidas as duas branches para comparar, você deve ser redirecionado para a seguinte página:
![New pull request screen](../../../../assets/new-pull-request.png)
Na seção do título, comece com <b>Answer:</b> seguido pelo <b>número do desafio</b>. Depois, você está livre para adicionar o que você desejar.
:::danger[Perigo]
:::danger[Importante]
Isso é muito importante. Isso deixará as outras pessoas saberem qual desafio você tentou resolver.
:::
Na seção de descrição, você pode adicionar perguntas, problemas que encontrou ou qualquer coisa que queira compartilhar. Você pode deixar vazio caso não tenha nada para dizer.
Você pode clicar em <span class="github-success-btn">Create pull request</span>.
Agora você pode clicar em <span class="github-success-btn">Create pull request</span>.
Eu lerei e comentarei <b>quando eu tiver algum tempo livre.</b>
Eu o lerei e comentarei <b>quando tiver algum tempo livre.</b>
<p class="important-block">Não se preocupe se sua resposta não for revisada imediatamente. Estou fazendo isso de <b>graça</b> e durante meu <b>tempo livre</b>. Se você quiser me ajudar, você pode fazê-lo <a href="https://github.com/sponsors/tomalaforge">me patrocinando no github</a>. Isso mostrará que meu trabalho é de grande ajuda para você e seu time.</p>
@@ -89,5 +89,5 @@ Todo mundo é bem-vindo para comentar e ver outros PRs.
:::
:::tip[Campeão OSS]
🔥 Ao terminar este tutorial, você está pronto para contribuir para qualquer outro repositório público do GitHub e submeter um PR. É tão simples quanto isso. 🔥
🔥 Ao terminar este tutorial, você está pronto para contribuir em qualquer outro repositório público do GitHub e submeter um PR. Simples assim. 🔥
:::

View File

@@ -4,9 +4,9 @@ description: Comece resolvendo esses desafios e se torne um melhor desenvolvedor
template: splash
noCommentSection: true
banner:
content: Eu terei menos tempo livre nos próximos dois meses, então não se preocupe se seus pull requests levarem um tempo para serem revisados.
content: Terei menos tempo livre nos próximos dois meses, não se preocupe se seus pull requests levarem um tempo para serem revisados.
hero:
tagline: Comece agora e vire um expert em Angular!
tagline: Comece agora e vire um especialista em Angular!
image:
file: ../../../assets/angular-challenge.webp
actions:
@@ -27,25 +27,25 @@ import { Card, CardGrid } from '@astrojs/starlight/components';
import MyIcon from '../../../components/MyIcon.astro';
<CardGrid>
<Card title="39 Desafios">
Este repositório possui 39 desafios relacionados a <b>Angular</b>, <b>Nx</b>, <b>RxJS</b>,
<Card title="40 Desafios">
Este repositório possui 40 desafios relacionados a <b>Angular</b>, <b>Nx</b>, <b>RxJS</b>,
<b>Ngrx</b> e <b>Typescript</b>.
Esses desafios são voltados para problemas reais ou funcionalidades específicas afim de
melhorar suas habilidades.
</Card>
<Card title="Torne-se um contribuidor OSS">
Um dos objetivos desse repositório é <b>baixar a barreira</b> de entrada para o Software de
Um dos objetivos desse repositório é <b>diminuir a barreira</b> de entrada para o Software de
Código Aberto (OSS). Ao realizar esses desafios, você aprenderá como começar a contruibuir em
qualquer outro Projeto de Código Aberto.
</Card>
<Card title="Aprenda junto com os outros">
Aprender e praticar um novo <i>framework</i> é sempre desafiador. O conjunto de desafios
Aprender e praticar um novo framework é sempre desafiador. Este conjunto de desafios
possui casos de uso reais para aplicarmos o que aprendemos. Qualquer um pode comentar e
oferecer assistência.
<b>
Aprender sozinho é legal, mas aprender juntos com outras pessoas levará você mais longe.
Aprender sozinho é legal, mas aprender junto com outras pessoas levará você mais longe.
</b>
</Card>
@@ -55,13 +55,13 @@ import MyIcon from '../../../components/MyIcon.astro';
</Card>
<Card title="Prepare-se para entrevistas">
Completar esses desafios vai preparar você para qualquer desafio técnico que encontrar em
uma entrevista a uma vaga frontend.
Completar esses desafios vai preparar você para quaisquer desafios técnicos que encontrar em
uma entrevista para uma vaga frontend.
</Card>
<Card title="Patrocínio">
Este projeto é livre e tem o objetivo de permanecer assim o máximo possível. No entanto,
tudo é feito durante meu tempo livre, incluindo a criação de desafios e revisão de <i>pull requests</i> (PRs).
tudo é feito durante meu tempo livre, incluindo a criação de desafios e revisão de pull requests (PRs).
<b>Patrocinar pode me ajudar e contribuir para o crescimento do projeto</b>.
</Card>
</CardGrid>