Terceiro dia do desafio 30 dias de código.
- #JavaScript
Sobre o desafio
Estou disposto a me desafiar a codar alguma coisa todos os dias durante 30 dias, afim de manter meu github ativo durante todos esses dias e aprimorar minha maturidade em relação à produção de projetos, à frequência de estudos e também com foco para melhorar minhas habilidades no mundo da programação. O foco é apenas melhorar cada dia mais como programador e como pessoa. Desafiei a mim mesmo a finalizar pelo menos um projeto por semana.
O que eu tinha que fazer
De ontem pra hoje me ficou faltando fazer as seguintes funcionalidades para o projeto:
- Adicionar função para remover livro da lista
- Adicionar função para favoritar o livro e enviar ele para uma tabela "livros favoritos"
- Adicionar funcionalidade para o link da loja pra comprar o livro.
- Melhorar a UI das mensagens de erro e sucesso.
O que já foi feito
Hoje eu enfrentei certos desafios em relação ao código já que não tinha uma base para a parte do que tinha que fazer. Mas esse é mesmo o propósito do desafio, enfrentar esses problemas, superar eles e aprender sempre coisas novas! Hoje eu consegui produzir:
- Adicionar funcionalidade para mostrar um certo texto no campo que faltou preencher.
- Adicionar funcionalidade para o botão de remover o livro da lista.
- Melhorar a UI das mensagens de erro e sucesso, da animação do label e melhorado um pouco a responsividade do projeto.
O que eu aprendi enquanto produzia
Durante a produção da funcionalidade que adiciona um texto no campo que faltou preencher, tive a oportunidade de compreender melhor sobre o funcionamento da função forEach() e também compreender o funcionamento por de trás da função querySelectorAll(). Compreendendo ambos, eu consegui finalizar a funcionalidade descrita, e me deu a vontade de estudar ainda mais sobre o assunto para:
- Encurtar a quantidade de constantes criadas, afim de tornar o código mais limpo
- Desenvolver funcionalidades futuras para o projeto, quais ainda tou pensando sobre.
- Tornar mais prático o uso das condicionais sobre os inputs.
Sobre as outras funcionalidades desenvolvidas não há muito o que falar, foram utilizados métodos que eu já conhecia de experiências passadas. Só que eu ainda preciso estudar um pouquinho melhor, pois preciso resolver um problema na funcionalidade de remover o livro da lista:
- O botão não executa a função ao clicar no ícone da lixeira, apenas executa se clicado no campo de fora da lixeira.
Creio ser um problema fácil de ser resolvido e assim acontecerá o quanto antes.
O que eu ainda preciso fazer
Ainda é necessário desenvolver:
- Funcionalidade para favoritar o livro e adicionar na futura tabela "livros favoritos"
- Funcionalidade para verificar o link da loja do livro e para te encaminhar à ela ao clicar no campo para isso.
Como está o projeto
O projeto embora seja simples, acabou por me permitir aprender muitas coisas novas. E creio que ao decorrer dele eu ainda vou aprender muito mais coisas novas.
Você pode ver como está o projeto acessando o vídeo abaixo:
E você pode acessar o código do projeto acessando o repositório dele no meu github:
https://github.com/LeonCelestino/book-list-app
Finalização
O dia foi longo e bem cansativo, mas também foi muito produtivo! Consegui compreender melhor sobre o funcionamento de algumas funções e graças a isso sinto poder em breve fazer funcionalidades bem bacanas nesse projeto!
Agora encerro o meu segundo dia do desafio. Espero conseguir me manter firme e forte durante os próximos 28 dias (coincidentemente hoje é dia 28)!
Se você tiver qualquer dica sobre qualquer coisa para me dar, fique a vontade para dizer. Sou uma pessoa aberta a sugestões e disposta a sempre ser melhor do que era ontem.
Até amanhã!