Ana içeriğe geç

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

  1. Giriş: Kullanıcı, kullanıcı adı ve parolasıyla /login sayfası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 hem localStorage'a yazılır ve kullanıcı /platform'a yönlendirilir.
  2. 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.
  3. Rol kontrolü: Rolü user olan 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.
  4. 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.
  5. 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.
  6. Oturum sonlanması: Herhangi bir istekte backend 401/403 döndürürse, uygulama otomatik olarak oturumu kapatır, eski localStorage alanları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.