CRUD com Fastify, memória e PostgreSQL
CRUD com Fastify: validação e erros claros — Create/Read/Update/Delete é só o começo.
Por que isso é importante
CRUD no dia a dia do back-end: base sólida — sem isso, arquitetura fancy não segura.
Leitura relacionada: API REST com Node.js · DTO, DAO e Repository · Node.js do zero · Curso Node.js.
Por que isso é importante
CRUD é o dia a dia do back-end — e o diferencial está em validação, idempotência e erro claro. Endpoint sem regra de negócio é só espelho de tabela.
Iniciando com Fastify
Primeiro passo: subir o servidor. Fastify é tipo Express, só que mais rápido. Menos
boilerplate, performance melhor. Código fica organizado e escala fácil quando o projeto
cresce.
Entendendo o que é CRUD
CRUD = Create, Read, Update, Delete. Basicamente tudo que você faz com dados: adiciona,
lista, edita, apaga. É isso. Todo backend que você usar na vida vai ter isso.
Modelando entidades da aplicação
Vamos fazer um mini YouTube. Cada vídeo tem título, descrição e URL. Nada complicado.
Perfeito pra entender CRUD sem ficar travado em regras de negócio complexas.
Atenção
Define bem a estrutura logo no começo. Depois que tem dados em produção, mudar schema
é dor de cabeça. Pensa nos campos obrigatórios e relações agora.
Criando operações CRUD com Fastify
- Passo 1: Crie uma rota POST para cadastrar novos vídeos.
- Passo 2: Crie uma rota GET para listar os vídeos existentes.
- Passo 3: Crie uma rota PUT para editar dados de um vídeo pelo
ID. - Passo 4: Crie uma rota DELETE para remover um vídeo específico.
Atenção
Valida tudo antes de salvar. Fastify tem validação de schema embutida. Usa isso pra
não deixar lixo entrar no banco.
Usando banco de dados em memória
No começo, usa banco em memória. É tipo um array JavaScript que simula banco de dados.
Rápido pra testar. Só que reiniciou o servidor? Perdeu tudo.
Atenção
Reiniciou? Dados sumiram. Memória é só pra desenvolvimento mesmo.
Migrando para PostgreSQL
Testou tudo em memória? Funciona? Agora conecta no Postgres. Dados ficam salvos pra
sempre. Reinicia o servidor mil vezes, tá lá.
Atenção
Pode usar Prisma, Drizzle ou SQL puro. ORM é mais fácil. SQL puro dá mais controle.
Escolhe o que você se vira melhor.
Configurando conexão com PostgreSQL
Instala o driver do Postgres, seta as variáveis de ambiente com credenciais do banco,
conecta. Cria migrations pra versionar o schema.
Testando as operações CRUD na API
Abre o Insomnia ou Postman e bate nas rotas. Testa POST, GET, PUT, DELETE. Testa
cenário feliz e erro também. Manda campo vazio, ID errado, tudo.
Realizando o deploy da API
Funciona local? Hora do deploy. Render e Railway são fáceis e têm plano grátis. Ou faz
um Dockerfile e sobe onde quiser.
Atenção
Não esquece de colocar as variáveis de ambiente no painel do servidor. E testa as
rotas depois do deploy. Às vezes funciona local e quebra em produção.
Transforme sua carreira
E foi EXATAMENTE por isso que eu criei um curso de Node.js e React chamado CrazyStack.
A minha maior necessidade no início da carreira era alguém que me ensinasse um projeto
prático onde eu pudesse não só desenvolver minhas habilidades de dev como também
lançar algo pronto para entrar no ar no dia seguinte.
Você acabou de ver CRUD básico. Minha frustração era fazer 50 tutoriais de CRUD e
nunca conseguir juntar num projeto de verdade. Sabia fazer POST, GET, PUT, DELETE...
mas e conectar com React? E autenticação? E deploy? Ficava travado.
No CrazyStack você não aprende só CRUD isolado. Você constrói um SaaS completo: backend
Node.js + frontend React + autenticação + pagamentos + deploy. Tudo integrado. Projeto
real que você mostra no portfólio ou usa como base pros seus produtos. CRUD sozinho não
adianta, precisa saber juntar com o resto.
Checklist de Implementação
- Servidor Fastify configurado corretamente
- Rotas CRUD implementadas e testadas
- Banco em memória criado e funcional
- Integração com PostgreSQL aplicada
- Deploy da aplicação realizado sem erros
Perguntas frequentes
CRUD ainda importa?
É 80% do backend de produto. Domine bem antes de microserviço.
Como fazer CRUD bem?
Validação, authz, índices e erros semânticos.
ORM ou SQL?
ORM para velocidade; SQL quando a query importa.
Testes mínimos?
Happy path + auth negado + validação.
Continue explorando
Continue: API REST com Node.js · DTO, DAO e Repository · Node.js do zero · Curso Node.js.
Perguntas frequentes
Por que Fastify para CRUD?
Performance e schema/validation no ecossistema Node. Serve bem para APIs HTTP enxutas com tipagem via schemas.
Começar em memória ou já no Postgres?
Memória acelera o aprendizado do contrato HTTP. Migre para Postgres quando precisar de persistência real e índices.
O que além de CRUD importa?
Validação de input, erros claros, idempotência em writes e auth quando o recurso não for público.
Como testar antes do deploy?
Bater os quatro verbos com casos inválidos, 404 e conflito. Só então configure conexão e secrets de produção.