first commit

This commit is contained in:
Beyhan Oğur
2026-04-26 22:09:32 +03:00
commit 71eff2d979
78 changed files with 10173 additions and 0 deletions

76
SETUP.md Normal file
View File

@@ -0,0 +1,76 @@
# Kurulum Talimatları
Bu proje Next.js, Better Auth ve Drizzle ORM ile PostgreSQL entegrasyonu içerir.
## Gereksinimler
- Node.js 18+
- PostgreSQL veritabanı
- npm veya yarn
## Kurulum Adımları
### 1. Bağımlılıkları Yükleyin
```bash
npm install
# veya
yarn install
```
### 2. Ortam Değişkenlerini Ayarlayın
Proje kök dizininde `.env` dosyası oluşturun:
```env
DATABASE_URL=postgresql://user:password@localhost:5432/dbname
BETTER_AUTH_SECRET=your-secret-key-here-minimum-32-characters
BETTER_AUTH_URL=http://localhost:3000
REGISTER_ENABLE=true
```
**Önemli:**
- `BETTER_AUTH_SECRET` en az 32 karakter uzunluğunda güvenli bir rastgele string olmalıdır.
- `REGISTER_ENABLE` kayıt sayfasınııp kapatmak için kullanılır. `true` veya `false` değeri alabilir. Varsayılan olarak `true`'dur.
### 3. Veritabanı Şemasını Oluşturun
```bash
npm run db:push
# veya
yarn db:push
```
Bu komut, `db/schema.ts` dosyasındaki şemaya göre veritabanı tablolarını oluşturacaktır.
### 4. Geliştirme Sunucusunu Başlatın
```bash
npm run dev
# veya
yarn dev
```
Tarayıcınızda [http://localhost:3000](http://localhost:3000) adresine gidin.
## Kullanım
1. **Kayıt Ol:** `/register` sayfasından yeni bir hesap oluşturun
2. **Giriş Yap:** `/login` sayfasından giriş yapın
3. **Profil:** Giriş yaptıktan sonra `/profile` sayfasında kullanıcı bilgilerinizi görüntüleyin
## Veritabanı Komutları
- `npm run db:generate` - Migration dosyalarını oluşturur
- `npm run db:push` - Şemayı veritabanına uygular
- `npm run db:studio` - Drizzle Studio'yu açar (veritabanı görüntüleme aracı)
## Dosya Yapısı
- `db.ts` - Drizzle veritabanı bağlantısı
- `db/schema.ts` - Veritabanı şema tanımları
- `app/lib/auth.ts` - Better Auth yapılandırması
- `app/api/auth/[...all]/route.ts` - Better Auth API route handler
- `app/login/page.tsx` - Giriş sayfası
- `app/register/page.tsx` - Kayıt sayfası
- `app/profile/page.tsx` - Kullanıcı profil sayfası