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>
This commit is contained in:
2026-11-11 22:52:33 +03:00
commit 204c120f4f
20 changed files with 715 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
# 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`)