Executando verificação de segurança...
3

Como meu MVP de reserva de laboratórios e salas para faculdade evoluiu?

Resumindo a fofoca, no post anterior eu falei de como estava o protótipo do projeto para a semana integradora na faculdade. Mas agora chegou a hora de colocar a mão na massa e dar forma ao projeto, aplicando os conceitos de Engenharia de Requisitos e POO. Eu fiquei com a responsavel pelo backend e pelo banco de dados, enquanto o frontend ficou com outro integrante do grupo.

No meio do caminho, decidi migrar o backend de Node.js + Fastify para Spring Boot. Sei que pode parecer "loucura" apostar em Java nessa altura, mas também quero aproveitar a oportunidade para ganhar experiência prática e colocar isso no currículo.

Além da migração, implementei um sistema de login e cadastro usando Spring Security + JWT. Ainda falta ajustar alguns pontos importantes, como a funcionalidade de recuperação de senha e o refresh token para manter a sessão ativa sem que o usuário precise logar toda hora.

O que vocês acham dessa mudança? E quais dicas dariam para implementar de forma segura a recuperação de senha, o login persistente e a invalidação de sessões?

Carregando publicação patrocinada...
2

Não entendi direito a mudança pra Java. Defina "mais experiência para o currículo", seria experiência de tecnologias diferentes?

Ou alterou porque ja pretende trabalhar com Java?

1

Digamos que os 2. Normalmente, empregos para java tendem a ser bom(salario e etc) e ter uma boa disponibilidade no brasil e mundo a fora, mas a unica desvantagem é que exigem uma boa carga de experiência, mas o projeto integrador ta sendo um ótimo pontapé inicial pra colocar no curriculo mais tarde. Resumindo, eu aspiro a um trabalho que seja com C#, java ou python(ciência de dados).

1

De Backend pra ciência de dados é uma grande diferença. Cuidado pra não querer "abocanhar" várias tecnologias e no final nao ser contratado por ser mediocre em todas.

Mas boa sorte, continue estudando!

1
2

Recuperação de senha via email fuciona bem desde sempre.

na maioria dos meus projetos eu plugo um email do gmail mesmo via smtp, é de graça e tanka bem centenas de usuarios

O padrão de sistemas universitarios é expirar a sessão mesmo, pedindo senha de novo, é o mais seguro se o sistema for usado em computadores compartilhados.

mas se quiser uma sessão mais persistente vai poder só aumentar a validade do jwt

jwt se tornou o padrão simples de quem não quer ter uma tabela no banco de dados para sessões, mas se você quiser tambem é só gerar um token aleatório salvar em uma tabela sessões com id do usuario e data de criação e consultar essa tabela em toda requisição, isso te daria liberdade de invalidar sessões mesmo antes de expiração, limitar a apenas 1 dispositivo logado por vez, mas acho que no seu caso não tem porque ter esse controle mais fino, jwt da conta do recado

1