Files
rust_imgapi/ADMIN_PANEL_PROMPT.md
Beyhan Oğur dd72c6220d first commit
2026-04-26 22:32:52 +03:00

164 lines
4.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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/register`
- `POST /api/v1/auth/login`
- `POST /api/v1/auth/refresh`
- `POST /api/v1/auth/logout`
- `GET /api/v1/auth/me`
Images:
- `GET /api/v1/images/process`
- `POST /api/v1/images/process`
- `GET /api/v1/images`
- `GET /api/v1/images/{id}/variant`
Other:
- `GET /`
- `GET /health`
- `GET /db/ping`
- `GET /api-docs/openapi.json`
- `GET /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 widgetlar
### 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
- Tokenları 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:
1. Admin panel için önerilen klasör yapısı
2. Kullanılacak teknoloji önerisi
3. Ana sayfa ve ekran akışları
4. Auth ve API client mimarisi
5. Component listesi
6. State management yaklaşımı
7. Route guard yaklaşımı
8. UI/UX prensipleri
9. Güvenlik önlemleri
10. Geliştirme roadmapi
## Önerilen Sayfalar
- `/login`
- `/dashboard`
- `/images`
- `/images/[id]`
- `/settings`
- `/health`
- `/logs` (opsiyonel)
- `/users` (ileride eklenebilir)
## API İstek Kuralları
- Tüm private endpointler için `Authorization` header kullanılmalı
- 401 yanıtında refresh flow devreye girmeli
- Refresh başarısızsa logout yapılmalı
- Tüm responselar 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 APIyi 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