first commit

This commit is contained in:
Beyhan Oğur
2026-04-26 21:46:42 +03:00
commit 2a5b661443
202 changed files with 49770 additions and 0 deletions

View File

@@ -0,0 +1,112 @@
# Admin Panel — Görev Tanımı (Next.js 16 + TypeScript)
## Kısa Özet
Bu görevde Next.js 16 ve paylaştığın paketler kullanılarak önce masaüstü öncelikli,
responsive bir Admin Paneli geliştirilecek; Admin
Kod üretimi için aşağıdaki gereksinimler ve kabul kriterleri tam
uygulanmalıdır.
## Teknoloji Yığını (Zorunlu)
- Next.js 16 (App Router /app)
- React 19, TypeScript
- Tailwind CSS v4, shadcn bileşenleri
- class-variance-authority, tailwind-merge
- lucide-react (ikonlar)
- sweetalert2 (bildirimler/konfirmasyonlar)
- zod (validasyon)
- next-auth (kimlik doğrulama)
- nextjs-turnstile (Cloudflare Turnstile entegrasyonu)
- tw-animate-css (isteğe bağlı animasyonlar)
Yeni büyük kütüphaneler eklemek gerekiyorsa önceden onay istenmelidir.
Küçük yardımcı util paketleri gerektiğinde kabul edilebilir ama öncelik mevcut paketlerle çözmek.
## Tasarım Sistemi ve UI
- shadcn + Tailwind üzerinde tutarlı bir design-system oluştur: tokenlar (renk, spacing, tipografi), light/dark tema.
- Temel component seti: Button, Input, Select, TextArea, Modal, Table, Pagination, Badge, Toast, Card, Form.
- class-variance-authority ile variant/size yönetimi, tailwind-merge ile conditional class birleştirme.
- İkonlar lucide-react ile sağlanacak.
- Erişilebilirlik: semantic HTML, aria attributeleri, klavye erişimi, WCAG AA hedefleri.
## Mimari ve Veri Akışı
- App Router (app/) kullan, sunucu bileşenleri (server components) ile veri yüklemesi/SSR; client components interaktivite için.
- Veri yüklemelerinde sunucu tarafı yükleme (server components) tercih edilir; client-side filtreleme/paginasyon için fetch + useState/useEffect kullanılabilir.
- Global state gerekiyorsa React Context ile minimal çözüm (yeni global state kütüphanesi eklenmeyecek).
## Kimlik Doğrulama & Yetkilendirme
- NextAuth ile güvenli oturum/JWT tabanlı kimlik doğrulama uygulanacak.
- Role-based access control: en az iki rol (superadmin, admin).
- Admin rotaları server-side yetki kontrolü ile korunacak (middleware veya server actions).
- /admin/login sayfasına Cloudflare Turnstile (nextjs-turnstile) entegre edilecek.
## Routing & Sayfalar (Zorunlu)
- /admin/login
- /admin → /admin yönlendirme (Dashboard)
- /admin (KPI kartları, son işlemler, hızlı aksiyonlar)
- /admin/users (liste, arama, filtre, pagination, CSV export)
- /admin/users/[id] (profil, roller, aktif/devre dışı)
- /admin/products (CRUD: liste, oluştur, düzenle, sil)
- /admin/orders (liste, detay, durum güncelleme)
- /admin/settings (genel, güvenlik, entegrasyonlar)
- /admin/profile
## Veri Modelleri (Örnek)
- Users: id, name, email, role, status, createdAt
- Products: id, title, sku, price, inventory, images[], status
- Orders: id, userId, items[], total, status, createdAt
(Not: Backend yoksa örnek/mock endpointler veya mevcut API ile uyumlu yapı sağlanmalı.)
## Formlar & Validasyon
- Tüm formlarda Zod ile hem client-side hem server-side validasyon.
- Form submitleri server actions veya route handlers ile işlenmeli.
- Başarı/hata bildirimleri için sweetalert2 kullanılacak.
## Dosya/Resim Yükleme
- Gerçek bir backend/3rd-party (S3) yoksa: client-side önizleme sağlayan placeholder upload akışı oluştur; upload endpoint için gerekli iskelet/protokol hazır olsun.
## Güvenlik
- Tüm admin rotaları server-side yetkilendirmeyle korunacak.
- Hassas veriler .env ile saklanacak (READMEde açıkça listelenecek).
- XSS/CSRF/SSRF risklerini azaltacak NextAuth & server actions en iyi uygulamalarına uyulacak.
## Performans & Optimizasyon
- Hedef: sayfa başlangıç süresi < 1.5s (kritik CSS minimal, resimler optimize).
- Lazy load, code-splitting, image optimization kullanımı önerilir.
## Test & Kalite
- TypeScript tipleri zorunlu, ESLint konfigürasyonuna uyulacak.
- Component-level testler opsiyonel; ek paket gerekiyorsa sonradan onay alınacak.
- README: kurulum, env değişkenleri, çalıştırma ve mimari kısa açıklama olacak.
## Hata Yönetimi & İzleme
- Merkezi error handling mekanizması.
- Kullanıcıya sweetalert2 ile başarılı/başarısız geri bildirimleri göster.
## Internationalization
- Proje i18n'ye hazır olmalı (tüm metinler merkezi çeviri kaynağından çekilecek).
## Kabul Kriterleri (Öncelikli)
1. Admin login çalışıyor; Turnstile doğrulaması entegre ve çalışır.
2. Rol tabanlı erişim ile korunan tüm /admin sayfalarına yetkisiz erişim engelleniyor.
3. Dashboard KPI kartları ve tablolar sunuyor; kullanıcı ve ürün CRUD fonksiyonları tamam.
4. Tüm formlar Zod ile client ve server validasyonu sağlıyor.
5. Component kütüphanesi shadcn + Tailwind ile tutarlı, responsive ve erişilebilir.
6. UX geri bildirimleri sweetalert2 ile gösteriliyor.
7. Kod TypeScript ile tam tiplenmiş ve ESLint uyarılarına duyarlı.
## Teslimat (Çıktı)
- Çalışır Next.js projesi (kaynak kod).
- README: kurulum, env değişkenleri (NEXTAUTH_URL, NEXTAUTH_SECRET, DATABASE_URL, TURNSTILE_SITEKEY, TURNSTILE_SECRET vb.), çalıştırma talimatları.
- Temel component listesi ve kısa kullanım notları.
- Kabul testi checklist'i (madde madde doğrulanabilir).
## Ek Kurallar & Notlar
- Yeni ana kütüphaneler eklemeden önce onay iste.
- Tasarım ve component kararları tutarlılık için belgelenmeli.
- Admin tamamlandıktan sonra müşteri-facing frontend için aynı design-system kullanılacak; bu aşama ayrı kabul kriterleriyle planlanacak.
---
Bu dosyayı doğrudan görev olarak kullan:
ve detayli bir kulanama kılavuzu hazırla.