Este projeto apresenta uma configuração completa e moderna para iniciar rapidamente o desenvolvimento de back-ends com Node.js, TypeScript, Fastify e Biome.
A base foi construída para garantir performance, escalabilidade, qualidade de código e produtividade desde o primeiro commit.
- Node.js — Ambiente de execução JavaScript.
- TypeScript — Tipagem estática e melhor experiência de desenvolvimento.
- Fastify — Framework web rápido e altamente extensível.
- pnpm — Gerenciador de pacotes rápido e eficiente.
- Biome — Linter, formatter e ferramenta de análise tudo-em-um.
- ESM (ECMAScript Modules) — Suporte nativo a módulos modernos do Node.js.
📦 setup-backend-node-fastify
├── src/
│ ├── server.ts # Ponto de entrada da aplicação
│ ├── app.ts # Instância e configuração do Fastify
│ ├── routes/
│ │ └── example.route.ts
│ ├── controllers/
│ │ └── example.controller.ts
│ ├── plugins/
│ │ └── cors.ts # Exemplo de plugin global
│ └── utils/
│ └── logger.ts # Configuração de logs
│
├── .biome.json # Configuração do Biome (lint + format)
├── tsconfig.json # Configuração do TypeScript
├── package.json
├── pnpm-lock.yaml
└── README.mdAntes de começar, verifique se possui instalado:
Instalando o biome no projeto:
pnpm add -D -E @biomejs/biomeConfigurando o biome no projeto:
pnpm exec biome initUsando o biome no projeto:
# Formatar todos os arquivos
pnpm exec biome format --write
# Formatar arquivos específicos
pnpm exec biome format --write <files>
# Fazer lint e aplicar correções seguras a todos os arquivos
pnpm exec biome lint --write
# Fazer lint nos arquivos e aplicar correções seguras a arquivos específicos
pnpm exec biome lint --write <files>
# Formatar, fazer lint e organizar importações de todos os arquivos
pnpm exec biome check --write
# Formatar, fazer lint e organizar importações de arquivos específicos
pnpm exec biome check --write <files>Clone o repositório e instale as dependências:
git clone https://github.com/danilo-righetto/api-complete-setup-nodejs.git
cd api-complete-setup-nodejs
pnpm installComando / Descrição
pnpm devExecuta o servidor em modo desenvolvimento com hot reloadpnpm buildCompila o código TypeScript para JavaScript (dist/)pnpm startInicia o servidor a partir dos arquivos compiladospnpm lintExecuta o linting de código com Biomepnpm formatFormata o código automaticamente com Biomepnpm checkVerifica erros de estilo e tipagem
Este setup foi criado para ser a base de projetos Node.js modernos, com foco em:
🚀 Performance — Fastify é um dos frameworks HTTP mais rápidos do ecossistema Node.
💪 Escalabilidade — Estrutura modular e de fácil manutenção.
🧼 Qualidade — Biome garante consistência de código e boas práticas.
⚡ Produtividade — Configuração pronta para uso imediato com scripts automatizados.
🧩 Extensibilidade — Facilmente adaptável a bancos de dados, autenticação e testes.
Para uma melhor experiência de desenvolvimento, instale as seguintes extensões:
Biome — Linter e formatter integrados (biomejs.biome).
TypeScript ESLint Support — Autocompletar e detecção de tipos.
REST Client ou Thunder Client — Testes rápidos de rotas HTTP.
Error Lens — Exibição imediata de erros e avisos no editor.
Utilize import/export ES Modules nativos.
Mantenha cada rota isolada em seu próprio arquivo dentro de /routes.
Centralize dependências de terceiros em /plugins.
Evite lógica de negócio dentro das rotas — use controllers e services.
Valide entradas com o schema validator nativo do Fastify.
Gere o build de produção com:
pnpm buildIsso criará a pasta /dist, que contém os arquivos prontos para execução:
pnpm startEste projeto é distribuído sob a licença GNU AFFERO. Sinta-se à vontade para usar, modificar e compartilhar conforme suas necessidades.
Desenvolvido com 💻 por Danilo Righetto
Tech Lead na Code Cuber
