Projeto desenvolvido durante o módulo 2 do bootcamp de especialização em nodejs realizado junto a rocketseat.
Este módulo consiste em desenvolver uma aplicação de transações (criar, listar todas, listar específicas e um resumo de todas). Para desenvolver esta aplicação, foi utilizado o microframework Fastify, knex como query builder e typescript.
Além disto, foram desenvolvidos testes end to end para testar as rotas da aplicação.
Tópicos abordados: ESModule, Typescript, ESLint, Banco de dados - Knex, migrations, querys,Variáveis de ambiente,Validação de dados - ZOD, Fastify - Plugins, cookies e prehandlers, Testes automatizados - Tipos de testes, vitest, supertest, Build do projeto - TSUP e Deploy da aplicação
- O usuário deve 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 trasnsação única;
- A transação pode ser do tipo crédito que somará ao valor total, ou débito subtrairá;
- Deve ser possível idenficar o usuário entre as requisições;
- O usuário só pode visualizar transações o qual ele criou;
# Faça o clone do repotório
git clone git@github.com:RenanFachin/RS_IGNITE_api-rest-nodejs.git
# Instalar as dependências do projeto
npm install
# Executando o projeto no ambiente de desenvolvimento
npm run dev
# Rodar as migrations do projeto para criar o banco de dados
npm run knex -- migrate:latestOs testes foram desenvolvidos utilizando vitest e supertest
- Criar nova transação
POST /transactions- Listar todos usuários
GET /transactions- Listar transação específica usuários
GET /transactions/:${transaction_id}- Mostrar um resumo geral das transações do usuário
GET /transactions/summaryNodeJSFastifySqliteTypescriptKnextsupzodvitesteslintsupertestdotenv
