/02-api-rest-node

Projeto 02 api rest com nodejs | ignite nodejs 2023 Rocketseat 🔥

Primary LanguageTypeScript

API REST com NodeJs

Aurino Junior Aurino Junior

📍 Conteúdo

📘 Contexto

Segundo projeto do bootcamp ignite nodejs da Rocketseat 🚀🚀

💻 Tecnologias

  • node
  • Typescript
  • tsup
  • Fastify
  • knex
  • zod
  • sqlite3
  • vitest
  • supertest
  • eslint

🎮 Iniciando o projeto

  1. Clonar o repositório com git
  2. Instalar todas as dependencias com yarn
  3. Criar um arquivo .env com base no .env.example
  4. Rodar as migrations com yarn knex migrate:latest
  5. E por fim rodar o projeto com yarn dev

para rodar os testes uso um arquivo de variaveis de ambiente diferente .env.test

🍻 Como usar

Para criar uma transação

curl --request POST \
  --url http://localhost:3333/transactions \
  --header 'Content-Type: application/json' \
  --data '{
	"title": "freela",
	"amount": 500,
	"type": "credit"
}'

Listar todas as transações

curl --request GET \
  --url http://localhost:3333/transactions \
  --cookie sessionId=uuid

Listar 1 transação

curl --request GET \
  --url http://localhost:3333/transactions/uuid \
  --cookie sessionId=uuid

Resumo total

curl --request GET \
  --url http://localhost:3333/transactions/summary \
  --cookie sessionId=uuid

Requisitos funcionais

  • O usuario deve poder criar uma nova transação;
  • O usuario deve poder obter um resumo da sua conta;
  • O usuario deve poder listar todas transações que já ocorreram;
  • O usuario deve poder visualizar uma transação única;

Requisitos de negocio

  • A transação pode ser do tipo crédito que somará ao valor total, ou débito que subtrairá;
  • Deve ser possivel identificarmos o usuário entre as requisições;
  • O usuário só pode visualizar transações o qual ele criou;

📃 Licença

MIT