Blog di base NextJS: strumento moderno per iniziare a creare un blog con Next.js 15 e Tailwind

Se stai cercando un moderno modello di blog iniziale realizzato con Next.js, il progetto NextJS Base Blog è un ottimo punto di partenza. Si tratta di un'applicazione blog open source completa, sviluppata con Next.js 15, React 19, TypeScript e Tailwind CSS 4 .

Il progetto fornisce un'architettura pulita, un'interfaccia utente moderna componentse un livello API fittizio, rendendolo ideale per gli sviluppatori che desiderano creare rapidamente un blog senza dover configurare un backend.

Repository GitHub: https://github.com/bfotool/nextjs-base-blog

Questo progetto è particolarmente utile per:

  • Sviluppatori che imparano l'app Next.jsRouter

  • Creare rapidamente un blog o un sito web di contenuti

  • Creazione di un progetto boilerplate Next.js

  • Sviluppo di funzionalità dell'interfaccia utente prima di connettere una vera API backend

Panoramica del progetto

NextJS Base Blog è progettato come modello di blog pronto per la produzione, dotato di molte caratteristiche comuni ai moderni siti web di contenuti.

Il progetto comprende:

  • una homepage con post in evidenza

  • pagine di post del blog

  • filtraggio per categoria

  • ricerca full-text

  • impaginazione

  • sommario

  • post correlati

  • tema scuro/chiaro

Una delle parti più interessanti del progetto è il Fake API Layer, che simula un'API REST utilizzando gli intercettori Axios. Ciò consente agli sviluppatori di creare e testare l'applicazione senza bisogno di un server backend .

Caratteristiche principali

Pagina iniziale

La homepage presenta diverse sezioni importanti:

  • post dell'eroe in evidenza

  • filtri di categoria

  • una griglia di post del blog

  • navigazione paginata

Il layout è completamente reattivo e ottimizzato sia per i dispositivi desktop che per quelli mobili.

Pagina del post del blog

Ogni articolo è accessibile tramite un percorso dinamico:

/blog/[slug]

La pagina dei post del blog include diverse utili funzionalità:

  • contenuto completo dell'articolo

  • indice automatico

  • tempo di lettura stimato

  • pulsanti di condivisione social

  • suggerimenti per post correlati

Queste funzionalità contribuiscono a creare un'esperienza di lettura professionale, simile a quella delle moderne piattaforme di blogging.

Pagine di categoria

Gli utenti possono sfogliare i post per categoria.

Esempio di percorso:

/blog/category/[slug]

Questa funzione consente ai lettori di esplorare contenuti relativi ad argomenti specifici.

Funzionalità di ricerca

Il progetto include una pagina di ricerca integrata:

/search

La ricerca supporta:

  • risultati in tempo reale

  • input debounced

  • ricerca tra titoli, estratti e tag

Ciò migliora l'usabilità e aiuta gli utenti a trovare rapidamente i contenuti pertinenti.

Pagine Informazioni e Contatti

Il progetto include anche pagine aggiuntive comunemente reperibili sui blog professionali.

Pagina Informazioni

La pagina Informazioni presenta:

  • la squadra

  • la storia del progetto

  • valori fondamentali

Pagina dei contatti

La pagina Contatti include un modulo completamente convalidato con:

  • convalida del modulo

  • notifiche di tipo toast

  • feedback di successo ed errore

Supporto modalità scura

Il blog supporta la modalità scura e la modalità chiara .

Le caratteristiche includono:

  • rilevamento automatico del tema del sistema

  • interruttore manuale

  • persistenza del tema tramite localStorage

Livello API falso(sviluppo senza backend)

Una delle parti più interessanti di questo progetto è il suo sistema Fake API .

Invece di chiamare un server reale, l'applicazione utilizza gli intercettori Axios per simulare le risposte dell'API REST.

Come funziona la falsa API

  1. L'istanza di Axios è stata creata in:

src/services/api-client.ts
  1. Quando la variabile d'ambiente è abilitata:

NEXT_PUBLIC_USE_MOCK_API=true
  1. Le richieste vengono intercettate prima di raggiungere la rete.

  2. I gestori fittizi restituiscono risposte false con ritardi realistici(200-600 ms).

  3. Le risposte si comportano come risposte API reali.

I dati fittizi sono archiviati in:

src/mocks/

Inclusi:

  • post di esempio

  • autori

  • categorie

Endpoint API disponibili

L'API fittizia supporta diversi endpoint:

Metodo Punto finale Descrizione
OTTENERE /post Post di blog suddivisi in pagine
OTTENERE /post/in evidenza Post in evidenza
OTTENERE /post/:slug Singolo post del blog
OTTENERE /categorie Elenco delle categorie
OTTENERE /autori Elenco degli autori
INVIARE /contatto Invia modulo di contatto

Stack tecnologico

Il progetto utilizza uno stack frontend moderno.

Strato Tecnologia
Struttura Next.js 15
Libreria UI Reagisci 19
Lingua Dattiloscritto
Stile CSS 4 di Tailwind
Cliente HTTP Axios
Icone Lucide React
Linting ESLint
Formattazione Più carino

Questo stack fornisce:

  • tipo forte di sicurezza

  • architettura manutenibile

  • esperienza di sviluppo moderna

Struttura del progetto

La struttura del progetto segue un'architettura pulita e scalabile.

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

ApplicazioneRouter

La appdirectory contiene tutti i percorsi dell'applicazione.

Esempi:

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

Segue l' architettura dell'app Next.jsRouter introdotta nelle versioni più recenti di Next.js.

Componenti

Le interfacce utente componentssono organizzate in gruppi logici:

components/layout 
components/common 
components/blog 

Questa struttura mantiene il codice dell'interfaccia utente organizzato e più facile da gestire.

Livello di servizi

La servicescartella contiene la logica correlata all'API:

  • Configurazione del client API

  • servizio postale

  • servizio di categoria

  • servizio di modulo di contatto

Questo livello separa la logica di recupero dei dati dall'interfaccia utentecomponents, migliorando la scalabilità.

Guida all'installazione

Requisiti

Prima di iniziare, assicurati di avere:

  • Node.js 18 o successivo

  • npm, yarn o pnpm

Clona il repository

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

Installare le dipendenze

npm install

Configurare le variabili di ambiente

cp .env.example .env

Avviare il server di sviluppo

npm run dev

Apri il tuo browser e visita:

http://localhost:3000

Script disponibili

Comando Descrizione
npm run dev Avvia il server di sviluppo
npm run build Crea build di produzione
npm run start Avvia il server di produzione
npm run lint Esegui ESLint
formato di esecuzione npm Formatta il codice con Prettier
npm run type-check Esegui controlli TypeScript

Passaggio a una vera API

Se vuoi connettere il progetto a una vera API backend, segui questi passaggi.

Passaggio 1: disabilitare l'API fittizia

Modifica il .envfile:

NEXT_PUBLIC_USE_MOCK_API=false

Passaggio 2: imposta l'URL di base dell'API

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

Passaggio 3: Abbina i tipi di dati

Assicurati che la tua API backend restituisca dati corrispondenti alle definizioni TypeScript in:

src/types/index.ts

Non sono necessarie ulteriori modifiche al codice.

Personalizzazione dei contenuti

Il contenuto fittizio può essere modificato all'interno di:

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

Ciò consente agli sviluppatori di personalizzare rapidamente i contenuti demo.

Personalizzazione del tema e dell'interfaccia utente

Lo stile globale può essere trovato in:

src/app/globals.css

Il progetto utilizza i seguenti font:

  • DM Sans

  • JetBrains Mono

È possibile modificare gli stili o sostituire i font in base alle proprie esigenze di progettazione.

Conclusione

NextJS Base Blog è un modello di partenza potente e moderno per creare un blog con Next.js.

I principali vantaggi del progetto includono:

  • stack tecnologico moderno

  • architettura pulita

  • API fittizia per lo sviluppo

  • facile integrazione con API backend reali

  • interfaccia utente reattiva e funzionalità moderne

Se stai creando un blog, un sito web per sviluppatori o una piattaforma di contenuti con Next.js, questo repository può farti risparmiare molto tempo di sviluppo.

Esplora il codice sorgente qui: https://github.com/bfotool/nextjs-base-blog