diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..bb9dbb3 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,29 @@ +# Değişiklik Günlüğü + +Bu projedeki tüm önemli değişiklikler bu dosyada belgelenir. + +Biçim [Keep a Changelog](https://keepachangelog.com/tr-TR/1.1.0/) esas alınır ve proje [Semantic Versioning](https://semver.org/lang/tr/) kullanır. + +## [Yayınlanmamış] + +## [0.1.0] - 2026-11-05 + +Faz 1: Framework, klasör yapısı ve altyapı. + +### Eklendi + +- Next.js 16.4 (App Router, Turbopack, Cache Components), React 19.3, TypeScript strict (`noUncheckedIndexedAccess`), Tailwind CSS 4. +- shadcn/ui (Radix, Nova preset) başlangıç yapılandırması. +- Bağımlılıklar: Better Auth, MongoDB sürücüsü 7.7 (Mongoose ile ortak), Mongoose 9, zod 4, react-hook-form, next-themes, sonner, TanStack Table. +- `src/` tabanlı klasör yapısı (`features`, `shared`, `models`, `lib/db`, `lib/storage`, `i18n`, `scripts/migrations`). +- zod ile doğrulanan `env.ts` (tembel doğrulama, build sırasında sır gerektirmez) ve birim testleri. +- `src/i18n/tr.ts` arayüz metinleri dosyası. +- Lokal MongoDB 9 tek düğümlü replica set (`docker-compose.yml`, `rs0`, otomatik başlatma, PRIMARY healthcheck, host portu 27019). +- Çok aşamalı `Dockerfile` (standalone çıktı, root olmayan kullanıcı, `/app/uploads` volume, HEALTHCHECK) ve `.dockerignore`. +- Geçici `GET /api/health` (sürüm ve commit bilgisi). +- Vitest, Prettier (Tailwind eklentisi), EditorConfig, VSCode önerilen eklentiler. +- `.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.1.0...HEAD +[0.1.0]: https://gitea.ta1sph.info/suphicakir/butcem/releases/tag/v0.1.0 diff --git a/README.md b/README.md index e215bc4..aa3bbda 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,53 @@ -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). +# BÜTÇEM -## Getting Started +Aile bütçesi, banka/kart/cari hesapları, birikimler (altın, döviz, ziynet), aylık bütçe, ev stoğu ve akıllı alışveriş listelerini tek yerde yöneten, çok kullanıcılı web uygulaması. -First, run the development server: +- Ürün tanımı, mimari kurallar ve faz planı: [docs/PROMPT.md](docs/PROMPT.md) +- Sürüm geçmişi: [CHANGELOG.md](CHANGELOG.md) + +## Teknoloji + +Next.js 16 (App Router, Turbopack, Cache Components) · React 19 · TypeScript (strict) · Tailwind CSS 4 · shadcn/ui (Radix) · Better Auth · MongoDB 9 (native driver + Mongoose) · zod · Vitest + +## Gereksinimler + +- Node.js **26** (Active LTS) — `nvm use` (`.nvmrc`) +- Docker + Docker Compose (lokal MongoDB replica set) + +## Lokal geliştirme ```bash -npm run dev -# or -yarn dev -# or -pnpm dev -# or -bun dev +# 1) Bağımlılıklar +npm install + +# 2) Ortam değişkenleri — BETTER_AUTH_SECRET için: openssl rand -base64 32 +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) Uygulama +npm run dev # http://localhost:3000 ``` -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. +## Scriptler -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. +| Komut | Açıklama | +| ----------------------------- | -------------------------------- | +| `npm run dev` | Geliştirme sunucusu | +| `npm run build` / `start` | Üretim build'i / sunucusu | +| `npm run lint` | ESLint | +| `npm run typecheck` | `tsc --noEmit` | +| `npm run test` | Vitest birim testleri | +| `npm run format` | Prettier | +| `npm run db:up` / `db:down` | Lokal MongoDB'yi başlat / durdur | +| `npm run seed` / `seed:reset` | Örnek veri (Faz 4) | -This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. +## Docker imajı -## Learn More +```bash +docker build --build-arg APP_VERSION=$(node -p "require('./package.json').version") \ + --build-arg APP_COMMIT=$(git rev-parse --short HEAD) -t butcem . +``` -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. +Canlı ortam (Dokploy, `butcem.ta1sph.website`) kurulumu Faz 15'te `docs/DEPLOY.md` içinde anlatılacak.