🚀 Capítulo 20: Projeto Final Parte 2: Automatizando Tudo (Tema: Ready Player One)
NOTE
Este é o capítulo final do curso de Guia de Ferramentas! Parabéns por chegar até aqui. Agora vamos colocar o nosso setup para rodar na velocidade máxima para vencer o desafio final!
1. 🎯 Objetivo da Aula
Consolidar os conceitos aprendidos ao longo do curso (Git, Docker, CI/CD, Linters, APIs) simulando a Execução e a resolução de problemas do dia a dia de um projeto usando as ferramentas corretas.
2. 🏢 O Cenário Prático (Seu Desafio)
No capítulo anterior, você escolheu as ferramentas do seu inventário para o projeto do aplicativo de entregas por drones “Super-Entrega”. Agora a grande corrida começou! Os programadores estão trabalhando e você precisa garantir que a equipe seja rápida e que o sistema não caia.
Como em Ready Player One, para vencer os desafios e encontrar as chaves do OASIS, você precisa usar os seus itens mágicos (as ferramentas) na hora certa:
- Se um monstro gigante atacar, você usa o robô gigante.
- Se precisar correr na pista cheia de armadilhas, você usa o carro veloz.
No desenvolvimento de software, cada problema exige uma ferramenta do seu cinto. Seu desafio final é resolver as crises usando o que você aprendeu!
🧠 Fundamentos: A Teoria Traduzida
Vamos ver como as ferramentas trabalham juntas para vencer a corrida:
🛠️ Cenários de Crise e Resolução:
1. O Problema da Desorganização:
Dois programadores alteraram o mesmo arquivo e tentaram enviar para o GitHub. O sistema deu erro de Conflito.
- A Solução: Eles usam o comando
git merge(ou resolvem visualmente no VS Code), conversam pelo Slack para decidir qual versão fica, e enviam a versão corrigida!
2. O Problema da Qualidade:
Um programador novo enviou um código cheio de erros de indentação e variáveis sem uso.
- A Solução: O GitHub Actions (a esteira) barra o código dele automaticamente porque o ESLint e o Prettier avisaram que o código não estava no padrão da empresa! O código nem chega a ir para o servidor.
3. O Problema do Ambiente:
O sistema rodou lindo no computador do dev, mas quebrou no servidor.
- A Solução: A equipe usa o Docker! Eles empacotam o app em uma imagem e agora ele roda exatamente igual no PC e no servidor, sem surpresas!
4. 📖 Exemplo Guiado: O Checklist do Tech Lead
Antes de considerar o curso concluído e a corrida vencida, garanta que você sabe responder:
- Onde guardo o código? (GitHub)
- Onde digito o código? (VS Code)
- Como testo a API? (Postman)
- Como garanto que roda em qualquer lugar? (Docker)
- Como automatizo os testes? (GitHub Actions)
5. 🛠️ Prática Obrigatória: Tomada de Decisão
Você é o Líder Técnico. Qual ferramenta (ou conceito) do curso você usaria para resolver os seguintes problemas?
- Cenário A: O cliente quer que o aplicativo tenha um design escuro (Dark Mode) lindo e moderno. Antes de gastar semanas programando isso, qual ferramenta você usaria para desenhar as telas e mostrar para ele aprovar em 1 dia?
- Cenário B: O programador diz que o código dele está pronto, mas você quer garantir que ele não quebrou nenhuma outra parte do sistema. Você vai ficar testando tudo na mão ou usará qual ferramenta para fazer isso sozinho?
7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
- Faça o Commit: No GitHub Desktop, digite a mensagem (ex:
Finaliza Capítulo 20 GuiaFerramentas) e clique em Commit to main. - Envie para a Nuvem (Push): Clique em Push origin.
8. 📂 Estrutura de Pastas
extra_guia_de_ferramentas/
├── capitulos/
│ └── capitulo_20_projeto_p2.md💡 Checkpoint de Lógica
Parabéns por concluir o curso! Ferramentas são apenas meios para atingir um fim. A melhor ferramenta é aquela que resolve o seu problema. Não se apegue a marcas: o que você aprendeu aqui (Conceitos de Git, Contêineres, APIs, Automação) valerá para qualquer ferramenta que surgir no futuro!
10. 🔥 Desafio de Fixação
Escreva um pequeno texto de 3 linhas dizendo qual foi a ferramenta que você mais gostou de conhecer neste curso e por quê.
🔑 Gabarito de Código/Fórmulas
Gabarito da Prática Obrigatória:
- Figma. Com ele você pode desenhar as telas e criar um protótipo clicável muito rápido para o cliente aprovar!
- GitHub Actions (ou qualquer ferramenta de CI/CD). Ela rodará os testes automatizados do projeto sozinha sempre que o programador enviar o código, garantindo que nada foi quebrado!