Blog Baseado em Next.js: Um Blog Inicial Moderno com Next.js 15 e Tailwind

Se você procura um modelo inicial de blog moderno, construído com Next.js, o projeto NextJS Base Blog é um excelente ponto de partida. Trata-se de um aplicativo de blog completo e de código aberto, desenvolvido com Next.js 15, React 19, TypeScript e Tailwind CSS 4 .

O projeto oferece uma arquitetura limpa, interface de usuário moderna componentse uma camada de API simulada, tornando-o ideal para desenvolvedores que desejam criar um blog rapidamente sem precisar configurar um backend.

Repositório GitHub: https://github.com/bfotool/nextjs-base-blog

Este projeto é especialmente útil para:

  • Desenvolvedores aprendendo Next.js AppRouter

  • Criar um blog ou site de conteúdo rapidamente

  • Criando um projeto boilerplate em Next.js

  • Desenvolver funcionalidades de interface do usuário antes de conectar uma API de backend real.

Visão geral do projeto

O NextJS Base Blog foi projetado como um modelo de blog pronto para produção, com muitos recursos comuns encontrados em sites de conteúdo modernos.

O projeto inclui:

  • uma página inicial com publicações em destaque

  • páginas de postagens de blog

  • filtragem por categoria

  • pesquisa de texto completo

  • paginação

  • índice

  • posts relacionados

  • tema escuro/claro

Uma das partes mais interessantes do projeto é a Fake API Layer, que simula uma API REST usando interceptores Axios. Isso permite que os desenvolvedores criem e testem o aplicativo sem a necessidade de um servidor backend .

Principais características

Página inicial

A página inicial exibe várias seções importantes:

  • postagem de herói em destaque

  • filtros de categoria

  • uma grade de postagens de blog

  • navegação paginada

O layout é totalmente responsivo e otimizado tanto para computadores quanto para dispositivos móveis.

Página de postagem do blog

Cada artigo pode ser acessado por meio de uma rota dinâmica:

/blog/[slug]

A página de postagens do blog inclui diversos recursos úteis:

  • conteúdo completo do artigo

  • sumário automático

  • tempo estimado de leitura

  • botões de compartilhamento em redes sociais

  • sugestões de posts relacionados

Esses recursos ajudam a criar uma experiência de leitura profissional semelhante às plataformas de blogs modernas.

Páginas de categoria

Os usuários podem navegar pelas postagens por categoria.

Exemplo de rota:

/blog/category/[slug]

Essa funcionalidade permite que os leitores explorem o conteúdo dentro de tópicos específicos.

Funcionalidade de busca

O projeto inclui uma página de busca integrada:

/search

A pesquisa oferece suporte a:

  • resultados em tempo real

  • entrada com debounce

  • Pesquisa em títulos, excertos e etiquetas.

Isso melhora a usabilidade e ajuda os usuários a encontrar conteúdo relevante rapidamente.

Páginas Sobre e Contato

O projeto também inclui páginas adicionais comumente encontradas em blogs profissionais.

Página Sobre

A página Sobre apresenta:

  • a equipe

  • a história do projeto

  • valores fundamentais

Página de contato

A página de contato inclui um formulário totalmente validado com:

  • validação de formulário

  • notificações pop-up

  • feedback de sucesso e erro

Suporte ao Modo Escuro

O blog suporta o modo escuro e o modo claro .

As funcionalidades incluem:

  • detecção automática do tema do sistema

  • alternância manual

  • Persistência de tema usando localStorage

Camada de API falsa(Desenvolvimento sem backend)

Uma das partes mais interessantes deste projeto é o seu sistema de API falsa .

Em vez de chamar um servidor real, o aplicativo usa interceptores Axios para simular respostas de API REST.

Como funciona a API falsa

  1. A instância do Axios é criada em:

src/services/api-client.ts
  1. Quando a variável de ambiente está ativada:

NEXT_PUBLIC_USE_MOCK_API=true
  1. As solicitações são interceptadas antes de chegarem à rede.

  2. Os manipuladores simulados retornam respostas falsas com atrasos realistas(200–600 ms).

  3. As respostas se comportam como respostas reais de API.

Os dados simulados estão armazenados em:

src/mocks/

Incluindo:

  • posts de exemplo

  • autores

  • categorias

Endpoints de API disponíveis

A API simulada suporta vários endpoints:

Método Ponto final Descrição
PEGAR /posts Postagens de blog paginadas
PEGAR /posts/destaques Postagens em destaque
PEGAR /posts/:slug Postagem única no blog
PEGAR /categorias Lista de categorias
PEGAR /autores Lista de autores
PUBLICAR /contato Enviar formulário de contato

Conjunto de tecnologias

O projeto utiliza uma arquitetura de front-end moderna.

Camada Tecnologia
Estrutura Next.js 15
Biblioteca de interface do usuário React 19
Linguagem TypeScript
Estilização Tailwind CSS 4
Cliente HTTP Axios
Ícones Lucide React
fiapos ESLint
Formatação Mais bonita

Esta pilha fornece:

  • segurança de tipo forte

  • arquitetura sustentável

  • experiência de desenvolvedor moderno

Estrutura do Projeto

A estrutura do projeto segue uma arquitetura limpa e escalável.

src/ 
├── app/ 
├── components/ 
├── services/ 
├── mocks/ 
├── contexts/ 
├── hooks/ 
├── types/ 
└── lib/ 

AplicativoRouter

O appdiretório contém todas as rotas do aplicativo.

Exemplos:

app/page.tsx 
app/blog/[slug]/page.tsx 
app/search/page.tsx 

Isso segue a arquitetura de aplicativos Next.jsRouter introduzida em versões mais recentes do Next.js.

Componentes

A interface do usuário componentsestá organizada em grupos lógicos:

components/layout 
components/common 
components/blog 

Essa estrutura mantém o código da interface do usuário organizado e mais fácil de manter.

Camada de Serviços

A servicespasta contém a lógica relacionada à API:

  • Configuração do cliente API

  • serviço postal

  • serviço de categoria

  • serviço de formulário de contato

Essa camada separa a lógica de busca de dados da interface do usuáriocomponents, o que melhora a escalabilidade.

Guia de Instalação

Requisitos

Antes de começar, certifique-se de ter:

  • Node.js 18 ou posterior

  • npm, yarn ou pnpm

Clonar o repositório

git clone https://github.com/bfotool/nextjs-base-blog.git 
cd nextjs-base-blog 

Instalar dependências

npm install

Configurar variáveis ​​de ambiente

cp .env.example .env

Inicie o servidor de desenvolvimento.

npm run dev

Abra seu navegador e acesse:

http://localhost:3000

Scripts disponíveis

Comando Descrição
npm run dev Iniciar servidor de desenvolvimento
execute o comando `npm run build` Criar versão de produção
npm run start Iniciar servidor de produção
npm executar lint Execute o ESLint
formato de execução do npm Formate o código com o Prettier.
execute npm type-check Executar verificações do TypeScript

Migrando para uma API real

Se você deseja conectar o projeto a uma API de backend real, siga estas etapas.

Passo 1: Desative a API simulada

Edite o .envarquivo:

NEXT_PUBLIC_USE_MOCK_API=false

Etapa 2: Defina a URL base da API

NEXT_PUBLIC_API_BASE_URL=https://your-api-server.com

Etapa 3: Combinar tipos de dados

Garanta que sua API de backend retorne dados que correspondam às definições do TypeScript em:

src/types/index.ts

Não são necessárias alterações adicionais no código.

Personalizando o conteúdo

O conteúdo fictício pode ser editado internamente:

src/mocks/posts.ts 
src/mocks/categories.ts 
src/mocks/authors.ts 

Isso permite que os desenvolvedores personalizem rapidamente o conteúdo de demonstração.

Personalizando o tema e a interface do usuário

O estilo global pode ser encontrado em:

src/app/globals.css

O projeto utiliza as seguintes fontes:

  • DM Sans

  • JetBrains Mono

Você pode modificar os estilos ou substituir as fontes dependendo das suas necessidades de design.

Conclusão

O NextJS Base Blog é um modelo inicial poderoso e moderno para criar um blog com Next.js.

As principais vantagens do projeto incluem:

  • conjunto de tecnologias modernas

  • arquitetura limpa

  • API simulada para desenvolvimento

  • Fácil integração com APIs de backend reais

  • Interface responsiva e recursos modernos

Se você estiver criando um blog, um site para desenvolvedores ou uma plataforma de conteúdo com Next.js, este repositório pode economizar um tempo de desenvolvimento significativo.

Explore o código-fonte aqui: https://github.com/bfotool/nextjs-base-blog