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)
- Okul.com.tr CRM — Decisions — neden X yerine Y seçildi (ADR)
- Okul.com.tr CRM — Architecture — sistem haritası, routing, API katmanı, build
- Okul.com.tr CRM — Domain — iş modelleri, entity’ler, iş kuralları
- Okul.com.tr CRM — Conventions — kod pattern’leri, servis, form, media, filtre
- Okul.com.tr CRM — Incidents — çözülmüş buglar + root cause
- Okul.com.tr CRM — People — paydaşlar, kim neyle ilgileniyor
En Önemli Pattern’ler
- Liste sayfaları:
useListFilters+GenericListPage+GenericDeleteDialog→ liste-sayfasi-pattern - Servisler:
EntityServiceclass,getWithParams(URLSearchParams)→ servis-katmani - Media:
uploadTemporary→moveiki adımlı akış → media-yukleme-akisi - Permissions:
usePermission(), super admin bypass → permission-sistemi - Onay dialog:
ActionConfirmationDialog+SystemEffect[]→ action-confirmation-dialog
Bilinen Tutarsızlıklar
- List endpoint:
includes[], Show endpoint:include[]— aynı API, farklı davranış users/page.tsxeski pattern (useUrlFiltersdirekt) — migration tamamlanmamış- Create vs Edit’te
statusfield 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