🚀 Boilerplate moderno de Node.js com Fastify, TypeScript, Zod e outras ferramentas essenciais.
- Fastify - Framework web rápido e eficiente
- TypeScript - Superset tipado do JavaScript
- tsx - TypeScript execute runtime
- Zod - Validação de schemas TypeScript-first
- dotenv - Gerenciamento de variáveis de ambiente
- ✅ TypeScript configurado com strict mode
- ✅ Hot reload durante desenvolvimento (tsx watch)
- ✅ Validação de variáveis de ambiente com Zod
- ✅ Estrutura de pastas organizada
- ✅ Rotas de exemplo (Hello World)
- ✅ Health check endpoint
- ✅ Logging estruturado
fastify-boilerplate/
├── src/
│ ├── config/
│ │ └── env.ts # Configuração e validação de env vars
│ ├── routes/
│ │ └── hello.routes.ts # Rotas de exemplo
│ └── server.ts # Servidor principal
├── .env # Variáveis de ambiente (não commitado)
├── example.env # Exemplo de variáveis
├── .gitignore
├── package.json
├── tsconfig.json
└── README.md
npm installCopie o arquivo example.env para .env e ajuste conforme necessário:
cp example.env .envnpm run devnpm run build
npm startnpm run dev- Inicia o servidor em modo desenvolvimento com hot reloadnpm run build- Compila o TypeScript para JavaScriptnpm start- Inicia o servidor em produçãonpm run type-check- Verifica erros de tipagem sem compilar
GET /- Informações da APIGET /hello?name=Seu Nome- Hello World personalizadoGET /health- Health check
Para verificar e atualizar as dependências:
# Verificar pacotes desatualizados
npm outdated
# Atualizar para as últimas versões compatíveis
npm update
# Atualizar para as últimas versões (incluindo breaking changes)
npx npm-check-updates -u
npm installCrie um novo arquivo em src/routes/ e registre no server.ts:
import { minhaNovaRota } from './routes/minha-rota.routes';
app.register(minhaNovaRota);- Adicione ao
example.env - Atualize o schema em
src/config/env.ts
MIT