User Flow Diagrams
Kullanici yolculuklari ve is akislari - decisions.md kaynaklarindan
Authentication Flow
K-001Legends DXP kimlik dogrulama akisi. Sadece cep telefonu + OTP ile giris. E-posta ve sifre sistemi yok.
flowchart TD
subgraph AUTH["Authentication"]
START(("Başla")) --> LOGIN["Login Sayfası
Telefon girişi"]
LOGIN --> ENTER["Cep telefonu gir"]
ENTER --> CHECK{"Telefon
kayıtlı?"}
end
subgraph OTP["OTP Verification"]
CHECK -->|Evet| SEND_OTP[/"POST /auth/otp/send
SMS gönder"/]
SEND_OTP --> OTP_PAGE["OTP Doğrulama
6 haneli kod"]
OTP_PAGE --> VERIFY[/"POST /auth/otp/verify"/]
VERIFY --> VALID{"OTP
doğru?"}
end
subgraph SESSION["Session Management"]
VALID -->|Evet| CREATE["Session oluştur
JWT token"]
CREATE --> DASHBOARD["Dashboard
Rol bazlı menü"]
DASHBOARD --> END_OK(("Tamam"))
end
CHECK -->|Hayır| REGISTER["Kayıt Sayfası
Yeni kullanıcı"]
VALID -->|Hayır| ERROR["Hata göster
Max 3 deneme"]
ERROR --> RETRY{"Tekrar
dene?"}
RETRY -->|Evet| OTP_PAGE
RETRY -->|Hayır| LOGIN
style START fill:#22c55e,stroke:#16a34a,color:#fff
style END_OK fill:#22c55e,stroke:#16a34a,color:#fff
style LOGIN fill:#ccfbf1,stroke:#0d9488
style OTP_PAGE fill:#ccfbf1,stroke:#0d9488
style DASHBOARD fill:#ccfbf1,stroke:#0d9488
style REGISTER fill:#ccfbf1,stroke:#0d9488
style CHECK fill:#fef3c7,stroke:#d97706
style VALID fill:#fef3c7,stroke:#d97706
style RETRY fill:#fef3c7,stroke:#d97706
style SEND_OTP fill:#fef3c7,stroke:#d97706
style VERIFY fill:#fef3c7,stroke:#d97706
style ERROR fill:#fee2e2,stroke:#ef4444
Notlar
- E-posta ile giriş YOK (K-001)
- Şifre sistemi YOK (K-001)
- Max 3 OTP deneme hakkı, sonra geçici kilitlenme
Admin Hierarchy Flow
K-0033 katmanli yonetici hiyerarsisi. Super Admin (Platform) → Tenant Admin (Proje) → Editor (Kullanici). Multi-DB izolasyonu ile her tenant ayri veritabaninda.
flowchart TB
subgraph SUPER["🟣 SUPER ADMIN - System Level"]
SA_LOGIN(("SA")) --> SA_DASH["Platform Dashboard
Tüm tenant'lar"]
SA_DASH --> TENANT_CRUD["Tenant CRUD
Oluştur/Düzenle/Sil"]
TENANT_CRUD --> CREATE_TA["Tenant Admin Oluştur"]
CREATE_TA --> SYSTEM_DB[("system_db")]
end
subgraph TENANT["🔵 TENANT ADMIN - Project Level"]
TA_LOGIN(("TA")) --> TA_DASH["Tenant Dashboard
Kendi tenant'ı"]
TA_DASH --> EDITOR_MGT["Editor Yönetimi"]
EDITOR_MGT --> CREATE_ED["Editor Oluştur
Checkbox yetkiler"]
CREATE_ED --> ASSIGN_PERM["Yetki Ata
Granüler K-002"]
ASSIGN_PERM --> TENANT_DB[("tenant_xxx_db")]
end
subgraph EDITOR["🟢 EDITOR - User Level"]
ED_LOGIN(("E")) --> ED_DASH["Editor Dashboard
Yetki bazlı menü"]
ED_DASH --> CHECK_PERM{"Yetki?"}
CHECK_PERM -->|Evet| ACCESS["Modüle Eriş"]
CHECK_PERM -->|Hayır| DENIED["403 Forbidden"]
end
CREATE_TA -.->|Davet SMS| TA_LOGIN
ASSIGN_PERM -.->|Davet SMS| ED_LOGIN
style SA_LOGIN fill:#8b5cf6,stroke:#7c3aed,color:#fff
style TA_LOGIN fill:#3b82f6,stroke:#2563eb,color:#fff
style ED_LOGIN fill:#0d9488,stroke:#0f766e,color:#fff
style SYSTEM_DB fill:#dbeafe,stroke:#2563eb
style TENANT_DB fill:#dbeafe,stroke:#2563eb
style CHECK_PERM fill:#fef3c7,stroke:#d97706
style DENIED fill:#fee2e2,stroke:#ef4444
style ACCESS fill:#dcfce7,stroke:#22c55e
Veritabanı İzolasyonu
- system_db: Super Admin, Tenant kayıtları, platform config
- tenant_xxx_db: Her tenant için ayrı DB
- Tenant Admin: Diğer tenant'lara erişim YOK
- Editor: Başka kullanıcı oluşturma yetkisi YOK