Proje: Okul.com.tr CRM · Hub: Okul.com.tr CRM — Architecture

CRM Hata Yönetimi

Katmanlar

  1. ErrorBoundary — React render hatalarını yakalar
  2. ErrorProvider (ErrorContext) — uygulama genelinde hata gösterim API’si
  3. errorLogger — API hatalarını loglar
  4. toast (sonner) — kullanıcıya hata gösterimi

ErrorContext

const { showError, showWarning, showInfo, handleApiError, logError } = useErrorContext();
  • showErrortoast.error() (5000ms)
  • showWarningtoast.warning() (4000ms)
  • showInfotoast.info()
  • handleApiError → API hata nesnesinden mesaj çıkarıp toast gösterir
  • logError → console.error + opsiyonel backend log

AuthGuard Auth Kontrolü

100ms delay ile token cookie’yi kontrol eder:

  • Geçerli token (auth_token) yoksa → /login (from: mevcut path state’e kaydedilir)
  • Login sayfasındayken token gelirse → state.from veya /dashboard’a yönlendirir

Not: state.from ile login sonrası orijinal sayfaya yönlendirme var.

Toaster Konfigürasyonu

<Toaster position="top-right" richColors={true} />

errorLogger Kullanımı

import { getErrorMessage } from '@/utils/errorLogger';
// toast.error(getErrorMessage(error));

Yaygın pattern: try/catch’te getErrorMessage(error) ile toast göster.