-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Implementação
-
Concluiu com sucesso o desafio principal e o desafio extra!
-
Ótima preocupação em ir atualizando o
README.mdconforme ia terminando os desafios 😄 Muito bom! -
Excelente preocupação em colocar ainda mais FX novos no projeto, como o Fart Shitting e o Rapaaaz!
-
Bom trabalho se atentando aos metadados presentes no
package.json, como omain
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/package.json#L4
e também olicense
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/package.json#L6 -
Excelente trabalho adicionando o endereço da aplicação no Heroku na parte de preview
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/README.md?plain=1#L9-L11 -
Não só melhorou o desafio, como também melhorou infinitamente o README do projeto, adicionando a sessão Getting Started
Possíveis pontos de melhoria
-
Nesse caso inclusive pode colocar o
authornopackage.jsonsem medo de ser feliz! hahaha afinal essa é a sua implementação do projeto -
Sobre o README, pra deixar o projeto ainda com mais cara de seu, é interessante colocar também a foto de como ficou a sua demo com os efeitos novos (em vez da foto demo padrão do desafio):
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/README.md?plain=1#L13 -
No Getting Started, inclusive, vale ressaltar que a parte difícil de configurar (e que faz com que seja preferível o uso do Docker para evitar problemas configurando a aplicação em diferentes ambientes) é justamente a lib de áudio
libsox-fmt-mp3, então vale uma menção honrosa a esse carinha pra quem estiver tentando configurar a aplicação não passar batido por essa parte:
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/README.md?plain=1#L19-L21
Nota do Wells: Uma nota rápida tipo essa aqui (em formato de citação) é bem comum nesses casos em documentações oficiais pra deixar esse tipo de aviso.
/public
Pontos fortes
-
Bom trabalho ao se atentar ao padrão de estilização do código e qualidade de código no geral. Não só se baseou no código da aula, como melhorou e padronizou tudo! Senior demaaais! 🚀
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/public/controller/js/controller.js#L8-L10 -
Mais uma vez ressaltando o ponto extremamente positivo de inserir um novo FX e implementar ele pela aplicação
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/public/controller/index.html#L25-L26
Possíveis pontos de melhoria
- Detalhe de digitação simples, mas aqui seria
dependencies
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/public/controller/js/controller.js#L7
/server
Pontos fortes
-
Garantiu a entrega de arquivos estáticos e de música como Node.js Streams
-
Cumpriu todos os requisitos funcionais presentes nas especificações
-
Bom trabalho corrigindo o
RagespraRangesaqui
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/server/routes.js#L42 -
Organização legal das desestruturações no começo do arquivo
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/server/routes.js#L6-L11 -
Olha só, testando até mudanças no
chunkSizee tudo mais! Senior demais!! 🚀
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/server/service.js#L148-L151
Testes
- Conseguiu 100% de code coverage!
Possíveis pontos de melhoria
- Muito bacana sua iniciativa de colocar a saída do code coverage no
.gitignorepara evitar o trackeamento no git como num projeto real. Vou só acrescentar uma curiosidade aqui: Como um dos objetivos do desafio incluía o code coverage, uma coisa legal que pode ser feita é justamente deixar o code coverage trackeado no github e mostrar ele usando o github pages (inclusive podendo linkar essa saída no próprio README do projeto, como o Erick fez aqui:
Nota do Wells: aqui inclusive tem o link da página de coverage da aula 03 que tá ali no print, caso queira conferir.
- Mandou bem demais em usar a flag
--detectOpenHandlespra evitar a saída no terminal
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/package.json#L10
Só faltou colocar a flag também notest:coverage😉
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/package.json#L12
E2E
Pontos positivos
-
Testou completamente as possíveis interações externas com a aplicação de ponta a ponta
-
implementou o server garantindo que a instância seja única, como mencionado como melhoria pelo Erick em aula
https://github.com/Grilario/js-expert-spotify/blob/87d830975ec0b519c9da34ca6f4e74ef97e66cdb/tests/e2e/server/api.test.js#L18
Possíveis pontos de melhoria
Unitários
Pontos positivos
- Implementou com sucesso os testes unitários no desafio, tendo uma das maiores coberturas de teste entre os alunos
Possíveis pontos de melhoria
- Nesse caso aqui não deu erro pois você não está consumindo a stream,
https://github.com/Grilario/js-expert-spotify/blob/09b97977f040588a2f3b8abd61437f028c98210e/tests/unit/_util/testUtil.js#L28
mas caso estivesse, a aplicação lançaria umaexception, pois ogenerateWritableStreamespera receber uma função (onData) como parâmetro:
https://github.com/Grilario/js-expert-spotify/blob/02cd242a416eba58a1de4f24b7a759839be7f238/tests/unit/_util/testUtil.js#L17-L24
Próximos passos
Dado o seu empenho em implementar de forma impecável o desafio em todos os aspectos avaliados, fica aqui um direcionamento rápido como "possíveis próximos passos de melhoria", caso queira deixar tudo ainda mais Sênior:
- Você já tem o setup completo para poder usar GitHub Actions para fazer o deploy como CI, integrando o GitHub com o Heroku e deixando o seu currículo ainda mais preparado pro mercado! haha 🚀
Considerações finais
Concluiu com proficiência o Desafio principal e o desafio extra. E não só implementou o que foi visto nas aulas durante a Semana JS Expert, como também melhorou a estrutura dos próprios desafios em si e se comprometeu com o projeto como um todo, melhorando desde a documentação e scripts do projeto até implementações específicas testando mudanças de Bitrate e chunkSize. Deploy feito, 100% de coverage nos testes e 120% de empenho na Semana JS Expert. Parabéns, Luis Fernando! Mandou bem demaaaaais! 🚀
