Desafio em NodeJs sobre Bank as a Service
É de suma importancia que você leia até o final antes de começar a fazer o desafio
Aqui seus conhecimentos serão testados! Sua capacidade de lidar com problemas será testada! Sua força Jedi será testada! Então preparece, e se caso não estiver pronto... Bom, volte em outro momento, estaremos aguardando sua chegada.
Bom, somos Devs, como você, que passaram por esse processo, e iram passar por muitas mais coisas daqui para frente, então venha com a resistencia contra o lado sombrio, você terá varios mestres em sua jornada, e talvez você olhe para trás e veja o quão tranquilo foi essa batalha.
Porém, acho que já está bom de explicações, eu sei que para você estar aqui ainda, você está preparado! Então vamos dar um ponta-pé nessa jornada!
- Faça a API em NodeJs;
- Utilize o MongoDB como banco de dados da aplicação;
- Deve conter no minimo 3 models;
- Deve conter registro de pessoas;
- Deve conter uma listagem de pessoas;
- Deve conter um EndPoint de detalhes da pessoa;
- Deve conter envio de algum documento referente a pessoa;
- Deve conter registro de contas (vinculada a uma única pessoa);
- Uma pessoa pode ter apenas um conta;
- O sistema deve conter uma Autenticação por JWT (Será feito o login pela conta);
- Deve conter uma listagem de contas;
- Deve conter um EndPoint de detalhes da conta
- Cada conta deve ter um saldo único;
- Deve conter um EndPoint de P2P;
- Deve conter um EndPoint de vizualização de saldo da conta;
- Com tudo feito, gere uma documentação no lugar que preferir, com todos os EndPoints do seus sistema, com Payload e response (Tanto de sucesso quanto de erro).
O que é o P2P (Person to Person), consistem em um cash-out com uma quantia de saldo de uma conta X para um cash-in em da quantia de saldo para a outra conta Y.
Aqui vai um simples fluxograma sobre o P2P.
Os extras não são de extrema importancia, os extras não causaram nenhuma alteração na sua avaliação.
Serão considerados extras:
- Código bem documentado;
- Documentação gerada pela API como ApiDoc;
- Código todo em Ingles;
- Environment de variaveis, sem ser HardCode;
- Faça um fork deste projeto em sua conta no Github (crie um repositório privado).
- Em seguida, desenvolva o projeto.
- Por fim, adicione como membros do repositório @vcteduardo & @luoldrigues.
Muito obrigado Padawan por fazer parte da nossa equipe, agredecemos a sua participação, e que a força estejá com você