From cd98694f0d6ca2cad0ac2f26b67b0a5ee662fb60 Mon Sep 17 00:00:00 2001 From: suphicakir Date: Thu, 5 Nov 2026 02:14:10 +0300 Subject: [PATCH] docs: CHANGELOG ve README (0.4.0) Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 16 +++++++++++++++- README.md | 17 ++++++++++++++++- package.json | 2 +- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26f1b47..dadf941 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,19 @@ Biçim [Keep a Changelog](https://keepachangelog.com/tr-TR/1.1.0/) esas alınır ## [Yayınlanmamış] +## [0.4.0] - 2026-11-05 + +Faz 4: Örnek test verisi. + +### Eklendi + +- Seed (`npm run seed`): admin + 7 örnek kullanıcı (biri askıda, biri hanesi olmayan ikinci admin, ikisi e-postasız ve kullanıcı adıyla giriş yapan), 2 hane ("Çakır Ailesi", "Annemler") ve hane içi roller (owner / member / viewer; bir kullanıcı iki hanede farklı rollerle). +- Seed idempotenttir (kullanıcı adı, hane adı ve üyelik çiftine göre); kullanıcılar Better Auth API'siyle oluşturulur. Geliştirme hesapları konsolda tablo olarak gösterilir. +- `npm run seed:reset`: kimlik doğrulama ve hane koleksiyonlarını temizleyip yeniden doldurur; production'da reddedilir. Production'da seed yalnızca admini oluşturur. +- Mongoose modelleri: `households` (ayarlar: bütçe ayı başlangıcı, taksit ve günlük plan tercihleri, özel hesaplar, ek mağaza eşiği) ve `householdMembers` (benzersiz `{householdId, userId}` index'i). +- `SEED_USER_PASSWORD` ortam değişkeni (örnek kullanıcıların ortak geliştirme şifresi). +- Seed entegrasyon testleri (idempotentlik, roller, askı, e-postasız giriş, reset). + ## [0.3.0] - 2026-11-05 Faz 3: Backend — kimlik doğrulama, yetki katmanı ve güvenlik. @@ -81,7 +94,8 @@ Faz 1: Framework, klasör yapısı ve altyapı. - `.nvmrc` (Node 26), `engines.node`, `typecheck`, `test`, `format`, `db:up`, `seed` scriptleri. - `docs/PROMPT.md` (ana prompt ve Faz 0 kararları), `README.md`, `CHANGELOG.md`. -[Yayınlanmamış]: https://gitea.ta1sph.info/suphicakir/butcem/compare/v0.3.0...HEAD +[Yayınlanmamış]: https://gitea.ta1sph.info/suphicakir/butcem/compare/v0.4.0...HEAD +[0.4.0]: https://gitea.ta1sph.info/suphicakir/butcem/compare/v0.3.0...v0.4.0 [0.3.0]: https://gitea.ta1sph.info/suphicakir/butcem/compare/v0.2.0...v0.3.0 [0.2.0]: https://gitea.ta1sph.info/suphicakir/butcem/compare/v0.1.0...v0.2.0 [0.1.0]: https://gitea.ta1sph.info/suphicakir/butcem/releases/tag/v0.1.0 diff --git a/README.md b/README.md index 7f8b5dd..6653513 100644 --- a/README.md +++ b/README.md @@ -26,13 +26,28 @@ cp .env.example .env.local # 3) MongoDB (tek düğümlü replica set rs0, host portu 27019) — sağlıklı olana kadar bekler npm run db:up -# 4) İlk admin (SEED_ADMIN_EMAIL / SEED_ADMIN_PASSWORD; kullanıcı adı: admin) +# 4) Örnek veri: admin + aile kullanıcıları + 2 hane (tekrar çalıştırmak güvenli) npm run seed # 5) Uygulama npm run dev # http://localhost:3000 → /login ``` +### Geliştirme hesapları (`npm run seed`) + +| Kullanıcı adı | Rol | Hane(ler) | Not | +| ------------- | ----- | --------------------------------------- | ------------------------------- | +| `admin` | admin | Çakır Ailesi (owner) | şifre `SEED_ADMIN_PASSWORD` | +| `ayse` | user | Çakır Ailesi (owner), Annemler (viewer) | | +| `emre` | user | Çakır Ailesi (member) | e-postasız | +| `zeynep` | user | Çakır Ailesi (viewer) | e-postasız | +| `fatma` | user | Annemler (owner) | | +| `mehmet` | user | Annemler (member) | | +| `burak` | admin | — | hanesi yok → hane verisi görmez | +| `ozan` | user | Çakır Ailesi (member) | askıda, giriş yapamaz | + +Admin dışındaki hesapların şifresi `SEED_USER_PASSWORD` (`.env.local`). Production'da yalnızca admin oluşturulur. + Giriş kullanıcı adı **veya** e-posta ile yapılır. Kayıt kapalıdır; kullanıcıları admin `/admin/kullanicilar` sayfasından oluşturur. ## Scriptler diff --git a/package.json b/package.json index ad71ec8..e229238 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "butcem", - "version": "0.3.0", + "version": "0.4.0", "private": true, "description": "BÜTÇEM — aile bütçe, cari, birikim, ev stoğu ve akıllı alışveriş uygulaması", "engines": {