- Ter o Node.js instalado acima da versão 16.13.1;
- Algum Rest Client: Insomnia, Postman, cURL, Thunder;
Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env
API
PORT
NODE_ENV
DATABASE_URL
TEST
DATABASE_URL
Clone o projeto
git clone https://github.com/flpcastro/api-node-transactions.git
Entre no diretório do projeto
cd api-node-transactions
Instale as dependências
yarn
Rode as migrations
yarn knex migrate:latest
Inicie o servidor
yarn dev
- O usuário dever poder criar uma nova transação;
- O usuário deve poder obter um resumo da sua conta;
- O usuário deve poder listar todas transações que já ocorreram;
- O usuário deve poder visualizar uma transação única;
- A transação pode ser do tipo crédito que somará ao valor total, ou débito que irá substrair;
- Deve ser possível identificarmos o usuário entre as requisições;
- O usuário só pode visualizar transações o qual ele criou;
Criação
POST '/transactions'
Parâmetro | Tipo | Descrição |
---|---|---|
title |
string |
Titulo da Transação. |
amount |
number |
Valor da Transação. |
type |
string |
Se é crédito ou débito. |
Buscar todas
GET /transactions
Buscar pelo ID
GET /transactions/{id}
Buscar o resumo das transações apenas daquele usuário (uso de cookies)
GET /transactions/summary
- Exemplo de Payload:
{
"title": "Freelancer",
"amount": 5000,
"type": "credit"
}
{
"title": "Hambúrguer",
"amount": 50,
"type": "debit"
}
- Exemplo de Requisição:
curl -X POST \
http://localhost:3333/transactions/ \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-d '{
"title": "Freelancer",
"amount": 5000,
"type": "credit",
}'