Files
kakeibo/CLAUDE.md
T
suphicakir 204c120f4f chore: proje iskeleti, VS Code yapılandırması ve hafıza dosyaları
- .vscode: eklenti önerileri, ayarlar, görevler, debug yapılandırması
- Monorepo klasör yapısı (backend, frontend, docs, templates, scripts)
- CLAUDE.md, docs/MEMORY.md, docs/PHASES.md
- .gitignore ve .env.example

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 22:52:33 +03:00

64 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Kakeibo — Proje Rehberi
Japon Kakeibo yöntemine dayalı, hane bazlı kişisel ev finans defteri.
Tam gereksinimler: `KAKEIBO_PROMPT.md` (yalnızca ilgili bölümü oku).
## Çalışma Kuralları
- Faz bazlı, küçük adımlar. Her adım sonunda dur, kısa özet ver, onay bekle.
- Yeni session'da yalnızca `CLAUDE.md` + `docs/MEMORY.md` oku; tüm projeyi tarama.
- `target/`, `node_modules/`, `dist/`, `*.lock` dosyalarını asla okuma.
- Değişikliklerde dosyayı baştan yazma; yalnızca değişen kısmı düzenle.
- Yanıt formatı: ne yapıldı → nasıl test edilir → sıradaki adım.
- Her adım sonunda `docs/MEMORY.md`'ye 3–5 satır not ekle.
- Her faz sonunda commit + `git push origin main` (Claude yapar).
- Bir hata 2 denemede çözülmezse dur, seçenek sun.
- Kullanıcı Rust'a yeni: kavramları ihtiyaç anında, kısa örnekle açıkla.
- Her yeni bağımlılık için kısa gerekçe ver.
## Teknoloji Yığını
- **Backend:** Rust + Axum + tokio + resmi `mongodb` sürücüsü, `serde`, `validator`
- **Auth:** argon2 + JWT (httpOnly, Secure, SameSite cookie)
- **Frontend:** React + TypeScript + Vite, TailwindCSS, shadcn/ui, lucide-react
- **Veri/Form:** TanStack Query, react-hook-form + zod, date-fns (tr)
- **Diğer:** Recharts, sonner, react-markdown + remark-gfm, vite-plugin-pwa
- **Tipler:** `ts-rs` (Rust → `frontend/src/types/`)
- **DB:** MongoDB 7, tek düğümlü replica set (transaction için)
- **Dağıtım:** Tek Docker imajı (Axum frontend'i de sunar) → Dokploy (Atlas homeserver)
- **Gelecek:** Tauri 2 (Windows, Linux, Android)
## Klasör Yapısı
```
backend/src/ main.rs, config.rs, db.rs, auth/, models/, routes/, services/
frontend/src/ components/ui/, features/, lib/ (api, format), types/
docs/ MEMORY, PHASES, DATA_MODEL, DEPLOY
templates/ monthly_report.md
scripts/ seed, reset, backup
```
## Kodlama Kuralları
- Kod İngilizce; arayüz metinleri Türkçe ve tek dosyada toplanır.
- İş mantığı: backend `services/`, frontend `lib/`.
- Para: kuruş cinsinden `i64` (asla float). Altın/kur: Decimal128 veya ölçekli tamsayı.
- Tüm kayıtlar: `_id` (UUID v7), `household_id`, `created_at`, `updated_at`, `deleted_at`, `version`.
- Her sorgu `household_id` ile filtrelenir (ortak middleware).
- Hesaplanan değerler saklanmaz; aggregation ile hesaplanır.
- Format: `1.250,00 ₺`, tarih `GG.AA.YYYY`; tümü `lib/format.ts` üzerinden.
- Haftalar Pazartesi başlar; kısmi haftalar gün sayısına göre orantılanır.
- Hatalar kullanıcıya Türkçe ve sade; teknik detay yalnızca logda.
- Commit mesajları Türkçe: `feat(defter): haftalık giriş listesi eklendi`
## Sık Kullanılan Komutlar
```
npm run dev # frontend (5173) + backend (8080) birlikte, hot reload
npm run dev:host # telefondan test için ağa aç
npm run db:up # yerel MongoDB (Docker)
npm run db:down
npm run db:seed / db:reset
npm test
```
*(Komutlar Faz 0 – Adım 4'te tanımlanacak.)*
## Ortam
- Geliştirme makinesi: CachyOS (Arch), fish kabuğu, VS Code
- Git remote: `https://gitea.ta1sph.info/suphicakir/kakeibo.git` (Gitea, dal: `main`)