O Valinor é um desafio de código proposto pela Field Control, nele, você pode realizar consultas de repositórios do GitHub, exibindo seus principais detalhes em tela.
Para o desenvolvimento do projeto, foi utilizado a API do GitHub disponibilizada gratuitamente para a comunidade. Para visualizar o projeto que realizei, acesse este link.
-
Optei por Angular pois entre Blazor (.NET) e o Angular, seria melhor já aplicar um intesivão para evoluir meu conhecimento no Framework que é utilizado na Field Control.
-
Na parte de estilização optei por Tailwind pois daria um visual mais moderno para a aplicação, já o Bootstrap traz um visual mais
boring
, uma vez que seu modelo visual já é manjado. -
Nos testes unitários eu utilizei o Jasmine e Karma pois foram as ferramentas que mais tive acesso à documentação para aplicar de forma prática e reaproveitar meu o conhecimento de Testes Unitários que reaproveitei do .NET no xUnit.
-
Factory Method: No meu SearchComponent trabalhei com FactoryMethod principalmente na função de Pesquisa, deixando o código mais legível numa situação onde há uma regra de negócio um tanto quanto complexa.
-
SOLID: Utilizei o SOLID em todo momento do desenvolvimento, buscando seguir padrões de nomenclaturas e convenções ao longo do desenvolvimento, principalmente no TypeScript (Services, Model, Views).
-
KISS (Keep It Simple, Stupid): Acredito que é um dos princípios que mais bato na tecla quando estou desenvolvendo uma aplicação ou desenrolando uma feature. O de manter um código simples e fácil de ser compreendido por desenvolvedores.
-
DRY (Don't Repeat Yourself): Na ideia de evitar repetição de código, é uma ótima prática evitar situações redundantes que podem ser simplificadas. Um exemplo utilizado na parte de Testes Unitários foi na criação do método createRepository(params[...]).
-
AAA (Arrange/Act/Assert): Nos testes unitários, reaproveitei o conhecimento obtido do .NET e pude desenvolver alguns testes unitários de forma a objetivar os detalhes principais do projeto seguindo boas práticas de organização e padronização para garantir clareza no desenvolvimento.
-
Mobile First: Desde o início do desafio dei uma atenção extra para a responsividade da aplicação. Devido o Tailwind já trabalhar com esse princípio, facilitou no desenrolar do desenvolvimento.
Durante o desenvolvimento do VALINOR, enfrentei alguns desafios notáveis:
-
Intensivão de Angular e Tailwind: Como foi minha primeira experiência com o Angular para desenvolver um SPA, tive que separar uma semaninha de estudos intensivos antes de startar esse desafio. O Tailwind foi também uma ferramenta que aproveitei para aplicar nesse meio tempo, porém foi mais fácil de se adaptar, pois tenho um background de CSS avançado, então com a documentação do Tailwind foi super tranquilo.
-
Desenvolvimento da Paginação: Não encontrei uma biblioteca que atendia aos estilos que eu gostaria, então tive que fazer uma paginação do zero, e resolver suas complexidades operacionais.
- Poderia realizar Testes Unitários adicionais. Foquei apenas nos detalhes principais de exibição para o usuário, então acredito que com algumas horinhas a mais, eu poderia dar um toque mais completo para eles.
De um modo geral, foi um desafio super legal, gostei de verdade de aplicar meus conhecimentos técnicos e foi ótimo ter a percepção que estou em dia pra desenrolar com as tecnologias atuais.
(17) 98138-3539 / 👉 What's App