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.
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 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ü.
Backend kurulumunu tamamlamak için aşağıdaki adımları sırasıyla uygulayın:
Terminalinizi açıp backend dizinine gidin:
cd backendGerekli PHP paketlerini Composer ile yükleyin:
composer install.env.example dosyasının bir kopyasını oluşturarak .env dosyası hazırlayın:
cp .env.example .envArdı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)php artisan key:generateKimlik doğrulama işlemleri için kullanılacak JWT imzalama anahtarını oluşturun:
php artisan jwt:secretTabloları 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 --seedSeed Sonrası Varsayılan Hesaplar:
- Mağaza (Store) Hesabı:
store@dehasoft.com/ Şifre:password(veyadehasoft123test token bypass ile otomatik giriş)- Müşteri (Customer) Hesabı:
customer@dehasoft.com/ Şifre:password
Laravel uygulamasını lokalde ayağa kaldırmak için:
php artisan serveVarsayılan olarak sunucu http://localhost:8000 adresinde çalışacaktır.
Backend başarıyla ayağa kalktığında API dokümantasyonuna ve interaktif test paneline navbardan ulaşabilirsiniz:
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
dehasoft123yazı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!
Frontend arayüzünü ayağa kaldırmak için aşağıdaki adımları sırasıyla uygulayın:
cd ../frontendnpm installFrontend 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/apinpm run devNext.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!
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.tsproxy 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.