Segunda rinha de backend! Segunda briga de linguagens e programadores de backend!
Como já dito antes, é tudo uma brincadeira para ajudar a comunidade a ter algo interessante para fazer :P!
A Rinha de Backend é um desafio que tem como principal objetivo compartilhar conhecimento em formato de desafio!
segunda edição tão legal quanto a primeira!
A data limite para enviar sua submissão é 2024-03-10T23:59:59-03:00 e em 2024-03-14T19:00:00-03:00 os resultados serão anunciados numa live no YouTube.
tema
O principal assunto dessa Rinha trata de controle de concorrência com o tema créditos e débitos (crébitos)
Algumas regras
Uma transação de débito nunca pode deixar o saldo do cliente menor que seu limite disponível. Por exemplo, um cliente com limite de 1000 (R 10) nunca deverá ter o saldo menor que -1000 (R -10). Nesse caso, um saldo de -1001 ou menor significa inconsistência na Rinha de Backend!
Se uma requisição para débito for deixar o saldo inconsistente, a API deve retornar HTTP Status Code 422 sem completar a transação! O corpo da resposta nesse caso não será testado e você pode escolher como o representar.
Se o atributo [id] da URL for de uma identificação não existente de cliente, a API deve retornar HTTP Status Code 404. O corpo da resposta nesse caso não será testado e você pode escolher como o representar. Se a API retornar algo como HTTP 200 informando que o cliente não foi encontrado no corpo da resposta ou HTTP 204 sem corpo, ficarei extremamente deprimido e a Rinha será cancelada para sempre.
Para saber mais
leia(leia mesmo) https://github.com/zanfranceschi/rinha-de-backend-2024-q1
qualquer pessoas pode participar com qualquer linguagem que desejar!
Boa sorte