GoStack Challenge at Rocketseat 🚀
Aplicação para armazenar transações financeiras de entrada e saída, que deve permitir o cadastro e a listagem dessas transações..
Repositório oficial dos desafios
-
POST /transactions
: A rota deve recebertitle
,value
etype
dentro do corpo da requisição, sendotype
o tipo da transação, que deve ser income para entradas (depósitos) e outcome para saídas (retiradas).field example title Curso de programação value 400 type outcome -
GET /transactions
: Retorna uma listagem com todas as transações que você cadastrou até agora, junto com o valor de soma de entradas, retiradas e total de crédito. Exemplo:{ "transactions": [ { "id": "uuid", "title": "Salário", "value": 4000, "type": "income" }, { "id": "uuid", "title": "Freela", "value": 2000, "type": "income" }, { "id": "uuid", "title": "Pagamento da fatura", "value": 4000, "type": "outcome" }, { "id": "uuid", "title": "Cadeira Gamer", "value": 1200, "type": "outcome" } ], "balance": { "income": 6000, "outcome": 5200, "total": 800 } }
should be able to create a new transaction:
Aplicação permite que uma transação seja criada, e retorna um json com a transação criada.
should be able to list the transactions:
Aplicação retorna um objeto contendo todas as transações junto ao balanço de income, outcome e total das transações que foram criadas até o momento.
should not be able to create outcome transaction without a valid balance:
Aplicação não permite que uma transação do tipo outcome extrapole o valor total que o usuário tem em caixa, retornando uma resposta com código HTTP 400 e uma mensagem de erro.
👦 Carlos Kauãn - https://twitter.com/carlaodamassaa - carloskauanmoreiradesousa@gmail.com
Feito com 💚 por Carlos Kauãn