Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dehasoft Pazaryeri (Marketplace) - Kurulum ve Başlangıç Kılavuzu

Bu doküman, Dehasoft Pazaryeri test projesinin hem Backend (Laravel 12) hem de Frontend (Next.js 15) tarafının kurulumu, veritabanı yapılandırması ve ayağa kaldırılması adımlarını detaylıca açıklamaktadır.


🛠️ Sistem Gereksinimleri

Başlamadan önce bilgisayarınızda aşağıdaki yazılımların kurulu olduğundan emin olun:

  • Laragon (veya Wamp/XAMPP)
  • PHP 8.3+
  • Composer (PHP paket yöneticisi)
  • Node.js 18+ veya 20+
  • MySQL 8.0+

📂 Proje Yapısı

Proje iki ana dizinden oluşmaktadır:

  • /backend : Laravel 12 API katmanı, JWT Yetkilendirme ve Veritabanı Yönetimi.
  • /frontend: Next.js 15 (App Router), React 19, Tailwind CSS ve Zustand ile geliştirilmiş kullanıcı arayüzü.

🚀 1. Backend (Laravel 12) Kurulumu

Backend kurulumunu tamamlamak için aşağıdaki adımları sırasıyla uygulayın:

Adım 1: Backend Klasörüne Geçiş

Terminalinizi açıp backend dizinine gidin:

cd backend

Adım 2: Bağımlılıkların Kurulması

Gerekli PHP paketlerini Composer ile yükleyin:

composer install

Adım 3: Çevresel Değişkenlerin Yapılandırılması (.env)

.env.example dosyasının bir kopyasını oluşturarak .env dosyası hazırlayın:

cp .env.example .env

Ardından .env dosyasını açarak veritabanı ayarlarınızı kendi yerel MySQL sunucunuza göre düzenleyin:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dehasoft_db   # Laragon/MySQL üzerinde oluşturduğunuz veritabanı adı
DB_USERNAME=root
DB_PASSWORD=              # MySQL şifreniz (genellikle boştur)

Adım 4: Uygulama Anahtarının Üretilmesi

php artisan key:generate

Adım 5: JWT Secret Key Üretilmesi

Kimlik doğrulama işlemleri için kullanılacak JWT imzalama anahtarını oluşturun:

php artisan jwt:secret

Adım 6: Veritabanı Migrasyonu ve Seeding (Örnek Veriler)

Tabloları oluşturmak ve test verilerini (kullanıcılar, mağazalar, ürünler, siparişler, vb.) içeriye aktarmak için aşağıdaki komutu çalıştırın:

php artisan migrate:fresh --seed

Seed Sonrası Varsayılan Hesaplar:

  • Mağaza (Store) Hesabı: store@dehasoft.com / Şifre: password (veya dehasoft123 test token bypass ile otomatik giriş)
  • Müşteri (Customer) Hesabı: customer@dehasoft.com / Şifre: password

Adım 7: Sunucuyu Başlatma

Laravel uygulamasını lokalde ayağa kaldırmak için:

php artisan serve

Varsayılan olarak sunucu http://localhost:8000 adresinde çalışacaktır.


🌐 2. API Dokümantasyonu & Kolay Test (Swagger UI)

Backend başarıyla ayağa kalktığında API dokümantasyonuna ve interaktif test paneline navbardan ulaşabilirsiniz:

🔑 Test Token (Bypass) Özelliği:

Swagger üzerinde test yaparken sürekli giriş yapıp (login) token almak zorunda kalmamanız için bir kolaylık eklenmiştir:

  • Sağ üstteki yeşil Authorize butonuna tıklayın.
  • Token kısmına sadece dehasoft123 yazın ve onaylayın.
  • Artık tüm yetki gerektiren (kilit simgeli) endpointleri otomatik olarak sistemdeki ilk kayıtlı Mağaza (Store) yetkisiyle doğrudan test edebilirsiniz!

💻 3. Frontend (Next.js 15) Kurulumu

Frontend arayüzünü ayağa kaldırmak için aşağıdaki adımları sırasıyla uygulayın:

Adım 1: Frontend Klasörüne Geçiş

cd ../frontend

Adım 2: Bağımlılıkların Kurulması

npm install

Adım 3: Çevresel Değişkenlerin Yapılandırılması (.env.local)

Frontend klasörü altında bir adet .env.local dosyası oluşturun ve içerisine aşağıdaki değişkeni ekleyin:

# Backend API URL (Laravel sunucu adresiniz)
API_URL=http://localhost:8000/api

Adım 4: Geliştirme Sunucusunu Başlatma

npm run dev

Next.js sunucunuz varsayılan olarak http://localhost:3000 adresinde çalışmaya başlayacaktır. Tarayıcınızda bu adrese giderek pazaryerini kullanmaya başlayabilirsiniz!


🔒 Güvenlik & Proxy Mimarisi Bilgilendirmesi

Bu projede güvenlik kuralları gereği tarayıcı hiçbir şekilde doğrudan Backend API'sine (localhost:8000/api) istek atamaz.

  • Tüm client istekleri Next.js içerisinde bulunan app/api/[...route]/route.ts proxy katmanına atılır (http://localhost:3000/api/...).
  • Proxy katmanı, istekleri yakalar, httpOnly çerezlerde saklanan JWT token'ı okur, header'a ekler ve sunucu tarafında Laravel API'sine güvenli bir şekilde iletir.
  • Ürün ekleme/düzenleme işlemlerinde görsel yüklenebilmesi amacıyla proxy katmanı multipart/form-data (FormData) desteğiyle donatılmıştır.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages