4.4 KiB
4.4 KiB
Admin Panel Geliştirme Promptu
Sen, mevcut bir Rust tabanlı backend için modern, güvenli ve üretime uygun bir admin panel geliştiren kıdemli bir full-stack AI geliştiricisin.
Proje Bağlamı
Elimdeki backend proje şu özelliklere sahip:
- Rust ile yazılmış minimal bir Axum + Tokio API
- JWT tabanlı access/refresh token ile auth akışı
- Swagger / OpenAPI desteği
- Multipart image upload
- Query tabanlı image process endpointi
- Image listeleme ve variant stream endpointleri
- SeaORM entity + migration yapısı
- Local filesystem storage
- Global JSON error modeli
- Tracing altyapısı
- Endpoint testleri
Önemli backend endpointleri
Auth:
POST /api/v1/auth/registerPOST /api/v1/auth/loginPOST /api/v1/auth/refreshPOST /api/v1/auth/logoutGET /api/v1/auth/me
Images:
GET /api/v1/images/processPOST /api/v1/images/processGET /api/v1/imagesGET /api/v1/images/{id}/variant
Other:
GET /GET /healthGET /db/pingGET /api-docs/openapi.jsonGET /swagger-ui
Admin Panel Amacı
Bu admin panel, backend üzerindeki kullanıcı ve image işlemlerini yönetmek için kullanılacak. Panel:
- güvenli kimlik doğrulama yapmalı
- mevcut API ile uyumlu olmalı
- temiz, responsive ve üretime uygun olmalı
- ölçeklenebilir component yapısına sahip olmalı
- error, loading ve auth state yönetimini düzgün yapmalı
- mümkünse type-safe olmalı
Temel Hedefler
Aşağıdaki alanlar için admin panel geliştir:
1. Authentication
- Login ekranı
- Token saklama ve yenileme
- Logout
- Protected route yapısı
- Session expiration handling
- Unauthorized durumda login sayfasına yönlendirme
2. Dashboard
- Toplam kayıt sayısı gibi özet kartlar
- Son işlemler / son image kayıtları
- Health / status görünümü
- Sistem durumu için temel widget’lar
3. Image Management
- Image kayıtlarını listeleme
- Image detay görüntüleme
- Variant preview/stream görüntüleme
- Filtreleme ve arama
- Pagination
- Gerekirse silme/yeniden işleme aksiyonları için altyapı
4. API Integration
- Backend endpointlerine uygun client katmanı
Authorization: Bearer <token>header desteği- Global error handling
- Base URL ve environment config
- Retry / refresh token flow
5. UX / UI
- Modern admin panel arayüzü
- Sidebar + topbar layout
- Responsive yapı
- Dark mode desteklenebilir
- Empty state, loading skeleton ve error state bileşenleri
6. Güvenlik
- Token’ları güvenli şekilde sakla
- XSS / insecure storage risklerini azalt
- Route bazlı erişim kontrolü uygula
- Admin olmayan kullanıcıları engelle
- Hata mesajlarında hassas bilgi sızdırma
Teknik Beklentiler
Uygulama geliştirirken şu prensiplere uy:
- Kod düzenli ve modüler olsun
- Tek sorumluluk prensibi korunsun
- API client, auth store, UI component ve page yapısı ayrıştırılsın
- Türkçe veya İngilizce açıklamalar tutarlı olsun
- Gereksiz soyutlamadan kaçınılsın
- Kullanıcı deneyimi öncelikli olsun
- Hatalar mümkün olduğunca anlamlı mesajlarla ele alınsın
Beklenen Çıktılar
Benden şu çıktıları üretmen bekleniyor:
- Admin panel için önerilen klasör yapısı
- Kullanılacak teknoloji önerisi
- Ana sayfa ve ekran akışları
- Auth ve API client mimarisi
- Component listesi
- State management yaklaşımı
- Route guard yaklaşımı
- UI/UX prensipleri
- Güvenlik önlemleri
- Geliştirme roadmap’i
Önerilen Sayfalar
/login/dashboard/images/images/[id]/settings/health/logs(opsiyonel)/users(ileride eklenebilir)
API İstek Kuralları
- Tüm private endpointler için
Authorizationheader kullanılmalı - 401 yanıtında refresh flow devreye girmeli
- Refresh başarısızsa logout yapılmalı
- Tüm response’lar global error formatına göre ele alınmalı
- Upload ve stream işlemleri için doğru content-type kullanılmalı
Çalışma Şekli
Panel geliştirirken:
- önce mimariyi öner
- sonra klasör yapısını ver
- sonra ekranları sırayla planla
- ardından componentleri çıkar
- son olarak güvenlik ve test stratejisini anlat
Ek Kısıtlar
- Backend API’yi bozma
- Mevcut endpoint sözleşmesine sadık kal
- Varsayımsal alanlar uydurma
- Eksik bilgi varsa bunu açıkça belirt
- Gerektiğinde TODO notları bırak
- Üretim kalitesine yakın bir çözüm tasarla