Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rosiecarvalho/fastify
(back-end) - projeto criado com micro frameword node: fastify
https://github.com/rosiecarvalho/fastify
fastify query-builder testes-e2e
Last synced: about 2 months ago
JSON representation
(back-end) - projeto criado com micro frameword node: fastify
- Host: GitHub
- URL: https://github.com/rosiecarvalho/fastify
- Owner: RosieCarvalho
- Created: 2024-11-08T19:02:51.000Z (about 2 months ago)
- Default Branch: master
- Last Pushed: 2024-11-08T19:17:25.000Z (about 2 months ago)
- Last Synced: 2024-11-08T20:18:59.619Z (about 2 months ago)
- Topics: fastify, query-builder, testes-e2e
- Language: TypeScript
- Homepage:
- Size: 134 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# INICIANDO PROJETO FASTIFY
## instalar typescript
- npm i -D typescript
- npx tsc -init
- npm install -D @types/node## instalar fastify
- npm i fastify
### Rodar projeto
- npx tsc src/server.ts
- node src/server.js# Qualidade de código
### eslint
- npm i eslint @rocketseat/eslint-config -D
- aplicar ao salvar: settings.json => "source.fixAll.eslint": true
### dotenv
para ler variaveis ambiente
### zod
- biblioteca de validação de dados
- uso para configurar variaveis ambientes: env/index.ts# BANCO DE DADOS
## SQLITE
## SQL QUERY BUILDER
- É um construtor de querys, facilita a escrita de consultas sql e mode mudar de banco de dados sem alterar as consultas
- query builder usado: { Knex - https://knexjs.org/guide/#node-js }
- configuração : database.ts e knexfile.ts# Cookies
- npm i @fastify/cookie
- Formas de manter contexto entre requisições. Ou seja, identifica se é o mesmo usuário fazendo as requisições
- São enviados automaticamente nas requisições dentro de request
- o middlewares são interceptadores que podem verificar se os cookies estão sendo enviados# Teste Automatizados
Nessa aplicação todos os testes são E2E
## Conceitos
- / conceito /: é a forma de manter a confiança na hora de fazer manutenção no código a longo prazo. Pois isso garante que todas as funcionalidades estão funcionando devidamente.
- teste unitários: testa uma unidade/função/um pedaço da aplicação, de forma totalmente isolada
- teste de integração: teste a comunicação entre duas ou mais unidades
- e2e: ponta-a-ponta - simula um usuário operando na nossa aplicação - no back-end é testar as portas de entrada da aplicação### pirâmide de testes
- EAE : não depende de nenhum tecnologia. Apesar de serem demorados e por isso tem poucos
- integração: tem mais por ser mais rapido
- unitário: estão na base por serem mais rápidos de fazer## framework de testes
- Vitest
- npm i vitest -D
- requisições fake
- supertest: ajuda a fazer requisições fake
- npm i supertest -D- banco de dados para teste (para testes E2E)
criar .env.test e configurar dentro de env/index# build e publicação
## transpilador
- tsup: https://tsup.egoist.dev/
- dentro de package => "build": "tsup src --out-dir build"## subindo pra o git hub
- gh auth
- git init .
- git commit am
- gh repo create## subindo para produção
- usando o https://render.com/