Genel Çalışma Akışı
Aşağıdaki akış, gerçek route yapısından (dashboard/src/routes/browserRouter.tsx, requireAuth.tsx, roleAccess.tsx) ve servis katmanından çıkarılmıştır; uydurma bir bileşen veya adım içermez.
flowchart TD
A[Kullanıcı siteye girer] --> B{Oturum var mı?<br/>Redux admin state}
B -- Hayır --> L[Giriş sayfası /login]
L -->|Kullanıcı adı + parola gönderilir<br/>POST /login| C{Backend<br/>doğruladı mı?}
C -- Hayır --> L
C -- Evet --> D[Token + kullanıcı bilgisi<br/>Redux + localStorage'a yazılır]
B -- Evet --> E
D --> E[Platformlar /platform]
E --> F{Kullanıcının rolü<br/>user mı?}
F -- Evet --> E
F -- Hayır / diğer roller --> G[Notlar /notlar]
F -- Hayır / diğer roller --> H[Ayarlar /ayarlar]
G --> G1[Not oluştur / düzenle / sil]
G1 --> G2[Hatırlatıcı zamanı ekle]
G2 --> G3{Hatırlatıcı<br/>süresi geldi mi?}
G3 -- Evet --> G4[Uygulama içi bildirim<br/>DueReminderDialog]
G --> G5[Notu e-posta ile gönder<br/>Mail Box akışı]
H --> H1[Platform modülü ekle / güncelle / sil]
H --> H2[Modül görüntülenme sırasını düzenle ve kaydet]
E --> I[Bir modül kartına tıkla]
I --> J[İlgili adrese yönlendir<br/>uygulama içi veya yeni sekme]
E -.-> K{Herhangi bir istekte<br/>401 / 403 alındı mı?}
G -.-> K
H -.-> K
K -- Evet --> M[Otomatik çıkış yap<br/>oturum bilgisi temizlenir]
M --> L
Adım adım özet
- Giriş: Kullanıcı, kullanıcı adı ve parolasıyla
/loginsayfasından giriş yapar (POST /login). Üç başarısız denemeden sonra 30 saniyelik giriş kilidi devreye girer. Başarılı girişte token ve kullanıcı bilgisi hem Redux'a hemlocalStorage'a yazılır ve kullanıcı/platform'a yönlendirilir. - Ana ekran (Platformlar): Her kullanıcı, rolünden bağımsız olarak platform modüllerini görür ve bir karta tıklayarak ilgili adrese (uygulama içi veya yeni sekmede) yönlendirilir.
- Rol kontrolü: Rolü
userolan kullanıcılar yalnızca Platformlar'da kalır; diğer tüm roller (veya rol alanı boşsa) Notlar ve Ayarlar sayfalarına da erişebilir. - Not ve hatırlatıcı döngüsü: Notlar sayfasında not oluşturma/düzenleme/silme ve hatırlatıcı zamanı ekleme yapılır; süresi gelen hatırlatıcılar uygulama açıkken otomatik olarak bir diyalog penceresiyle bildirilir. Notlar ayrıca "Mail Box" akışıyla e-posta olarak paylaşılabilir.
- Yönetim (Ayarlar): Yetkili roller, platform modüllerini ekleyip düzenleyebilir ve görüntülenme sırasını (manuel veya otomatik kurala göre) kaydedebilir.
- Oturum sonlanması: Herhangi bir istekte backend
401/403döndürürse, uygulama otomatik olarak oturumu kapatır, eskilocalStoragealanlarını temizler ve kullanıcıyı/login'e geri yönlendirir.
Bu akışta yer alan tüm ekranların alan/işlem düzeyinde detayları için bkz. Sayfalar; her adımın hangi backend uç noktasını çağırdığı için bkz. API Dokümantasyonu.