- O desafio consiste no desenvolvimento de uma API REST utilizando as tecnologias listadas abaixo.
- Caso nĆ£o termine desenvolver todo o desafio, envia o que conseguir que nĆ³s avaliaremos com muito prazer.
- Crie um repositĆ³rio pĆŗblico no GitHub e envie o link para o e-mail
vanericadias@grupobrisanet.com.br
com assuntoDesafio Back end Brisalabs
.
-
O desafio consiste em desenvolver uma API REST para o sistema de transaƧƵes do BrisaPIX.
-
BƔsico
- Requisitos
- O sistema deve ser capaz de estabelecar uma conexĆ£o com um banco de dados Postgres.
- O sistema deve ser capaz de lidar com requisiƧƵes com formato de dados do tipo
JSON
. - O sistema deve ser capaz de cadastrar usuƔrios.
- O sistema deve ser capaz de persistir essas informaƧƵes em um banco de dados relacional.
- Adicionar arquivo de rotas do Insomnia
- Adicionar migrations
- Requisitos
-
IntermediƔrio
- Requisitos
- O sistema deve ser capaz de cadastrar chaves PIX para os usuƔrios jƔ cadastrados.
- Uma chave nĆ£o poderĆ” ser cadastrada mais de uma vez.
- Cada usuƔrio poderƔ ter no mƔximo 3 chaves.
- O sistema deve ser capaz de realizar transaƧƵes PIX utilizando chaves cadastradas de usuƔrios.
- Cada transaĆ§Ć£o deve ser identificada de forma Ćŗnica por um id.
- Cada transaĆ§Ć£o deve conter a chave do usuĆ”rio que envia e do usuĆ”rio que recebe o PIX, alĆ©m do valor, claro.
- O sistema deve listar as transaƧƵes feitas por um usuƔrio
- O sistema deve ser capaz de persistir essas informaƧƵes em um banco de dados relacional.
- Adicionar testes unitƔrios
- Requisitos
-
AvanƧado
- Requisitos
- O sistema deve ser capaz de enviar um email notificando o envio e recebimento de um pix.
- O email de chegada deve ter o valor recebido, o nome de quem enviou e a data.
- O email de envio deve ter o valor enviado, o nome de quem recebeu e a data.
- Adicionar tratamento de erros de maneira global
- Requisitos
-
Bonus
- Adicionar um
docker-compose
e umDockerfile
. - Adicionar o diagrama do banco de dados.
- Adicionar um
- UsuƔrios
- O usuƔrio deve possuir nome (nome do usuƔrio), telefone (telefone do usuƔrio), email e um id.
- Chaves.
- A entidade chaves deve possuir um valor (referente a chave a ser salva), id e a relaĆ§Ć£o com o usuĆ”rio dono da chave.
- TransaƧƵes.
- A transaĆ§Ć£o deve possuir um valor (referente ao valor em R$ da transaĆ§Ć£o), relaĆ§Ć£o com quem envia e quem recebe o PIX (usuĆ”rio que envia e usuĆ”rio que recebe o PIX) e um id.
- Arquitetura
- Clean code
- Clareza
- AusĆŖncia de bugs