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 com ApiDoc, Swagger ou Apiary, com todos os endpoints da sua api, 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 com funções e variáveis em ingles (PS: Documentação pode ser em portugues ou ingles);
- Environment de variaveis, sem ser HardCode;
Para ajudar você criamos essa sessão bônus, onde tem links para você que quer estudar algumas tips and tricks (não é requerido ver os links).
- TDD com Jest | Diego Fernandes
- Design Pattern | Filipe Deschamps
- NodeJS com Docker e Docker Compose | Diego Fernandes
- Factory + Injeção de Dependência | Filipe Deschamps
- Faça um fork deste projeto em sua conta no Github (crie um repositório privado).
- Em seguida, desenvolva o projeto.
- Adicione como membro do repositório o seguinte usuário do GitHub @vagas-modalservices;
- Por fim, envie um email informando que concluiu o desafio p/ [email protected]. (coloque no assunto o nome do desafio)
Muito obrigado Padawan por fazer parte da nossa equipe, agredecemos a sua participação, e que a força estejá com você