CodeBlanks Logo Icon CodeBlanks

Proje: Next.js mağaza

Next.js mağaza projesinin amacını ve adımlarını gözden geçirirsin.

Proje: Next.js mağaza

Bu projede Next.js ile küçük bir mağaza kuracaksın. Statik ana sayfa, dinamik ürün sayfası ve sepet API'si olacak. Her ders bir parça ekler.

Statik ana sayfa build sırasında üretilir; dinamik ürün sayfası [id] parametresiyle; sepet API'si ise app/api/cart/route.js'de.

Proje sonunda ürün listele, ürün detay gör, sepete ekle adımlarını tamamlayan bir uygulaman olacak.

Mağaza yapısı

Mağaza üç parçadan oluşur: app/page.js (statik ana sayfa), app/product/[id]/page.js (dinamik ürün), app/api/cart/route.js (sepet API'si).

Her parça farklı bir Next.js özelliği kullanır: SSG, dinamik rota, API rotası. Bu proje, App Router'ın tüm temel yeteneklerini birleştirir.

Ürün verisi basit bir dizi olarak tutulur; gerçek bir veritabanı gerekmez.

Uygulama Statik ana sayfa

Home bileşeni yaz: products dizisini alsın (örn. const products = [{ id: 1, name: "Kalem" }, { id: 2, name: "Defter" }]). <ul> içinde her ürün için <li>{product.name}</li> bas. export default Home.

Başlangıç kodu

App.jsx
// app/page.js

// Home bileşenini buraya yaz

Örnek çözüm

App.jsx
// app/page.js
const products = [{ id: 1, name: "Kalem" }, { id: 2, name: "Defter" }];

export default function Home() {
  return (
    <ul>
      {products.map((product) => (
        <li key={product.id}>{product.name}</li>
      ))}
    </ul>
  );
}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Projenin ilk adımı ne?

  • Statik ana sayfa Doğru cevap
  • Sepet API'si
  • Kullanıcı girişi
  • Ödeme entegrasyonu

Açıklama: Statik ana sayfa ile başlarız.

2 Dinamik ürün yolu

Soru
// app/product/[____]/page.js
export default function Page({ params }) {
  return <h1>{params.id}</h1>;
}
Cevap
// app/product/[id]/page.js
export default function Page({ params }) {
  return <h1>{params.id}</h1>;
}

Açıklama: [id] dinamik bir rota parametresidir.

3 Proje: Next.js mağaza: kavramları eşleştir

Kavram Anlamı
app/page.js Statik ana
[id]/page.js Dinamik ürün
api/cart/route.js Sepet API
SSG Build sırasında

İleri seviye bölümündeki tüm dersler