Uma API de transferência de dinheiro como a do PicPay
Desafio intermediário 🐥
Problema
Nesse desafio você tem a responsabilidade de criar uma Restful API que provê formas de transferir dinheiro de uma pessoa para outra. Cada usuário no sistema tem um saldo que é atualizado em cada transferência.
Requisitos
Crie um enpoint que recebe o dois ids de usuários, e um valor monetário representando a transferência entre eles.
Crie um endpoint que recebe um id de usuário e retorna o saldo dele.
Valide se o usuário de origem tem saldo suficiente antes da transferência.
É preciso pensar na possibilidade de concorrência de transferências onde duas pessoas tranferem dinheiro ao mesmo tempo para uma terceira.
Se uma transferência falhar, o saldo do usuário de origem deve ser restaurado.
Não é necessário endpoints para criar usuários, popule o banco de forma com que os dois usuários existam e que transferências possam ser feitas entre eles.
O que você vai aprender
Rest APIs
Golang
Postgres
Inspirado em desafios de empresas como
Plano Pro
Tenho acesso a todos os conteúdos privados com nosso plano Pro.