Skip to content

cKauan/nodejs-fundamentals

Repository files navigation

Logo

NodeJS Concepts

GoStack Challenge at Rocketseat 🚀

🚀 Sobre o Desafio

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

📌 Rotas

  • POST /transactions: A rota deve receber title, value e type dentro do corpo da requisição, sendo type 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
        }
    }

🎯 Testes

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.

Contato

👦 Carlos Kauãn - https://twitter.com/carlaodamassaa - carloskauanmoreiradesousa@gmail.com

Feito com 💚 por Carlos Kauãn