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
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
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.