Skip to content

Desafio Kanban - Murilo Zanco#490

Open
murilozancodev-sys wants to merge 3 commits intoFieldControl:masterfrom
murilozancodev-sys:main
Open

Desafio Kanban - Murilo Zanco#490
murilozancodev-sys wants to merge 3 commits intoFieldControl:masterfrom
murilozancodev-sys:main

Conversation

@murilozancodev-sys
Copy link

@murilozancodev-sys murilozancodev-sys commented Mar 3, 2026

🚀 Desafio Kanban - Field

Sistema Kanban full-stack desenvolvido como desafio técnico, utilizando NestJS no backend e Angular (standalone components) no frontend.

O objetivo do projeto foi construir uma aplicação organizada, escalável e com boas práticas, focando na modelagem do domínio e nas regras de negócio de um sistema de gerenciamento de tarefas baseado em colunas.


📌 Visão Geral

A aplicação permite:

  • Criar cards
  • Mover cards entre colunas
  • Remover cards
  • Validar entradas via DTOs
  • Garantir integridade das regras de negócio
  • Executar testes unitários no backend

O foco principal foi a organização da arquitetura e a clareza do código, priorizando separação de responsabilidades e boas práticas.


🎥 Vídeo de Apresentação

https://www.loom.com/share/81972096f20c46d19ed7aa1022a7bb15


🧠 Decisões Técnicas

🔹 Backend — NestJS

Escolhi o NestJS por sua arquitetura modular, forte integração com TypeScript e suporte nativo a:

  • Injeção de dependência
  • DTOs
  • Pipes de validação
  • Exceptions padronizadas
  • Testes com Jest

A estrutura foi organizada por módulos, separando claramente:

  • Domínio de Boards
  • Domínio de Cards
  • Camada de Serviço (regras de negócio)
  • Camada de Controller (entrada HTTP)

Foram utilizados:

  • class-validator para validação
  • ValidationPipe global
  • NotFoundException e BadRequestException para tratamento adequado de erros

🔹 Frontend — Angular

O frontend foi desenvolvido com:

  • Angular standalone components
  • Separação em componentes (App e Board)
  • Data binding com ngModel
  • Comunicação via serviços HTTP

O foco foi manter o frontend simples, funcional e organizado, garantindo:

  • Renderização dinâmica das colunas
  • Atualização correta após ações
  • Layout inspirado em ferramentas Kanban modernas

🧪 Testes

O backend possui testes unitários utilizando Jest, cobrindo:

  • Criação de card
  • Movimentação de card
  • Tratamento de board inexistente
  • Regras de negócio principais

Para rodar os testes:

  • cd backend
  • npm install
  • npm run test

▶️ Como Executar o Projeto

  • Backend:

cd backend
npm install
npm run start:dev

cd frontend
npm install
ng serve
Aplicação disponível em:
http://localhost:4200

:construction_site: Estrutura do Projeto

backend/
├── boards/
├── cards/
├── dto/
└── tests/

frontend/
├── board/
├── services/
└── app.component

A estrutura foi pensada para facilitar manutenção futura e escalabilidade.

🔎 Possíveis Melhorias Futuras

Com mais tempo, seriam adicionadas:

  • Persistência com banco de dados (PostgreSQL)

  • Autenticação com JWT

  • Proteção de rotas no frontend

  • Deploy completo em ambiente cloud

  • Testes e2e

  • Drag and drop entre colunas

A arquitetura atual já permite essas evoluções sem grandes refatorações.

👨‍💻 Autor

Murilo Zanco Fria

Jovem Aprendiz na Seara Alimentos (Logística) em transição para a área de desenvolvimento de software, cursando Análise e Desenvolvimento de Sistemas (UNINTER).

Tenho grande interesse em backend, arquitetura de software e segurança da informação, e venho me aprofundando também em frontend com o objetivo de me tornar um desenvolvedor full stack, capaz de compreender o sistema de ponta a ponta.

Minha principal motivação são os desafios e a resolução de problemas, gosto de estar constantemente sendo desafiado e testado, pois isso ajuda MUITO na evolução. Acredito fortemente em melhoria contínua, então para mim, o fato de algo estar funcionando não significa que não possa evoluir, tanto em organização, performance ou em alguma experiência do usuário.

Conheci a Field através de um amigo que trabalha na empresa e fiquei muito interessado pela cultura de valorização de "jovens talentos", abertura a idéias e estímulo à criatividade. São pontos que se conectam diretamente com meu perfil, pois estou sempre buscando aprender, propor melhorias e crescer junto com o time, independente do meu cargo ou função.

Atualmente busco uma oportunidade para demonstrar minha dedicação, capacidade técnica e vontade de evoluir profissionalmente contribuindo de forma consistente para a equipe.

🔗 LinkedIn: https://www.linkedin.com/in/murilo-zanco-5b1957371/
💻 GitHub: https://github.com/murilozancodev-sys
✉️ murilozanco.dev@gmail.com
📞 (17) 992316656

🎯 Considerações Finais

O foco deste projeto foi demonstrar:

  • Organização de código

  • Clareza arquitetural

  • Uso correto das boas práticas

@murilozancodev-sys murilozancodev-sys requested a review from a team as a code owner March 3, 2026 23:49
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