Files
kakeibo/docs/MEMORY.md
T
suphicakir 125bb7f476 feat(backend): ayarlar, MongoDB bağlantısı, Türkçe hata yapısı ve DB'li health check
- config.rs: ortam değişkenleri ve doğrulama
- db.rs: bağlantı + ping (5 sn zaman aşımı)
- error.rs: AppError → Türkçe JSON hata yanıtı
- /api/health: veritabanına erişilemezse 503

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 23:09:46 +03:00

2.6 KiB
Raw Blame History

🧠 Proje Hafızası

▶️ Sıradaki Adım

Faz 1 – Adım 2: Ortak model alanları (UUID v7, zaman damgaları, version), schema_migrations ile migration mekanizması, DATA_MODEL.md §4 indeksleri (açılışta otomatik).

📌 Alınan Kararlar

  • Sürüm kontrolü: Gitea (https://gitea.ta1sph.info/suphicakir/kakeibo.git), dal main.
  • Her faz sonunda Claude commit + push yapar (kullanıcı onayı verildi).
  • Node v26 (LTS) sistemde mevcut; ayrı kurulum gerekmedi.
  • Git kimlik bilgisi: libsecret (KWallet) credential helper + Gitea token.
  • Yerel MongoDB host portu 27020 (27017 sistem mongod, 27018/27019 başka projeler).
  • Frontend lint aracı: oxlint (Vite şablonu varsayılanı), ESLint yerine.
  • Veri modeli v1 onaylandı (2026-11-11): ölçekli tam sayı (_e6), tarih YYYY-MM-DD metin, dönem bitişi hariç, kullanıcı = tek hane, ayarlar haneye gömülü, haftalık bütçe hesaplanır.
  • Sürümler: Rust 1.99.1 (edition 2024), Axum 0.8, React 19, Vite 8, TypeScript 7.

❓ Açık Konular

  • Kapalı dönem yeniden açılırken başka açık dönem varsa davranış (Faz 6).
  • Altın kuru için veri kaynağı seçimi (Faz 8).
  • Aylık değerlendirme çıktı formatı kullanıcıdan gelecek (Faz 9).
  • Canlı MongoDB kurulum şekli (konteyner mi, doğrudan mı) Faz 3'te birlikte kontrol edilecek.

📝 İlerleme Günlüğü

2026-11-11 — Faz 0

  • Adım 1: Ortam kontrol edildi. CachyOS, fish. Node 26, npm 12, Docker 29 + Compose 5, Git, VS Code, gcc mevcut. Rust ve cargo-watch eksik; kurulum komutları verildi.
  • Adım 2: .vscode/ (extensions, settings, tasks, launch), .gitignore, .env.example ve monorepo klasörleri oluşturuldu. git init -b main.
  • Adım 3: CLAUDE.md, docs/MEMORY.md, docs/PHASES.md oluşturuldu. Gitea remote eklendi, ilk commit push edildi.
  • Adım 4: Rust kuruldu. docker-compose.dev.yml (mongo:7, rs0, healthcheck ile otomatik rs.initiate). Backend: Axum, yalnızca GET /api/health. Frontend: Vite react-ts şablonu, /api proxy → 8080, geçici durum ekranı. Kök package.json: concurrently ile npm run dev. Uçtan uca test edildi (Mongo PRIMARY, proxy çalışıyor).
  • Adım 5: docs/DATA_MODEL.md hazırlandı ve onaylandı. Faz 0 tamamlandı.

2026-11-11 — Faz 1

  • Adım 1: config.rs (env + doğrulama, JWT_SECRET ≥ 32), db.rs (5 sn timeout + ping), error.rs (AppError → {error:{code,message}} Türkçe; 5xx detayı yalnızca logda), state.rs, routes/ (health: DB yoksa 503). Açılışta DB/ayar hatasında anlaşılır log + çıkış kodu 1. Elle test: 4 senaryo geçti.