Skip to content

API em Node.js utilizando TypeScript, Fastify, Knex, Vitest (E2E Tests), Zod e SQLite3

Notifications You must be signed in to change notification settings

flpcastro/api-node-transactions

Repository files navigation

API NODE - TRANSACTIONS

O que é necessário para testar essa aplicação?

Tecnologias utilizadas

Variáveis de Ambiente

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

Rodando localmente

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

Funcionalidades

Requisitos Funcionais

  • 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;

Regras de Negócios

  • 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;

Transação

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",
  }'

About

API em Node.js utilizando TypeScript, Fastify, Knex, Vitest (E2E Tests), Zod e SQLite3

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published