Bem-vindo(a) ao guia rápido de acompanhamento e resolução dos DESAFIOS JS EXPERT!
Dica do Wells: Caso você esteja lendo o README.md no GitHub, saiba que tem uma visualização bem mais bonita desse readme usando o github pages logo aqui: VISUALIZAR O GUIA NO GITHUB PAGES
Aqui você tem acesso à lista atualizada de desafios e algumas dicas de qual módulo estudar.
Dica do Wells: Sinta-se livre pra criar um
fork
desse repositório e ir marcando os checkbox abaixo! ;)
- DESAFIO JS EXPERT 01 - PokeAPI:
Crie uma API que retorna times pokemón consumindo a PokeAPI com o objetivo de aplicar conceitos de testes unitários e de integração usando mocks, stubs, spies e mais. 100% de code coverage é o mínimo!
- O que estudar: Módulo 02 - Javascript Testing;
- Solução oficial: DESAFIO JS EXPERT 01 - PokeAPI - Solution.
- DESAFIO JS EXPERT 02 - Lifecycle:
Aplique conceitos do ciclo de vida do Javascript para fazer os testes passarem, prevendo todo tipo de comportamento maluco e coerções internas da linguagem!
- O que estudar: Módulo 03 - Conceitos fundamentais sobre o ciclo de vida do Javascript Parte 01;
- Solução oficial: DESAFIO JS EXPERT 02 - Lifecycle - Solution.
- DESAFIO JS EXPERT 03 - Terminal:
Descubra sua pretensão salarial em moedas estrangeiras usando internacionalização e conceitos de construção de CLIs - de quebra, claro, usando um pouco de ECMAScript modules!
- O que estudar: Módulo 04 - Conceitos fundamentais sobre o ciclo de vida do Javascript Parte 02;
- Solução oficial: DESAFIO JS EXPERT 03 - Terminal - Solution.
- DESAFIO JS EXPERT 04 - DataTypes:
Implemente uma Producer/Consumer Application para criar um sistema de recomendação manual de criptomoedas usando estruturas Javascript tão sênior que os exemplos em aula vêm diretamente do código fonte do NodeJS*!
- O que estudar: Módulo 05 - Advanced Javascript Data Types;
- Solução oficial: DESAFIO JS EXPERT 04 - DataTypes - Solution.
- DESAFIO JS EXPERT 05 - RegExp:
Implemente uma aplicação baseada em Facade/Fluent API para criar um sistema de mineração de dados Legislativos usando Expressões Regulares e TDD na prática!
- O que estudar: Módulo 06 - Expressões Regulares - RegExp;
- Solução oficial: DESAFIO JS EXPERT 05 - RegExp - Solution.
- DESAFIO JS EXPERT 06 - Patterns:
Implemente uma aplicação para Envio de mensagens em diferentes plataformas usando o que há de melhor em termos de Boas Práticas e Design Patterns Criacionais!
- O que estudar: Módulo 07 - - Design Patterns PT 01 - Best Practices and Creational Design Patterns;
- Solução oficial: liberação em breve.
Os Desafios JS Expert são desafios de código elaborados para te ajudar a fixar o conteúdo visto em aula de maneira dinâmica e - adivinha só - desafiadora!
Ou, nas palavras do Community Manager da EW.IT:
"A idéia é que cada desafio seja um projeto desafiador o suficiente para os alunos fixarem o conteúdo das aulas, mas guiado o suficiente para eles saberem o que fazer e onde procurar! - WellsSA.
A princípio cada desafio é diretamente atrelado a um módulo do treinamento JS Expert, que é informado dentro do próprio README do desafio.
Então você pode focar em aplicar as estruturas e conceitos vistos em aula num ambiente controlado usando o próprio código visto em aula em conjunto com o código base fornecido no próprio desafio para fixar essas estruturas e começar a arquiteturar casos de uso que de fato usem o que você está aprendendo!
-
Fixe o conteúdo na prática
Antes de tudo o mais clichê e importante: o aprendizado! Que é majoritariamente um dos pontos mais importantes de todo o treinamento.
-
Ganhe levels como um
@Challenger
!Na nossa comunidade do discord, pode reparar que existem os
@Challengers
, alunos que completaram os desafios anteriores. Cada desafio concluído no prazo equivale a 1 level up na comunidade, então quanto maior o nível do@Challenger
, mais desafios ele fez! -
Interação com a equipe da EW.IT
Periodicamente diferentes partes da EW.IT interagem com os
@Challengers
para trocar uma idéia, organizar lives, entender um pouco mais do momento profissional deles e de como está sendo o feedback dos desafios no geral; além de termos o contato mais próximo devido aos Code reviews personalizados (mais detalhes sobre isso a seguir). -
Interação com a comunidade
Sinta-se livre para mandar mensagens no canal pedindo ajuda ou ajudando os demais alunos, assim como conferir a solução dos seus colegas em tempo real e fazer boas amizades, além, claro, de poder pedir ajuda para os próprios organizadores dos desafios (Wells e Erick).
-
Code review de especialistas
Quando um desafio é liberado, ele tem um prazo (mencionado no README do próprio desafio). Concluindo o desafio dentro do prazo estipulado, você tem o direito a um code review feito diretamente pelo Community Manager da EW.IT, ressaltando seus pontos fortes e possíveis pontos de melhoria, como os exemplos a seguir de um dos nossos primeiros challengers:
Após escolher um desafio para fazer, crie um fork
do repositório do desafio no github, faça a sua implementação e mande o link do seu projeto lá no nosso canal #-desafios-jsexpert
na nossa comunidade do discord!
Para ter o code review personalizado a submissão precisa ser dentro do prazo proposto, mas caso você faça o desafio fora do prazo pode mandar lá também que nós ficamos felizes e você mostra o seu empenho! 🚀
🚨 IMPORTANTE: pra a correção e o feedback personalizado, garanta que o seu repositório no GitHub permite a criação de issues
Dica do Wells: Na página do próprio repo mesmo lá no GitHub é só marcar o checkbox de issues em
Settings > Features
. o/
Todo o ciclo de vida dos desafios acontece lá no discord, majoritariamente no canal #-desafios-jsexpert
, então pode ficar a vontade para:
- Mandar suas dúvidas lá no canal, já ajudando inclusive outras pessoas que poderiam ter essa dúvida no futuro!
- Mandar mensagens ao nosso Community Manager
@WellsSA
- que por sinal é quem cria os desafios, então dicas importantes podem surgir. - Ou até mesmo contatar os
@Challengers
, que com certeza terão bastante propriedade pra ajudar lá no discord também!
Cada desafio funciona individualmente e é atrelado a um módulo, então caso queira começar a partir do desafio mais recente para ter as correções no prazo ou mesmo começar do desafio de algum módulo que mais tenha te chamado atenção, fique à vontade pra fazer na ordem que desejar, com o tempo que tiver disponível! 😄
Dica do Wells: Vale lembrar que mesmo os desafios sendo individuais, eles vão progredindo conforme o curso progride também, então resolver eles gradualmente e em ordem conforme você acompanha o curso pode ser uma boa pedida, até pra você sentir como foi a evolução do processo de criação desses desafios com o passar do tempo. :)