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

CRM Routing Yapısı

App Sarmalayıcılar

App.tsxErrorBoundaryErrorProviderThemeProviderAuthGuardAppRoutes

Toaster (sonner) position="top-right", richColors=true

AuthGuard

Login olmadan erişim engellenmiş. /login korumasız, diğer her şey korumalı.

Lazy Loading Pattern

Kritik sayfalar hariç tümü React.lazy() ile lazy loaded:

Eager (direkt import):

  • LoginPage
  • DashboardPage
  • DashboardLayout

Lazy (React.lazy): Diğer tüm sayfalar.

LazyRoute HOC — Suspense wrapper, PageLoader (spinner + “Sayfa yükleniyor…” text) fallback.

URL Yapısı

SayfaURL Pattern
Dashboard/dashboard
Liste/<entity>
Detail/<entity>/:id
Create/<entity>/create
Edit/<entity>/edit/:id

İstisnalar:

  • Colleges: /<entity>/create/page (create subdir)
  • Articles, Announcements, Events, Achievements: /edit/page subdir

Sayfalar Olmayan Modüller

/users/details yok — kullanıcı detay sayfası yok (direkt edit). /campaigns sadece liste var — create/edit yok. /sales-campaigns — sadece inline form (modal dialog).

Root Redirect

//dashboard (Navigate replace)