Skip to content

Conversation

@MajuGanzella
Copy link

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.

Para o desenvolvimento do projeto Kanban, utilizei as seguintes ferramentas e tecnologias:
Angular: Framework principal do front-end, utilizado para construção da interface, organização dos componentes e integração com o backend.
Angular CDK (Drag and Drop): Biblioteca usada para implementar a funcionalidade de arrastar e soltar os cards entre as colunas.
TypeScript: Linguagem utilizada no front-end, trazendo tipagem e mais segurança no desenvolvimento.
HTML e CSS: Utilizados para estruturar e estilizar a interface do usuário.
Node.js + NestJS (backend): Responsáveis pela criação da API, organização da lógica do servidor e comunicação com o banco de dados.
TypeORM: Utilizado para o mapeamento das entidades e integração com o banco de dados.
SQLite: Banco de dados leve, escolhido pela simplicidade e facilidade de configuração.
Visual Studio Code: Ambiente de desenvolvimento (IDE) escolhido por ser uma ferramenta que já tenho familiaridade e que oferece muitos recursos úteis.

Técnologias X e Y
Justifique porque você optou pela tecnologia X e não a Y?

As tecnologias principais (Angular e NestJS) foram definidas pelo desafio. Dentro desse ecossistema, optei pelo TypeORM com SQLite pela rapidez na configuração do ambiente de desenvolvimento, permitindo focar na lógica de negócio. Para o ambiente de desenvolvimento, utilizei o VS Code, por ser uma ferramenta extensível e que oferece excelente suporte ao TypeScript através de plugins de linting e debugging.

Princípios de software
Quais princípios da engenharia de software que você usou?

Separação de responsabilidades: Divisão clara entre front-end e back-end, além da separação entre componentes, serviços e modelos no Angular.
Modularização: Uso de serviços específicos (ColumnsService, CardsService) para centralizar a lógica de comunicação com a API.
Reutilização de código: Criação de modelos (interfaces) para evitar duplicação e facilitar a manutenção.
Manutenibilidade: Organização do código de forma clara, facilitando futuras melhorias e correções.
Incrementalidade: Desenvolvimento do projeto por etapas, adicionando funcionalidades aos poucos.

Desafios e problemas
Conte um pouco sobre os desafios e problemas que você enfrentou e como você resolveu.

O maior desafio foi o curto prazo para aprender e aplicar um framework que eu ainda não dominava. Adotei uma estratégia de imersão: dediquei o início do projeto ao estudo da documentação oficial e conceitos fundamentais do NestJS.
Sobre o Drag and Drop, enfrentei problemas de sincronização onde o estado do front-end divergia do banco de dados.
Para solucionar erros complexos, utilizei uma combinação de análise de logs, consultas à documentação e ferramentas de IA como apoio para entender a causa raiz.

Melhorias e próximas implementações
O que você entende que pode ser melhorado e como isso pode ser feito?

Identifiquei oportunidades para evoluir o projeto em futuras iterações:

Experiência do Usuário (UX/UI): Refinamento da interface para torná-la mais responsiva e intuitiva, incluindo feedbacks visuais para ações de sucesso ou erro.
Gestão de Prazos: Implementação de campos de data com alertas visuais para tarefas próximas do vencimento.
Sistema de Autenticação: Criação de um módulo de login para permitir que múltiplos usuários gerenciem seus próprios quadros de forma privada.
Colaboração: Funcionalidade para atribuir responsáveis aos cards e permitir comentários, simulando um ambiente real de equipe.

Vídeo de apresentação
Link do vídeo:
https://jam.dev/c/967990a8-aa03-48d8-bee3-196c927b0050

Sobre você
Meu nome é Maria Julia Paes Ganzella, tenho 18 anos e sou natural de São José do Rio Preto-SP. Recentemente, concluí o ensino médio no SESI e o curso técnico em Análise e Desenvolvimento de Sistemas no SENAI, onde consolidei minha base em tecnologia.

Minha trajetória é marcada por uma grande paixão pela robótica. Durante dois anos, integrei a equipe RPRT Hawks 9459 na modalidade FRC (FIRST Robotics Competition). Em nosso primeiro ano 2024, conquistamos o Team Sustainability Award. Já em 2025, fomos aliança finalista na etapa nacional e competimos no mundial em Houston, Texas, onde recebemos o prestigiado prêmio Rising All-Star.

Essas experiências internacionais e competitivas me ensinaram muito mais do que técnica: aprendi sobre trabalho em equipe, resiliência e a importância de buscar soluções inovadoras para problemas complexos. Foi nesse ambiente que decidi me aprofundar no desenvolvimento de software, buscando sempre aplicar as melhores práticas e estudar novas linguagens para entregar resultados de alta qualidade.

Atualmente, sigo em constante evolução técnica e pretendo iniciar o curso superior de Análise e Desenvolvimento de Sistemas em 2026, com o objetivo de construir uma carreira sólida e impactante na área de tecnologia.

Outros detalhes

Se quiser enviar alguma informação adicional sobre o desafio..

Gostaria de ressaltar que este desafio foi uma experiência de aprendizado intensa e recompensadora. Foi meu primeiro contato prático com a estrutura do NestJS. Estou muito motivada para continuar evoluindo nessas tecnologias e contribuir com a equipe. Agradeço pela oportunidade de realizar este teste técnico e sigo à disposição para eventuais dúvidas.

Ah, deixe seu e-mail ou telefone para entrarmos em contato com você :)
maju.ganzella@gmail.com
17 98800-5852

@MajuGanzella MajuGanzella requested a review from a team as a code owner January 19, 2026 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant