324 lines
8.6 KiB
Markdown
324 lines
8.6 KiB
Markdown
# 📚 Kapadokya Kuralları - Dokümantasyon İndeksi
|
||
|
||
## 🎯 Hızlı Erişim
|
||
|
||
### 🔴 KRİTİK: Düzeltme Uygulandı!
|
||
**SMART RESTAURANT bölümünde LIMITED kuralı bypass ediliyordu. Bu düzeltildi.**
|
||
- **Düzeltme Detayları:** `CAPPADOCIA_RULES_FIX.md`
|
||
- **Görsel Açıklama:** `CAPPADOCIA_RULES_FIX_VISUAL.md`
|
||
|
||
### 🚀 Başlangıç
|
||
- **Hızlı Referans:** `CAPPADOCIA_RULES_QUICK_REF.md`
|
||
- **Özet:** `CAPPADOCIA_RULES_SUMMARY.md`
|
||
|
||
### 🔧 Kritik Düzeltme (YENİ!)
|
||
- **Düzeltme Açıklaması:** `CAPPADOCIA_RULES_FIX.md`
|
||
- **Görsel Diyagram:** `CAPPADOCIA_RULES_FIX_VISUAL.md`
|
||
|
||
### 📖 Detaylı Dokümantasyon
|
||
- **Aktivasyon Kılavuzu:** `CAPPADOCIA_RULES_ACTIVATION.md`
|
||
- **Önce/Sonra Karşılaştırması:** `CAPPADOCIA_RULES_BEFORE_AFTER.md`
|
||
- **Akış Diyagramı:** `CAPPADOCIA_RULES_FLOW_DIAGRAM.md`
|
||
|
||
### 🧪 Test ve Örnekler
|
||
- **Test Senaryoları:** `test-cappadocia-rules.ts`
|
||
|
||
### 💻 Kaynak Kod
|
||
- **Kural Tanımları:** `/src/config/cappadocia-rules.ts`
|
||
- **Kural Uygulaması:** `/src/db/api.ts` (satır 887-1150)
|
||
|
||
---
|
||
|
||
## 📄 Dosya Açıklamaları
|
||
|
||
### 1. CAPPADOCIA_RULES_QUICK_REF.md
|
||
**Amaç:** Hızlı referans kartı
|
||
**İçerik:**
|
||
- Kural kategorileri özeti
|
||
- Kullanım örnekleri
|
||
- Kontrol fonksiyonu
|
||
- Kural matrisi
|
||
- Kod konumları
|
||
- Test komutları
|
||
|
||
**Kullanım:** Günlük geliştirme sırasında hızlı bakış
|
||
|
||
---
|
||
|
||
### 2. CAPPADOCIA_RULES_SUMMARY.md
|
||
**Amaç:** Genel özet ve durum raporu
|
||
**İçerik:**
|
||
- Yapılan değişiklikler
|
||
- Aktive edilen kurallar
|
||
- Test senaryoları
|
||
- Etki analizi
|
||
- Teknik detaylar
|
||
- Sonraki adımlar
|
||
|
||
**Kullanım:** Proje yönetimi ve durum takibi
|
||
|
||
---
|
||
|
||
### 3. CAPPADOCIA_RULES_ACTIVATION.md
|
||
**Amaç:** Detaylı aktivasyon kılavuzu
|
||
**İçerik:**
|
||
- Kural açıklamaları
|
||
- Kod değişiklikleri (önce/sonra)
|
||
- Test senaryoları
|
||
- Kural kategorileri
|
||
- İlgili dosyalar
|
||
- Notlar
|
||
|
||
**Kullanım:** Teknik implementasyon detayları
|
||
|
||
---
|
||
|
||
### 4. CAPPADOCIA_RULES_BEFORE_AFTER.md
|
||
**Amaç:** Davranış karşılaştırması
|
||
**İçerik:**
|
||
- Senaryo bazlı karşılaştırmalar
|
||
- Kategori açıklamaları
|
||
- İstatistikler
|
||
- Kod karşılaştırması
|
||
- Öğrenilen dersler
|
||
|
||
**Kullanım:** Değişikliklerin etkisini anlamak
|
||
|
||
---
|
||
|
||
### 5. CAPPADOCIA_RULES_FLOW_DIAGRAM.md
|
||
**Amaç:** Görsel akış diyagramları
|
||
**İçerik:**
|
||
- Kural akış şeması
|
||
- isValidForDay() detaylı akış
|
||
- Kategori matrisi
|
||
- Örnek senaryo akışı
|
||
- Kural etkinliği
|
||
|
||
**Kullanım:** Sistem mimarisini görselleştirmek
|
||
|
||
---
|
||
|
||
### 6. test-cappadocia-rules.ts
|
||
**Amaç:** Test senaryoları ve örnekler
|
||
**İçerik:**
|
||
- LIMITED yerler testi
|
||
- EXCLUDED yerler testi
|
||
- FLEXIBLE yerler testi
|
||
- FIXED_TIME yerler testi
|
||
- Tekrarlama testi
|
||
- Gerçek senaryo örneği
|
||
|
||
**Kullanım:** Kuralları test etmek ve anlamak
|
||
|
||
---
|
||
|
||
## 🔍 Konu Bazlı Erişim
|
||
|
||
### Kural Kategorilerini Öğrenmek İçin
|
||
1. `CAPPADOCIA_RULES_QUICK_REF.md` → Kural Kategorileri
|
||
2. `CAPPADOCIA_RULES_ACTIVATION.md` → PLACE_TYPE_CATEGORIES
|
||
3. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Kategori Matrisi
|
||
|
||
### Kod Değişikliklerini Görmek İçin
|
||
1. `CAPPADOCIA_RULES_ACTIVATION.md` → Yapılan Değişiklikler
|
||
2. `CAPPADOCIA_RULES_BEFORE_AFTER.md` → Kod Karşılaştırması
|
||
3. `/src/db/api.ts` → Gerçek kod
|
||
|
||
### Test Senaryolarını Görmek İçin
|
||
1. `test-cappadocia-rules.ts` → Kod örnekleri
|
||
2. `CAPPADOCIA_RULES_ACTIVATION.md` → Test Senaryoları
|
||
3. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Örnek Senaryo Akışı
|
||
|
||
### Sistem Mimarisini Anlamak İçin
|
||
1. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Akış diyagramları
|
||
2. `CAPPADOCIA_RULES_QUICK_REF.md` → Kontrol Fonksiyonu
|
||
3. `/src/config/cappadocia-rules.ts` → Kaynak kod
|
||
|
||
### Önce/Sonra Karşılaştırması İçin
|
||
1. `CAPPADOCIA_RULES_BEFORE_AFTER.md` → Detaylı karşılaştırma
|
||
2. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Kural Etkinliği
|
||
3. `CAPPADOCIA_RULES_SUMMARY.md` → Etki analizi
|
||
|
||
---
|
||
|
||
## 🎓 Öğrenme Yolu
|
||
|
||
### Seviye 1: Başlangıç (5 dakika)
|
||
1. `CAPPADOCIA_RULES_SUMMARY.md` → Genel bakış
|
||
2. `CAPPADOCIA_RULES_QUICK_REF.md` → Kural kategorileri
|
||
|
||
### Seviye 2: Orta (15 dakika)
|
||
1. `CAPPADOCIA_RULES_ACTIVATION.md` → Detaylı açıklamalar
|
||
2. `test-cappadocia-rules.ts` → Kod örnekleri
|
||
3. `CAPPADOCIA_RULES_BEFORE_AFTER.md` → Karşılaştırmalar
|
||
|
||
### Seviye 3: İleri (30 dakika)
|
||
1. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Akış diyagramları
|
||
2. `/src/config/cappadocia-rules.ts` → Kural tanımları
|
||
3. `/src/db/api.ts` → Kural uygulaması
|
||
|
||
---
|
||
|
||
## 🔗 İlgili Bağlantılar
|
||
|
||
### Kaynak Kod
|
||
```
|
||
/src/config/cappadocia-rules.ts
|
||
├── PLACE_TYPE_CATEGORIES (Satır 174-186)
|
||
├── getPlaceCategory() (Satır 191-197)
|
||
└── isValidForDay() (Satır 273-314)
|
||
|
||
/src/db/api.ts
|
||
├── Import (Satır 894-904)
|
||
├── FLEXIBLE PLACES (Satır 1027-1040)
|
||
└── MIN FILL (Satır 1073-1088)
|
||
```
|
||
|
||
### Dokümantasyon
|
||
```
|
||
CAPPADOCIA_RULES_QUICK_REF.md (Hızlı referans)
|
||
CAPPADOCIA_RULES_SUMMARY.md (Özet)
|
||
CAPPADOCIA_RULES_ACTIVATION.md (Detaylı kılavuz)
|
||
CAPPADOCIA_RULES_BEFORE_AFTER.md (Karşılaştırma)
|
||
CAPPADOCIA_RULES_FLOW_DIAGRAM.md (Akış diyagramı)
|
||
test-cappadocia-rules.ts (Test senaryoları)
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 Dokümantasyon İstatistikleri
|
||
|
||
| Dosya | Satır | Boyut | Amaç |
|
||
|-------|-------|-------|------|
|
||
| QUICK_REF | ~250 | 8KB | Hızlı referans |
|
||
| SUMMARY | ~150 | 5KB | Özet rapor |
|
||
| ACTIVATION | ~400 | 15KB | Detaylı kılavuz |
|
||
| BEFORE_AFTER | ~500 | 18KB | Karşılaştırma |
|
||
| FLOW_DIAGRAM | ~600 | 22KB | Görsel akış |
|
||
| test-cappadocia-rules.ts | ~150 | 5KB | Test kodu |
|
||
| **TOPLAM** | **~2050** | **~73KB** | **6 dosya** |
|
||
|
||
---
|
||
|
||
## 🎯 Kullanım Senaryoları
|
||
|
||
### Senaryo 1: Yeni Geliştirici
|
||
**Amaç:** Kuralları hızlıca öğrenmek
|
||
**Yol:**
|
||
1. `CAPPADOCIA_RULES_SUMMARY.md` → Genel bakış
|
||
2. `CAPPADOCIA_RULES_QUICK_REF.md` → Kural kategorileri
|
||
3. `test-cappadocia-rules.ts` → Kod örnekleri
|
||
|
||
### Senaryo 2: Bug Fix
|
||
**Amaç:** Kural davranışını anlamak
|
||
**Yol:**
|
||
1. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Akış diyagramı
|
||
2. `/src/config/cappadocia-rules.ts` → isValidForDay()
|
||
3. `CAPPADOCIA_RULES_BEFORE_AFTER.md` → Beklenen davranış
|
||
|
||
### Senaryo 3: Yeni Kural Ekleme
|
||
**Amaç:** Mevcut yapıyı anlamak
|
||
**Yol:**
|
||
1. `CAPPADOCIA_RULES_ACTIVATION.md` → Kural yapısı
|
||
2. `/src/config/cappadocia-rules.ts` → PLACE_TYPE_CATEGORIES
|
||
3. `/src/db/api.ts` → isValidForDay() kullanımı
|
||
|
||
### Senaryo 4: Dokümantasyon
|
||
**Amaç:** Değişiklikleri belgelemek
|
||
**Yol:**
|
||
1. `CAPPADOCIA_RULES_ACTIVATION.md` → Format örneği
|
||
2. `CAPPADOCIA_RULES_BEFORE_AFTER.md` → Karşılaştırma formatı
|
||
3. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Diyagram formatı
|
||
|
||
### Senaryo 5: Test Yazma
|
||
**Amaç:** Test senaryoları oluşturmak
|
||
**Yol:**
|
||
1. `test-cappadocia-rules.ts` → Test örnekleri
|
||
2. `CAPPADOCIA_RULES_ACTIVATION.md` → Test senaryoları
|
||
3. `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → Örnek akışlar
|
||
|
||
---
|
||
|
||
## 🚀 Hızlı Komutlar
|
||
|
||
### Dokümantasyonu Görüntüleme
|
||
```bash
|
||
# Tüm dokümantasyonu listele
|
||
ls -1 CAPPADOCIA_RULES_*.md test-cappadocia-rules.ts
|
||
|
||
# Hızlı referansı aç
|
||
cat CAPPADOCIA_RULES_QUICK_REF.md
|
||
|
||
# Özeti aç
|
||
cat CAPPADOCIA_RULES_SUMMARY.md
|
||
```
|
||
|
||
### Kod Kontrolü
|
||
```bash
|
||
# Import kontrolü
|
||
grep "isValidForDay" src/db/api.ts
|
||
|
||
# Kullanım kontrolü
|
||
grep -A 5 "isValidForDay(place\|isValidForDay(p" src/db/api.ts
|
||
|
||
# Set tipi kontrolü
|
||
grep "Set<string>" src/db/api.ts
|
||
```
|
||
|
||
### Test
|
||
```bash
|
||
# TypeScript kontrolü
|
||
npm run lint
|
||
|
||
# Kural dosyasını kontrol et
|
||
cat src/config/cappadocia-rules.ts | grep -A 10 "isValidForDay"
|
||
```
|
||
|
||
---
|
||
|
||
## 📞 Destek
|
||
|
||
### Sorular
|
||
- Kural davranışı → `CAPPADOCIA_RULES_FLOW_DIAGRAM.md`
|
||
- Kod değişiklikleri → `CAPPADOCIA_RULES_ACTIVATION.md`
|
||
- Karşılaştırma → `CAPPADOCIA_RULES_BEFORE_AFTER.md`
|
||
|
||
### Sorun Giderme
|
||
- Beklenmeyen davranış → `CAPPADOCIA_RULES_FLOW_DIAGRAM.md` → isValidForDay() akışı
|
||
- TypeScript hatası → `CAPPADOCIA_RULES_ACTIVATION.md` → Tip düzeltmesi
|
||
- Test başarısız → `test-cappadocia-rules.ts` → Beklenen sonuçlar
|
||
|
||
---
|
||
|
||
## ✅ Kontrol Listesi
|
||
|
||
### Geliştirici İçin
|
||
- [ ] `CAPPADOCIA_RULES_SUMMARY.md` okudum
|
||
- [ ] `CAPPADOCIA_RULES_QUICK_REF.md` okudum
|
||
- [ ] `test-cappadocia-rules.ts` inceledim
|
||
- [ ] `/src/config/cappadocia-rules.ts` anladım
|
||
- [ ] `/src/db/api.ts` değişikliklerini gördüm
|
||
|
||
### Test İçin
|
||
- [ ] LIMITED kuralı test edildi
|
||
- [ ] EXCLUDED kuralı test edildi
|
||
- [ ] FLEXIBLE kuralı test edildi
|
||
- [ ] FIXED_TIME kuralı test edildi
|
||
- [ ] Tekrarlama kuralı test edildi
|
||
|
||
### Dokümantasyon İçin
|
||
- [ ] Tüm dosyalar oluşturuldu
|
||
- [ ] Kod örnekleri doğru
|
||
- [ ] Diyagramlar anlaşılır
|
||
- [ ] Bağlantılar çalışıyor
|
||
|
||
---
|
||
|
||
**Versiyon:** 1.0
|
||
**Tarih:** 2025
|
||
**Durum:** ✅ Tamamlandı
|
||
**Toplam Dosya:** 6
|
||
**Toplam Satır:** ~2050
|
||
**Toplam Boyut:** ~73KB
|