Okul.com.tr CRM

Claude’un bu proje için kalıcı hafızası. Session’lar arası unutmayacağın bilgileri buraya yazarsın.

Hızlı Bağlam

  • Proje: Okul.com.tr CRM — okullar, makaleler, kullanıcılar, duyurular/etkinlikler/başarılar yönetimi
  • Tech: React 18 + TypeScript, Vite 6, React Router v7, Zustand, Tailwind, Radix UI
  • Backend: /Users/furkannamli/Desktop/project/api/okulcom-api (Laravel)
  • Dev port: 3000 (npm run dev)

Klasörler (Hub’lar)

En Önemli Pattern’ler

  1. Liste sayfaları: useListFilters + GenericListPage + GenericDeleteDialogliste-sayfasi-pattern
  2. Servisler: EntityService class, getWithParams(URLSearchParams)servis-katmani
  3. Media: uploadTemporarymove iki adımlı akış → media-yukleme-akisi
  4. Permissions: usePermission(), super admin bypass → permission-sistemi
  5. Onay dialog: ActionConfirmationDialog + SystemEffect[]action-confirmation-dialog

Bilinen Tutarsızlıklar

  • List endpoint: includes[], Show endpoint: include[] — aynı API, farklı davranış
  • users/page.tsx eski pattern (useUrlFilters direkt) — migration tamamlanmamış
  • Create vs Edit’te status field tipi farklı (boolean vs number) — okullar için

Kullanım

  • Çalışmaya başlamadan: bu klasörü tara, ilgili notları oku.
  • Karar verdiğinde: decisions/’a not düş (tarih + gerekçe).
  • Bug çözdüğünde: incidents/’a root cause yaz.
  • Kalıcı bir şey öğrendiğinde: uygun klasöre atomik not olarak ekle, wikilink’le.

Repo

/Users/furkannamli/Desktop/project/crm