CRUD com Fastify, memória e PostgreSQL
CRUD com Fastify: validação e erros claros — Create/Read/Update/Delete é só o começo.
Carregando
CRUD com Fastify: validação e erros claros — Create/Read/Update/Delete é só o começo.
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.
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.
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.
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.
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.
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.
Valida tudo antes de salvar. Fastify tem validação de schema embutida. Usa isso pra não deixar lixo entrar no banco.
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.
Reiniciou? Dados sumiram. Memória é só pra desenvolvimento mesmo.
Testou tudo em memória? Funciona? Agora conecta no Postgres. Dados ficam salvos pra sempre. Reinicia o servidor mil vezes, tá lá.
Pode usar Prisma, Drizzle ou SQL puro. ORM é mais fácil. SQL puro dá mais controle. Escolhe o que você se vira melhor.
Instala o driver do Postgres, seta as variáveis de ambiente com credenciais do banco, conecta. Cria migrations pra versionar o schema.
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.
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.
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.
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.
É 80% do backend de produto. Domine bem antes de microserviço.
Validação, authz, índices e erros semânticos.
ORM para velocidade; SQL quando a query importa.
Happy path + auth negado + validação.
Continue: API REST com Node.js · DTO, DAO e Repository · Node.js do zero · Curso Node.js.