feat: kimlik doğrulama, ödeme, kredi ve AI rapor sihirbazı ekle

- better-auth ile giriş/oturum yönetimi (src/lib/auth, giris sayfası)
- iyzico ödeme entegrasyonu ve paket satın alma akışı
- kredi sistemi ve uygulama veritabanı şeması (drizzle)
- AI destekli rapor üretimi ve tercih sihirbazı
- rapor yazdırma sayfası ve site header/kullanıcı menüsü

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
bilalgursen
2026-07-22 02:13:39 +03:00
parent 7c3f17b9b5
commit cee6200237
64 changed files with 7966 additions and 89 deletions

22
src/lib/appdb/index.ts Normal file
View File

@@ -0,0 +1,22 @@
import { createClient, type Client } from "@libsql/client";
import { drizzle } from "drizzle-orm/libsql";
import * as schema from "./schema";
// Lokal: file:./data/app.db — deploy: libsql://... + auth token.
// db.ts'teki better-sqlite3 bağlantısı gibi hot-reload'a karşı globalThis'te saklanır.
const globalForAppDb = globalThis as unknown as { __appDbClient?: Client };
function getClient(): Client {
if (!globalForAppDb.__appDbClient) {
const url = process.env.APP_DB_URL ?? "file:./data/app.db";
globalForAppDb.__appDbClient = createClient({
url,
authToken: process.env.APP_DB_AUTH_TOKEN,
});
}
return globalForAppDb.__appDbClient;
}
export const appDb = drizzle(getClient(), { schema });
export { schema };