APRENDIZADO & COGNIÇÃO

Pitch: Meu projeto feito em Next.js 16.2.9

Olá pessoal do TabNews. Há pouco tempo lancei um projeto pessoal chamado Despencando, uma plataforma que monitoriza e mostra quedas…

Olá pessoal do TabNews.

Há pouco tempo lancei um projeto pessoal chamado Despencando, uma plataforma que monitoriza e mostra quedas reais de preços em lojas de tecnologia. Como a comunidade aqui valoriza bastante discussões sobre infraestrutura, decidi escrever um pouco sobre como montei a stack tecnológica e os problemas que tive de resolver no processo, sem entrar na lógica do negócio.

Aqui fica um resumo de como as coisas estão estruturadas:

A base de dados: PostgreSQL
A primeira decisão foi garantir que a base de dados era a fonte única da verdade. Escolhi o PostgreSQL. No início da estruturação, a tentação é deixar alguma lógica espalhada, mas aprendi que toda a informação (histórico, variações, estado da oferta) tem de estar consolidada no Postgres. Se o dado não está validado e gravado lá, o frontend simplesmente não o conhece.

Backend: FastAPI
Para a API principal e o painel de administração, decidi usar FastAPI. Como os scrapers já são desenvolvidos em Python, manter a mesma linguagem facilitou bastante o ecossistema.
O FastAPI funciona essencialmente como um filtro rigoroso: ele recebe os dados em bruto (JSON) enviados pelos scrapers, faz a auditoria para confirmar que a oferta é válida e só depois grava na base de dados. O Swagger automático que ele gera também me poupou horas de documentação interna.

O desafio do Frontend: Next.js e SEO
O projeto depende quase a 100% de SEO e indexação orgânica. Fazer uma SPA tradicional em React estava fora de questão. Fui para o Next.js para garantir o Server-Side Rendering (SSR).

O maior problema técnico aqui foi a gestão do cache. Imaginem uma promoção que esgota rapidamente, mas o Next.js continua a servir a página em cache com o preço antigo. Para resolver isto, tive de montar um sistema em que o FastAPI avisa ativamente o Next.js para invalidar o cache de rotas específicas (revalidação on-demand) sempre que um preço muda. Deu bastante trabalho a estabilizar, mas evitou que a base de dados fosse bombardeada com pedidos desnecessários.

Isolar o problema: A extração de dados
Se há coisa que aprendi é que scrapers falham, bloqueiam e consomem recursos de forma imprevisível. Por isso, isolei totalmente essa responsabilidade.

A extração não corre no mesmo ambiente do site. São scripts modulares que vão às lojas, padronizam a informação e enviam um payload fechado para a API principal. Um detalhe importante desta arquitetura: os scrapers fazem o download das imagens originais. Desisti de usar hotlinks das lojas porque os links quebravam com frequência e prejudicavam a interface.

Infraestrutura e Deploy
Não inventei muito na infraestrutura para o dia zero:

  • Servidor: Uma VPS a correr Ubuntu 24.04.
  • Web Server/Proxy: Caddy. Para quem ainda usa Nginx em projetos pequenos e odeia configurar certificados HTTPS à mão, recomendo vivamente testarem o Caddy. Ele atua como reverse proxy para o Next.js e para o FastAPI, e renova os certificados automaticamente.
  • Processos: PM2 para manter a aplicação Next.js a correr em background.
  • DNS: Cloudflare na frente.

No fundo, o segredo para manter o projeto escalável foi separar as responsabilidades: quem extrai os dados não mexe diretamente na base de dados; e quem serve as páginas aos utilizadores não faz validações pesadas.

Perguntas frequentes

Respostas institucionais sobre esta cobertura, fontes e limites editoriais.

Sobre o que trata “Pitch: Meu projeto feito em Next.js 16.2.9”?
Olá pessoal do TabNews.Há pouco tempo lancei um projeto pessoal chamado Despencando, uma plataforma que monitoriza e mostra quedas reais de preços em lojas de tecnologia. Como a comunidade aqui valoriza bastante discussões sobre infraestrutura, decidi…
Por que Aprendizado & Cognição importa agora?
O tema impacta decisões e debates cotidianos ligados a Aprendizado & Cognição. A redação destaca fatos, datas e implicações práticas sem substituir orientação profissional personalizada.
Quem edita o conteúdo do Estrato Mente?
A cobertura é produzida e revisada pela equipe editorial do Estrato Mente, com editor-chefe responsável pela linha editorial. Conheça a redação em https://mente.estrato.cc/equipe/.
Quais fontes o Estrato prioriza?
Priorizamos fontes primárias (órgãos oficiais, balanços, estudos revisados, documentos públicos) e cruzamos informações antes da publicação, conforme a política editorial.
Como solicitar correção de uma matéria?
Envie o pedido pela página de Correções (https://mente.estrato.cc/correcoes/) ou Contato (https://mente.estrato.cc/contato/). Erros materiais são corrigidos com registro da atualização.
O conteúdo constitui aconselhamento profissional?
Não. As matérias têm caráter informativo e jornalístico. Decisões financeiras, de saúde, jurídicas ou educacionais devem considerar profissionais habilitados e a sua situação particular.
Onde acompanhar a política editorial do Estrato Mente?
Metodologia, ética e transparência estão em https://mente.estrato.cc/metodologia/, https://mente.estrato.cc/etica-editorial/ e https://mente.estrato.cc/politica-editorial/.
Como o Estrato trata temas sensíveis (YMYL)?
Temas que afetam dinheiro, saúde e bem-estar recebem revisão editorial reforçada, disclaimer visível e links para páginas institucionais de metodologia e correções. Portal: https://mente.estrato.cc/
WhatsApp X LinkedIn
Compartilhar: LinkedIn
Diego Amaral

Diego Amaral

Diego Amaral integra a equipe editorial do Estrato Mente, vertical da rede Estrato, na função de Repórter de Filosofia prática. O escopo permanente de cobertura inclui autoconhecimento e ética cotidiana, com atenção ao leitor brasileiro que busca contexto factual, datas oficiais e implicações práticas. Na produção diária, prioriza fontes primárias (órgãos públicos, balanços, papers e documentos oficiais), cruza pelo menos duas referências independentes quando o tema é contestado e evita manchetes que prometam certeza onde há incerteza. Critérios de qualidade: lead com o fato principal, atribuição clara de autoria da equipe Estrato, atualização com selo quando há mudança material e linguagem acessível sem simplificar demais o risco ou o contexto. Trabalha sob revisão da mesa editorial e do editor-chefe do portal. Matérias YMYL recebem segunda leitura antes da publicação e podem ser atualizadas quando surgem novos dados oficiais. Limites: este perfil descreve o papel editorial na marca Estrato. O conteúdo publicado é informativo e não constitui aconselhamento médico, financeiro, jurídico ou profissional personalizado. Transparência ao leitor: metodologia em /metodologia/, ética em /etica-editorial/, correções em /correcoes/, equipe em /equipe/ e canal em /contato/ ([email protected]). Na página-mãe da rede, a bio ampliada e o arquivo de matérias ficam em estrato.cc/blog/, com link para o arquivo do autor em cada portal.

Deixe um comentário