Proje: Okul.com.tr CRM · Hub: Okul.com.tr CRM — Architecture
CRM Genel Mimari
Teknoloji Yığını
| Katman | Teknoloji |
|---|---|
| Framework | React 18 + TypeScript |
| Build | Vite 6.x (Next.js DEĞİL, README yanıltıcı) |
| Routing | React Router v7 |
| State | Zustand + localStorage persist |
| UI | Radix UI primitives + custom |
| Styling | Tailwind CSS |
| Forms | React Hook Form + Zod |
| HTTP | Axios + custom interceptors |
| Rich Text | TipTap ve Jodit editors |
| Test | Vitest + React Testing Library |
Çevre Konfigürasyonu
src/config/index.ts → config.development.ts / config.staging.ts / config.production.ts üçlüsünden birini yükler. import.meta.env.MODE ile belirlenir. Her ortamda apiUrl ve consumerKey farklı.
Dizin Haritası
src/
├── components/
│ ├── ui/ — Radix tabanlı primitifler (Button, Input, Dialog...)
│ ├── common/ — Uygulama bileşenleri (GenericListPage, FilterSheet, Navbar...)
│ └── auth/ — Auth-specific bileşenler
├── pages/ — Route'a göre domain klasörleri (schools/, articles/, users/...)
├── services/ — API servis katmanı (bir dosya per domain)
├── hooks/ — Custom React hooks
├── utils/ — api.ts, endpoints.ts, formatDate.ts, errorLogger.ts...
├── store/ — Zustand store'lar (şu an: useAuthStore.ts)
├── types/ — TypeScript type tanımları (api.ts başlıca dosya)
└── config/ — Ortam konfigürasyonları
İlgili Backend
- Laravel API:
/Users/furkannamli/Desktop/project/api/okulcom-api - Controller’lar:
app/Http/Controllers/Admin/ - API debug: controller dosyalarından parametreleri kontrol et
Related
- api-katmani — Axios interceptor ve token yönetimi
- modul-haritasi — Tüm sayfa/domain listesi