valinor icon indicating copy to clipboard operation
valinor copied to clipboard

Workflow Kanban, projeto realizado por Lucas Dantas Coelho.

Open ldantsc opened this issue 1 year ago • 0 comments

Qual ferramentas e bibliotecas você usou ?

Utilizei as seguintes tecnologias.

Para o Front End utilizei as seguintes Frameworks e libs

  • Angular 17
  • Angular Material - Utilizado somente o MatIcons e Drag an Drop

Para o Backend

  • NestJS

Banco de dados

  • MongoDB

Deploy

  • Vercel
  • MongoDB Atlas

UI

  • Figma

Porque você optou pela tecnologia X e não a Y ?

Optei por utilizar estas tecnologias por seguir estritamente o desafio que foi proposto para o Valinor Kanban utilizando o Angular 17 e NestJS, já o banco de dados optei por utilizar o MongoDB, esta foi uma escolha em adquirir conhecimentos sobre o MongoDB e conhecer um pouco mais sobre banco de dados não relacionais, sou bastante curioso em sempre querer conhecer varias tecnologias de desenvolvimento web 😄.

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

Neste projeto utilizei alguns princípios de software que a principio foi uma parte crucial deste projeto, alguns fundamentos como modularidade, reutilização e principalmente uma maior preocupação com a separação de responsabilidades. Apliquei algumas técnicas de engenharia de software como analise de requisitos e a modelagem do mesmo utilizando um breve Use Cases Diagram UML e mais algumas estruturas visuais para facilitar a implementação do projeto e suas funcionalidades, que inclusive pode ser conferido no Miro clicando aqui.

Desafios e problemas que você enfrentou e como você resolveu

Diversos desafios foram enfrentados, um dos maiores desafios foram aprender e ler muita documentação sobre o NestJS e o MongoDB que ambos eu não tinha um conhecimento prévio, embora o que ajudou bastante foi ter conhecimentos prévios em Express e SQL que me ajudaram obter um aprendizado mais acelerado. Então a primeira semana do projeto foi inteiramente focada em aprender as ferramentas que eu iria utilizar e modelagem do projeto. Tive algumas outras questões de deploy do Backend por conta de CORS e HTTPS que dificultou as requisições com o meu Front.

Outro desafio foi em como realizar o relacionamento dos componentes por utilizar um banco não relacional, porém com sucesso realizei este quesito.

É claro que há diversos outros desafios devido ao fato de o projeto ter começado a crescer significativamente, e às vezes surgem algumas funcionalidades que não foram previstas anteriormente durante a modelagem do projeto e que acabaram sendo necessárias para o projeto

O que você entende que pode ser melhorado e como fazer isso

Na visão do projeto, poderia vir uma melhoria como refletir a ordenação dos cards e das colunas no banco de dados, melhorias visuais na UI e media queries para dispositivos de médio porte como tablets (neste projeto apliquei apenas para o campo mobile e desktop), poderia ser implementado futuramente mais alguns campos para os cards como tags e seleção de cores com opções de status para o card, o arquivamento e recuperação dos cards e melhorias de segurança e performance realizando testes de performance, unitários, integrados e e2e.

Considerações finais

Agradeço novamente pela oportunidade da Field Control, realiza-lo foi um grande desafio e um grande aprendizado por realmente ter realizado minha primeira aplicação Fullstack, estou bem feliz por isso. Irei enviar mais algumas informações do deploy no e-mail. Irei deixar aqui também o protótipo e alguns desenhos do projeto do FIGMA

https://www.figma.com/file/2sqyxocZrs1FjDtT5LM7NQ/Workflow?type=design&node-id=45%3A2&mode=design&t=JlXF6AhhwGPzCUsY-1

🚀 🚀 😃

Sobre mim

Nascido em 1996 de São Paulo/SP, entusiasta da tecnologia, músico e gamer nas horas vagas, desde 2022 venho me dedicando aos estudos em desenvolvimento web aprofundado nas principais tecnologias que a área exige como HTML, CSS e JavaScript, onde venho solidificando meus conhecimentos para criação de interfaces e componentes funcionais e responsivos. Tenho muita vontade de continuamente desenvolver meus estudos, tanto as minhas hardskills mas também minhas softskills para colaborar da melhor forma possível com equipes de desenvolvedores e entregar resultados significativos para clientes e empresas.

Contato

ldantsc avatar Mar 14 '24 22:03 ldantsc