▶️ Senaryo: THYAO Altına Yorum Yazdım — Ne Olur?
4 kanal izolasyon + tur parametre UI bug case
- UI: /hisseler/yerli/THYAO sayfası → "Yorumlar" sekmesi tıklanır
- İlk yükleme:
GET /api/stocks/THYAO/comments?page=1&tur=2 Response: { data: { data: [], meta: { total: 0 } } }⚠️ UI BugUItur=2(Analiz) filtre'sini dinler ama POST defaulttur=0'a kaydeder! - Textarea + Gönder butonu: Max 800 karakter
- POST request:
POST /api/stocks/THYAO/comments { "mesaj": "THYAO direnci geçecek bence" // tur eklenmemiş → backend default tur=0 } - Backend:
INSERT INTO yorumlar (hisseKodu, mesaj, kullaniciId, tur, etarih) VALUES ('THYAO', '...', 80, 0, NOW()) RETURNING id; Response 201: { data: { id: 978, ... } } - Frontend refetch:
GET /api/stocks/THYAO/comments?page=1&tur=2 ← UI tur=2 dinliyor! Response: { data: [] } ← Yorum tur=0'da, hala boş görünür ❌ - UI: "Henüz yorum yok" görünür → kullanıcı confused.
Ama backend'de yorum kayıtlı:GET /api/stocks/THYAO/comments?page=1&tur=0→ 1 sonuç
📋 tur Parametre Map
| tur | Anlam | Use Case |
|---|---|---|
| 0 | Genel Yorum (POST default) | Standart yorum kayıt yeri |
| 1 | Tahmin / Hedef Fiyat | "₺320'ye gider" tarzı tahminler |
| 2 | Analiz | UI Yorumlar sekmesi default filtre |
| 3-5 | Rezerve | Şu an kullanılmıyor |
📐 Yorum Şeması (Gerçek)
{
"id": 978,
"mesaj": "...",
"aciklama": "...", // alias
"etarih": "2026-05-24T21:04:14.643Z",
"kullaniciId": 80,
"kullaniciAdi": "Bekir",
"avatar": "/uploads/avatars/1777740357470-81957075.jpg",
"pro": 1
}
🔀 4-Kanal İzolasyon (KRİTİK!)
Yorum sadece hisse comments koleksiyonunda yaşar, diğer 3 kanala YANSIMAZ:
| Kanal | Endpoint | İçerir mi? |
|---|---|---|
| Hisse Yorum | /api/stocks/THYAO/comments?tur=N | ✅ EVET (tek yer) |
| Topluluk Forum | /api/forum/topics/{seflink} | ❌ 404 |
| Akış (Social) | /api/social/feed | ❌ 404 |
| Tahmin (t-Chat) | /api/asistan/predictions | ❌ 404 |
[Hisse Detay > Yorum]
│
▼
[POST /api/stocks/THYAO/comments]
│
▼
[DB: yorumlar table — hisseKodu=THYAO, tur=0]
│
▼
[Sadece hisse detay sayfasında görünür]
│
┌────────────────────┐
│ Topluluk forum? │ NO (ayrı tablo)
│ Akış feed? │ NO (admin gated)
│ t-Chat tahminler? │ NO (predictions ayrı)
└────────────────────┘
🚨 UI Bug Çözüm Önerileri
- Çözüm 1: POST'a
tur: 2ekle → UI'da görünür - Çözüm 2: UI default tur=0 yap (Genel Yorum)
- Çözüm 3: Sekmede dropdown ekle: "Genel / Analiz / Tahmin"
📊 Etkilenen Modüller
| Modül | Etki |
|---|---|
| Hisse Yorumlar | +1 kayıt (DB) |
| UI Yorumlar sekmesi | ❌ Görünmüyor (tur mismatch) |
| Bildirim | (mention varsa @handle bildirim) |
| Topluluk / Akış | Etkilenmez (izole) |
| Apex AI | Etkilenmez (separate data source) |
💡 Test edildi
Bekir test yorumu ID 978 sistemde duruyor (tur=0 filter ile görülebilir).
🗄️ DB Tabloları
| Tablo | Kolonlar |
|---|---|
yorumlar | id, kullanici_id, sembol, tur (0=hisse, 1=fon, 2=kripto ⚠️), icerik, olusturma_tarihi, like_sayisi |
domain_events_log | event_tipi='comment:created' |