Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Envio de solução
Gostariamos de entender como você pensa e as decisões que você tomou durante o desenvolvimento, detalhe um pouco mais sobre:
Framework, linguagem e ferramentas
Descreva ferramentas e bibliotecas (libraries, framework, tools etc) você usou.
Ferramentas: Xamp, VsCode, postman (testar as rotas), MySql, phpmyadmin.
Frameworks:
NestJs: foi o meu primeiro contato com este framework, porém foi muito tranquilo aprender ele, tem muito vídeo pela internet e sua documentação é bem completa. Gostei muito.
Angular18: já tive contato com ele antes, na versão 11 em cursos. Posso dizer que aprendi mais fazendo este desafio, precisei buscar soluções para diversos problemas no código e na estrutura. Foi mais complicado do que o NestJs para entender.
Técnologias X e Y
Justifique porque você optou pela tecnologia X e não a Y?
MySql: escolhi usar por já conhecer e ter facilidade com a ferramenta.
NestJs e Angular18 foram exigências no teste.
No Angular optei por standalone component para facilitar a integração dos componentes, não usei rotas por ser uma aplicação pequena entendi que não precisava.
Escolhi Sass CSS por já ter experiência com ele.
TypeORM : a escolha do TypeORM foi motivada por seu poder em simplificar e modernizar a interação com bancos de dados, ele realiza operações de CRUD usando repositórios, tornando a interação com o banco de dados mais eficiente e alinhada às boas práticas de repositórios em sistemas de camadas.
Princípios de software
Quais princípios da engenharia de software que você usou?
Princípio da Separação de Responsabilidades (SRP):
No Angular, os componentes lidam com a exibição, enquanto os serviços são responsáveis pela comunicação com a API. Separei as responsabilidades entre o front-end (Angular) e o back-end (NestJS).
Princípio da Inversão de Dependência (DIP):
Ao usar a injeção de dependências no Angular (através de serviços como KanbanService) e no NestJS, desaclopei a lógica de negócios de seus componentes. Isso torna o sistema mais flexível, testável e de fácil manutenção.
Desafios e problemas
Conte um pouco sobre os desafios e problemas que você enfrentou e como você resolveu.
O primeiro desafio foi com os commits no repositório forkado, os arquivos subiam todos misturados, sem organização. Depois, de vários testes e branches criadas e excluídas, descobri que precisava realizar o clone para meu reposítório local. Era somente esse o erro, aprendi!
Um outro desafio foi o tempo, como trabalho e faço faculdade precisei me programar para dedicar um tempo para desenvolver esse desáfio durante a noite, acredito que o a falta de conhecimento nos frameworks me limitou na questão de atender a todos os requisitos no tempo determinado.
Melhorias e próximas implementações
O que você entende que pode ser melhorado e como isso pode ser feito?
Quero continar o desenvolvimento desse projeto melhorando o layout, implementando a função de mover os cards entre as colunas e alterar o status no banco de dados também, finalizar a implementação do crud e fazer testes unitários e integrados.
Vídeo de apresentação
https://youtu.be/OThAM_e8tKc
Sobre você
Queremos te conhecer um pouco melhor, conte um pouco sobre você.
Onde nasceu/De onde você é? Lugares que estudou, empresas que trabalhou, como você se envolveu com desenvolvimento de software.. enfim, Quem é você?
Nasci no Maranhão, mas moro em São José do Rio Preto desde 2010. Tenho 36 anos, Cursei Analise e desenvolvimento de sistemas na Fatec e atualmente curso tecnologo em Sistemas para Internet.
Trabalho atualmente como monitora de escritório em uma empresa de telecomunicações mas, quero ser desenvolvedora e seguir novos rumos, formando assim uma carreira. Desde a faculdade tive contato com programação, mas atuei principalmente com suporte no estágio. Gosto de estudar e me mantenho aprendendo estudando em todas as minhas horas vagas para estar apta para as oportunidades que surgirem.
Desde 2022 venho estudando contantemente sobre programação e me envolvendo em projetos que possam agregar em meus conhecimentos e me proporcionar experiência.
Agradeço pela oportunidade de fazer esse desafio que me fez dormir menos pois precisava me dedicar, fui além dos meus limites e me preocupei com a entrega. Tenho certeza que no próximo desáfio vou ser melhor ainda.