Projeto valinor finalizado #468
Open
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:
Para desenvolver o projeto, utilizei NestJS no backend, com Prisma para gerenciamento do banco de dados e PostgreSQL como banco relacional. No frontend, utilizei Angular, aproveitando TypeScript para tipagem e maior robustez.
Framework, linguagem e ferramentas
-NestJS
-Prisma
-PostgreSQL
-Angular
Descreva ferramentas e bibliotecas (libraries, framework, tools etc) você usou.
Técnologias X e Y
No backend, utilizei NestJS, seguindo o requisito do teste, juntamente com Prisma para gerenciamento do banco de dados e PostgreSQL como banco relacional.
No frontend, utilizei Angular, conforme exigido no desafio, aproveitando TypeScript para tipagem e maior robustez.
Optei por Prisma em vez de ORMs tradicionais como Sequelize porque ele possui tipagem automática e integração nativa com TypeScript, garantindo menos erros em consultas ao banco.
Princípios de software
Quais princípios da engenharia de software que você usou?
-Separation of Concerns (SoC): Mantive frontend e backend separados e modulares.
-DRY (Don’t Repeat Yourself): Criei funções e módulos reutilizáveis, evitando duplicação de código.
-Clean Code: Busquei nomes claros para variáveis, funções e componentes.
Desafios e problemas
Migration do Prisma: Tive dificuldades para rodar as migrations corretamente, o que impedia a criação das tabelas no banco. Resolvi revisando a configuração do Prisma, garantindo que a conexão com o PostgreSQL estava correta e recriando as migrations quando necessário.
Execução do código: Inicialmente, tive problemas para rodar a aplicação completa, integrando frontend e backend, devido a pequenas incompatibilidades de versão e configurações de ambiente. Resolvi ajustando dependências, scripts de inicialização e verificando variáveis de ambiente.
Melhorias e próximas implementações
-Implementar validações mais detalhadas nos formulários e mensagens de feedback ao usuário.
-Adicionar log e monitoramento de erros para facilitar manutenção em produção.
-Adicionar autenticação JWT para segurança das rotas do backend.
Vídeo de apresentação
Grave um vídeo do seu projeto rodando e envie o link:
https://jam.dev/c/a51e0d0c-783a-4f42-97b5-1b5717ca8c36
Sobre você
Meu nome é Gabriel Portaluppi, tenho 19 anos, nasci em Osasco e atualmente moro em Bady Bassitt. Trabalho como estagiário de TI na Prefeitura de Bady Bassitt, e estou em formação como desenvolvedor Full Stack, apaixonado por tecnologia e resolução de problemas.
Atualmente curso Ciência da Computação e venho desenvolvendo projetos utilizando React, Next.js, Node.js, NestJS, Prisma e MongoDB. Busco constantemente evoluir e contribuir com soluções criativas e eficientes, sempre aplicando boas práticas de desenvolvimento e aprendizado contínuo.
Ah, deixe seu e-mail ou telefone para entrarmos em contato com você :)
Email: gabrielportaluppi533@gmail.com
Telefone: (11) 99982-5663