2.2 Criar página de cadastro
O usuário que ainda não possui uma conta deve poder se cadastrar. O usuário acessa a página de cadastro através do botão “Registrar-se” da página de login.
Para se cadastrar, o usuário deve informar nome de usuário, e-mail e senha. Antes de enviar a requisição para o back, a página deve conferir se as senhas são iguais.
No campo senha, o que for digitado não deve aparecer diretamente, contando somente com um símbolo padrão (bolinha, asteriscos) para o usuário visualizar quantos caracteres digitou, a não ser que o botão de ver senha (olho) seja selecionado. A página de cadastro só é responsável por garantir que o usuário indicou duas senhas iguais. O backend é responsável por checar que a senha informada atende aos requisitos (maiúscula, minúscula, número, caractere especial e mínimo de 8 caracteres).
A rota do back para cadastro é um POST para o endpoint /user/register
. É necessário enviar email, nome de usuário e senha (somente uma vez). A rota pode retornar com os seguintes status:
- 409 (Conflict) caso já haja um usuário com o mesmo e-mail ou mesmo username
- 400 (Bad Request) caso o corpo da requisição não contenha somente os dados especificados anteriormente
- 500 (Internal server error) pra qualquer erro relacionado ao servidor (como erro ao comunicar ao banco de dados)
- 201 (Created) quando o cadastro for realizado com sucesso.
A página deve informar o usuário caso tenha ocorrido um erro e, se for 400 ou 409, uma mensagem especificando como o usuário errou. Em caso de sucesso (201), o usuário deve ser redirecionado para a página de seleção de interesses (task #23)
Critérios de Aceitação
- Deve permitir ao usuário inserir nome de usuário, e-mail, senha e confirmar a senha;
- Os campos de senha devem esconder o que o usuário está digitando, exibindo somente um caractere padrão ("bolinhas");
- A página deve validar que as senhas informadas nos dois campos de senha são idênticas;
- Deve chamar a rota de cadastro do back e reagir de acordo com a resposta recebida.