{"id":19213537,"url":"https://github.com/rosiecarvalho/fastify","last_synced_at":"2026-05-14T21:33:27.937Z","repository":{"id":261850805,"uuid":"885528329","full_name":"RosieCarvalho/fastify","owner":"RosieCarvalho","description":"(back-end) - projeto criado com micro frameword node: fastify","archived":false,"fork":false,"pushed_at":"2024-11-08T19:17:25.000Z","size":137,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-23T08:17:02.050Z","etag":null,"topics":["fastify","query-builder","testes-e2e"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RosieCarvalho.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-08T19:02:51.000Z","updated_at":"2024-11-08T19:28:32.000Z","dependencies_parsed_at":"2024-11-08T20:29:07.508Z","dependency_job_id":null,"html_url":"https://github.com/RosieCarvalho/fastify","commit_stats":null,"previous_names":["rosiecarvalho/fatify"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RosieCarvalho%2Ffastify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RosieCarvalho%2Ffastify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RosieCarvalho%2Ffastify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RosieCarvalho%2Ffastify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RosieCarvalho","download_url":"https://codeload.github.com/RosieCarvalho/fastify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240286519,"owners_count":19777353,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastify","query-builder","testes-e2e"],"created_at":"2024-11-09T14:06:11.337Z","updated_at":"2025-10-12T05:02:01.055Z","avatar_url":"https://github.com/RosieCarvalho.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# INICIANDO PROJETO FASTIFY\n\n## instalar typescript\n\n- npm i -D typescript\n- npx tsc -init\n- npm install -D @types/node\n\n## instalar fastify\n\n- npm i fastify\n\n### Rodar projeto\n\n- npx tsc src/server.ts\n- node src/server.js\n\n# Qualidade de código\n\n### eslint\n\n     - npm i eslint @rocketseat/eslint-config -D\n\n- aplicar ao salvar: settings.json =\u003e \"source.fixAll.eslint\": true\n\n### dotenv\n\npara ler variaveis ambiente\n\n### zod\n\n- biblioteca de validação de dados\n- uso para configurar variaveis ambientes: env/index.ts\n\n# BANCO DE DADOS\n\n## SQLITE\n\n## SQL QUERY BUILDER\n\n- É um construtor de querys, facilita a escrita de consultas sql e mode mudar de banco de dados sem alterar as consultas\n- query builder usado: { Knex - https://knexjs.org/guide/#node-js }\n- configuração : database.ts e knexfile.ts\n\n# Cookies\n\n     - npm i @fastify/cookie\n\n- Formas de manter contexto entre requisições. Ou seja, identifica se é o mesmo usuário fazendo as requisições\n- São enviados automaticamente nas requisições dentro de request\n- o middlewares são interceptadores que podem verificar se os cookies estão sendo enviados\n\n# Teste Automatizados\n\nNessa aplicação todos os testes são E2E\n\n## Conceitos\n\n- / 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.\n- teste unitários: testa uma unidade/função/um pedaço da aplicação, de forma totalmente isolada\n- teste de integração: teste a comunicação entre duas ou mais unidades\n- e2e: ponta-a-ponta - simula um usuário operando na nossa aplicação - no back-end é testar as portas de entrada da aplicação\n\n### pirâmide de testes\n\n- EAE : não depende de nenhum tecnologia. Apesar de serem demorados e por isso tem poucos\n- integração: tem mais por ser mais rapido\n- unitário: estão na base por serem mais rápidos de fazer\n\n## framework de testes\n\n- Vitest\n\n  - npm i vitest -D\n\n- requisições fake\n\n  - supertest: ajuda a fazer requisições fake\n  - npm i supertest -D\n\n- banco de dados para teste (para testes E2E)\n  criar .env.test e configurar dentro de env/index\n\n# build e publicação\n\n## transpilador\n\n- tsup: https://tsup.egoist.dev/\n- dentro de package =\u003e \"build\": \"tsup src --out-dir build\"\n\n## subindo pra o git hub\n\n- gh auth\n- git init .\n- git commit am\n- gh repo create\n\n## subindo para produção\n\n- usando o https://render.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frosiecarvalho%2Ffastify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frosiecarvalho%2Ffastify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frosiecarvalho%2Ffastify/lists"}