Skip to content

🐯 Boilerplate moderno de Node.js com Fastify, TypeScript, Zod e outras ferramentas essenciais.

Notifications You must be signed in to change notification settings

ecthon/fastify-boilerplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fastify Boilerplate

🚀 Boilerplate moderno de Node.js com Fastify, TypeScript, Zod e outras ferramentas essenciais.

📦 Tecnologias

  • 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

🎯 Funcionalidades

  • ✅ 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

📁 Estrutura do Projeto

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

🚀 Como Usar

1. Instalar dependências

npm install

2. Configurar variáveis de ambiente

Copie o arquivo example.env para .env e ajuste conforme necessário:

cp example.env .env

3. Executar em desenvolvimento

npm run dev

4. Build para produção

npm run build
npm start

📝 Scripts Disponíveis

  • npm run dev - Inicia o servidor em modo desenvolvimento com hot reload
  • npm run build - Compila o TypeScript para JavaScript
  • npm start - Inicia o servidor em produção
  • npm run type-check - Verifica erros de tipagem sem compilar

🔗 Endpoints

  • GET / - Informações da API
  • GET /hello?name=Seu Nome - Hello World personalizado
  • GET /health - Health check

🔄 Mantendo Dependências Atualizadas

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 install

🛠️ Customização

Adicionar novas rotas

Crie um novo arquivo em src/routes/ e registre no server.ts:

import { minhaNovaRota } from './routes/minha-rota.routes';

app.register(minhaNovaRota);

Adicionar novas variáveis de ambiente

  1. Adicione ao example.env
  2. Atualize o schema em src/config/env.ts

📄 Licença

MIT

About

🐯 Boilerplate moderno de Node.js com Fastify, TypeScript, Zod e outras ferramentas essenciais.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published