---
name: fikoyt-go-backend
description: FikoYT Go/Fiber v3 ana sunucusunu (port 9000, MongoDB/Redis/Socket.IO) Fikri'nin tarzında geliştirme. sistem/kok-kokDB-fikoyt_ctx modül kuralı, uyar_dokum/fikoyt_api app'leri, tetikleyici motor, finans Go backend (9010). Bu skill "go backend", "fiber", "merkez.go-server", "kok", "kokDB", "fikoyt_ctx", "socket.io", "mongodb", "redis", "api endpoint", "middleware", "uyar_dokum", "tetikleyici", "go build" anahtar kelimeleriyle tetiklenir.
---

# fikoyt-go-backend — Fikri tarzında Go geliştirme

Konum: `docker/fikoyt-sunucu/merkez.go-server.com` · Port 9000 (SSL, prefork) · Go 1.24 · Fiber v3 · MongoDB (fikoyt, rs0) · Redis 6379.
Ayrıntı fihristleri (ÖNCE OKU): hafıza `projeler/go-backend/` → api-routes.md, socket-events.md, sistem-modulleri.md, middleware.md.

## MUTLAK KURAL (Fikri'nin kesin tercihi)
**Mevcut sistem modüllerini kullan: `sistem/kok/`, `sistem/kokDB/`, `sistem/fikoyt_ctx/`. YENİ sistem modülü OLUŞTURMA — mevcutlar yetmiyorsa kullanıcıya sor.** Gereksiz middleware zinciri ekleme. MongoDB sorgularında index kullan (yeni sorgu kalıbı eklerken index'ini de düşün).

## Tarz
Küçük iş direkt; büyük işe 2-3 maddelik plan. Commit yalnız istenince. Türkçe isimlendirme (teknik terim hariç), kullanıcıya dönen hata mesajları Türkçe. Gereksiz yorum yok. Kısa yanıt.

## Yapı
- `main.go` giriş; `apps/` (uyar_dokum, fikoyt_api, yuz_tanima, cmm) iş mantığı; `sistem/` çekirdek (ctx, mongo, dosya, görev havuzu).
- Konfig: `fikoyt.env.json` (zorunlu). SSL: `cert/server.crt|key` (Angular dev server'larla paylaşılır — bozma).
- 7/24 tetikleyici motor (Socket.IO event-driven) → hafıza `projeler/go-tetikleyici-motor.md`.
- finans backend ayrı: fikoyt-finans/server (port 9010) — aynı kurallar.

## Derleme / Test
```
cd docker/fikoyt-sunucu/merkez.go-server.com
go build -o server .            # hızlı doğrulama
go build -ldflags="-s -w" -o server .   # prod
go test ./...
```
Docker: golang:1.23-alpine tabanlı; `cd docker/fikoyt-sunucu && docker-compose up -d`.

## Değişiklik disiplini
1. Endpoint/event eklemeden önce api-routes.md + socket-events.md'de mevcut olanı ara (çift tanım yaygın hata).
2. Handler'lar fikoyt_ctx üzerinden context alır — ham global durum ekleme.
3. Şema/koleksiyon değişikliğinde geriye-uyum düşün (canlı Mongo verisi var); migration gerekiyorsa belirt.
4. `go build` + `go test ./...` yeşil olmadan bitirme; davranış değişikliğini kullanıcıya "RUNTIME TEST" notuyla bildir.
