# Development Prompts

## Adım 1: Proje Başlatma (Boilerplate)
"Go 1.26.1, Fiber v3 ve GORM kullanarak projenin ana iskeletini oluştur. MySQL ve Redis bağlantı yapılandırmalarını `internal/platform` altında hazırla. `main.go` dosyasında Fiber v3'ü ayağa kaldır ve merkezi bir hata yakalama (Error Handler) mekanizması kur."

## Adım 2: Account Modülü (Auth)
"accounts klasöründe MySQL tabanlı bir kullanıcı sistemi yaz. Kayıt (Register) ve Giriş (Login) endpoint'lerini oluştur. Şifreleri bcrypt ile sakla. Login başarılı olduğunda JWT dön. JWT içinde UserID barındırmalı."

## Adım 3: Image Modülü ve Redis Entegrasyonu
"images klasöründe resim yükleme ve metadata saklama mantığını kur. Bir resim için 'işlem token'ı' üreten bir servis yaz. Bu token Redis üzerinde belirli bir süre (TTL) saklanmalı ve sadece o resme özel manipülasyon yetkisi vermeli."

## Adım 4: Image Manipulation Logic
"Görüntü işleme servisini yaz. `disintegration/imaging` veya benzeri bir kütüphane kullanarak şu özellikleri ekle:
- Gelen en, boy ve kalite değerlerine göre resmi yeniden boyutlandır.
- 'cover' (en-boy oranını koruyarak doldurma) ve 'crop' modlarını destekle.
- Çıktıyı istenen formatta (AVIF, WEBP, vb.) encode et.
- İşlem öncesi Redis'teki erişim token'ını doğrula."

## Adım 5: Fiber V3 Route Yapılandırması
"Tüm modülleri birleştir. `/auth` ve `/images` prefix'leri ile route'ları tanımla. İmaj manipülasyon route'u şu formatta olmalı: `/images/:id/process?token=...&w=...&h=...&f=webp`."