Desenvolva uma solução em C# .NET 8 (ou superior) composta por uma WebAPI, uma WebApplication e um Serviço para disparo de emails.
- WebAPI: Integração da aplicação, oferecendo o serviço de cadastro.
- WebApplication: Interface web para realização do cadastro do cliente.
- Serviço de Disparo de Email: Envia email de notificação após conclusão do cadastro.
O cadastro do cliente será dividido em 4 partes:
- Dados básicos
- Nome
- Data de nascimento
- CPF
- Telefone
- Dados financeiros
- Renda
- Patrimônio
- Dados de endereço
- Rua
- Número
- Bairro
- Cidade
- Estado
- CEP
- Dados de segurança
- Senha
- Confirmação de senha
- Armazene os dados cadastrais em um banco de dados MongoDB. Use MongoDB Atlas gratuito ou Docker local.
- Consulte o CEP no serviço ViaCep.com.br.
- Valide:
- CPF
- Se o cliente é maior de idade conforme regras brasileiras
- Formato de email e telefone
- Renda + Patrimônio > 1000,00
- Armazene apenas o HASH da senha no banco de dados.
- Após conclusão do cadastro, envie uma mensagem para a fila
cadastro.em.analise.emaildo RabbitMQ. Use CloudAMQP gratuito ou Docker local.
- Use qualquer framework web (ASP.NET Razor Pages, WebForms, Pure HTML5, React, Angular, etc.).
- Divida o cadastro conforme os 4 passos informados.
- Após a última etapa, direcione o usuário para uma página informando que o cadastro está em análise.
-
Conecte-se à fila
cadastro.em.analise.emaildo RabbitMQ. -
Ao receber uma mensagem, envie um email para o cliente:
Olá {{nome}}, O seu cadastro está em análise e em breve você receberá um e-mail com novas atualizações sobre seu cadastro. Atenciosamente, Equipe PATHBIT
Ao concluir o desafio, organize o código em um repositório Git e envie o link para a equipe de recrutamento. Documente os passos para execução do projeto e quaisquer outras informações que considere relevantes.
Boa sorte!