NextJS Base Blog: Next.js 15 ve Tailwind ile Modern Blog Başlangıç ​​Aracı

Next.js ile oluşturulmuş modern bir blog başlangıç ​​şablonu arıyorsanız, NextJS Base Blog projesi mükemmel bir başlangıç ​​noktasıdır. Next.js 15, React 19, TypeScript ve Tailwind CSS 4 ile oluşturulmuş, tam özellikli açık kaynaklı bir blog uygulamasıdır .

Proje, temiz bir mimari, modern bir kullanıcı arayüzü componentsve sahte bir API katmanı sunarak, arka uç kurmaya gerek kalmadan hızlı bir şekilde blog oluşturmak isteyen geliştiriciler için idealdir.

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

Bu proje özellikle şu kişiler için faydalıdır:

  • Geliştiriciler Next.js uygulaması öğreniyor.Router

  • Hızlı bir şekilde blog veya içerik web sitesi oluşturmak

  • Next.js için temel bir proje oluşturma

  • Gerçek bir arka uç API'sine bağlanmadan önce kullanıcı arayüzü özelliklerini geliştirmek.

Proje Genel Bakışı

NextJS Base Blog, modern içerik web sitelerinde bulunan birçok yaygın özelliğe sahip, kullanıma hazır bir blog şablonu olarak tasarlanmıştır .

Proje şunları içermektedir:

  • Öne çıkan gönderilerin yer aldığı bir ana sayfa

  • blog yazısı sayfaları

  • kategori filtreleme

  • tam metin arama

  • sayfalama

  • içindekiler

  • İlgili gönderiler

  • koyu/açık tema

Projenin en ilgi çekici kısımlarından biri, Axios interceptor'larını kullanarak bir REST API'yi simüle eden Sahte API Katmanı'dır. Bu, geliştiricilerin bir arka uç sunucusuna ihtiyaç duymadan uygulamayı oluşturmasına ve test etmesine olanak tanır .

Başlıca Özellikler

Ana Sayfa

Ana sayfada çeşitli önemli bölümler yer almaktadır:

  • öne çıkan kahraman gönderisi

  • kategori filtreleri

  • blog gönderilerinin bir tablosu

  • sayfalı gezinme

Tasarım tamamen duyarlıdır ve hem masaüstü hem de mobil cihazlar için optimize edilmiştir.

Blog Yazısı Sayfası

Her makaleye dinamik bir rota üzerinden erişilebilir:

/blog/[slug]

Blog yazısı sayfası çeşitli kullanışlı özellikler içeriyor:

  • makalenin tamamı

  • otomatik içindekiler tablosu

  • tahmini okuma süresi

  • sosyal paylaşım düğmeleri

  • İlgili gönderi önerileri

Bu özellikler, modern blog platformlarına benzer profesyonel bir okuma deneyimi oluşturmaya yardımcı olur.

Kategori Sayfaları

Kullanıcılar gönderilere kategoriye göre göz atabilirler.

Örnek rota:

/blog/category/[slug]

Bu özellik, okuyucuların belirli konular içindeki içerikleri keşfetmelerine olanak tanır.

Arama İşlevi

Proje, dahili bir arama sayfası içermektedir:

/search

Arama şu özellikleri destekler:

  • gerçek zamanlı sonuçlar

  • gecikme giderilmiş giriş

  • Başlıklar, alıntılar ve etiketler arasında arama yapma

Bu, kullanılabilirliği artırır ve kullanıcıların ilgili içeriği hızlı bir şekilde bulmasına yardımcı olur.

Hakkımızda ve İletişim Sayfaları

Proje ayrıca, profesyonel bloglarda sıkça rastlanan ek sayfaları da içermektedir.

Hakkımızda Sayfası

Hakkımızda sayfası şunları tanıtıyor:

  • takım

  • proje öyküsü

  • temel değerler

İletişim Sayfası

İletişim sayfasında, aşağıdaki özelliklere sahip, tamamen doğrulanmış bir form bulunmaktadır:

  • form doğrulama

  • bildirimler

  • başarı ve hata geri bildirimi

Karanlık Mod Desteği

Blog, karanlık mod ve aydınlık modu desteklemektedir .

Özellikler şunları içerir:

  • otomatik sistem tema tespiti

  • manuel geçiş

  • localStorage kullanarak tema kalıcılığı

Sahte API Katmanı(Arka Uç Olmadan Geliştirme)

Bu projenin en ilgi çekici kısımlarından biri de sahte API sistemi .

Uygulama, gerçek bir sunucuya çağrı yapmak yerine, REST API yanıtlarını simüle etmek için Axios interceptor'larını kullanır.

Sahte API Nasıl Çalışır?

  1. Axios örneği şu konumda oluşturulur:

src/services/api-client.ts
  1. Ortam değişkeni etkinleştirildiğinde:

NEXT_PUBLIC_USE_MOCK_API=true
  1. İstekler ağa ulaşmadan önce engellenir.

  2. Sahte işleyiciler, gerçekçi gecikmelerle(200-600 ms) sahte yanıtlar döndürür.

  3. Yanıtlar gerçek API yanıtları gibi davranır.

Sahte veriler şu konumda saklanır:

src/mocks/

İçermek:

  • örnek gönderiler

  • yazarlar

  • kategoriler

Kullanılabilir API Uç Noktaları

Örnek API, çeşitli uç noktaları destekler:

Yöntem Uç nokta Tanım
ELDE ETMEK /yazılar Sayfalandırılmış blog yazıları
ELDE ETMEK /yazılar/öne çıkanlar Öne çıkan gönderiler
ELDE ETMEK /posts/:slug Tek blog yazısı
ELDE ETMEK /kategoriler Kategori listesi
ELDE ETMEK /yazarlar Yazar listesi
POSTALAMAK /temas etmek İletişim formunu gönder

Teknoloji Yığını

Proje modern bir ön uç geliştirme yığını kullanıyor.

Katman Teknoloji
Çerçeve Next.js 15
Kullanıcı Arayüzü Kütüphanesi React 19
Dil TypeScript
Stil Tailwind CSS 4
HTTP İstemcisi Axios
Simgeler Lucide React
Tüylenme ESLint
Biçimlendirme Daha güzel

Bu paket şunları sağlar:

  • güçlü tip güvenlik

  • sürdürülebilir mimari

  • modern geliştirici deneyimi

Proje Yapısı

Proje yapısı, temiz ve ölçeklenebilir bir mimariye dayanmaktadır.

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

UygulamaRouter

Bu appdizin, uygulamanın tüm rotalarını içerir.

Örnekler:

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

Bu, Next.js'in daha yeni sürümlerinde tanıtılan Next.js Uygulama Routermimarisine uygundur.

Bileşenler

Kullanıcı arayüzleri componentsmantıksal gruplar halinde düzenlenmiştir:

components/layout 
components/common 
components/blog 

Bu yapı, kullanıcı arayüzü kodunu düzenli tutar ve bakımını kolaylaştırır.

Hizmetler Katmanı

Klasör services, API ile ilgili mantığı içerir:

  • API istemci yapılandırması

  • posta servisi

  • kategori hizmeti

  • iletişim formu hizmeti

Bu katman, veri alma mantığını kullanıcı arayüzündencomponents ayırarak ölçeklenebilirliği artırır.

Kurulum Kılavuzu

Gereksinimler

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

  • Node.js 18 veya üzeri

  • npm, yarn veya pnpm

Depoyu Klonla

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

Bağımlılıkları Yükle

npm install

Ortam Değişkenlerini Yapılandır

cp .env.example .env

Geliştirme Sunucusunu Başlatın

npm run dev

Tarayıcınızı açın ve şu adresi ziyaret edin:

http://localhost:3000

Mevcut Komut Dosyaları

Emretmek Tanım
npm run dev Geliştirme sunucusunu başlat
npm run build Üretim sürümü oluştur
npm run start Üretim sunucusunu başlatın
npm run lint ESLint'i çalıştırın
npm çalıştırma formatı Prettier ile kodu biçimlendirin.
npm run type-check TypeScript kontrollerini çalıştırın.

Gerçek bir API'ye geçiş

Projeyi gerçek bir arka uç API'sine bağlamak istiyorsanız, şu adımları izleyin.

Adım 1: Sahte API'yi Devre Dışı Bırakın

Dosyayı düzenleyin .env:

NEXT_PUBLIC_USE_MOCK_API=false

Adım 2: API Temel URL'sini Ayarlayın

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

3. Adım: Veri Türlerini Eşleştirme

Arka uç API'nizin aşağıdaki TypeScript tanımlarıyla eşleşen veriler döndürdüğünden emin olun:

src/types/index.ts

Ek kod değişikliğine gerek yoktur.

İçeriği Özelleştirme

Örnek içerik şu alanlarda düzenlenebilir:

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

Bu, geliştiricilerin demo içeriğini hızlı bir şekilde özelleştirmesine olanak tanır.

Tema ve Kullanıcı Arayüzünü Özelleştirme

Küresel stil anlayışına şu alanlarda rastlanabilir:

src/app/globals.css

Projede aşağıdaki yazı tipleri kullanılmaktadır:

  • DM Sans

  • JetBrains Mono

Tasarım gereksinimlerinize bağlı olarak stilleri değiştirebilir veya yazı tiplerini değiştirebilirsiniz.

Çözüm

NextJS Base Blog, Next.js ile blog oluşturmak için güçlü ve modern bir başlangıç ​​şablonudur.

Projenin başlıca avantajları şunlardır:

  • modern teknoloji yığını

  • temiz mimari

  • geliştirme için sahte API

  • Gerçek arka uç API'leriyle kolay entegrasyon

  • duyarlı kullanıcı arayüzü ve modern özellikler

Next.js ile bir blog, geliştirici web sitesi veya içerik platformu oluşturuyorsanız, bu depo size önemli ölçüde geliştirme süresi kazandırabilir.

Kaynak koduna buradan ulaşabilirsiniz: https://github.com/bfotool/nextjs-base-blog