77 lines
2.0 KiB
Markdown
77 lines
2.0 KiB
Markdown
# 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ı açı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ı
|