Logo
Başla

Yapılandırma

SaaS, Veritabanı ve Temanızı özelleştirin.

RapidCore, yapılandırma öncelikli olacak şekilde tasarlanmıştır. Çoğu genel ayar, ortam değişkenleri ve paylaşılan yapılandırma paketleri aracılığıyla kontrol edilir.

1. Ortam Değişkenleri (.env)

Kök dizindeki .env dosyası, tüm uygulamalar için gizli anahtarları kontrol eder.

# Veritabanı (Prisma/Supabase)
DATABASE_URL="postgresql://postgres:[PASSWORD]@db.supabase.co:5432/postgres"
DIRECT_URL="postgresql://postgres:[PASSWORD]@db.supabase.co:5432/postgres?pgbouncer=true"

# Auth.js (NextAuth)
NEXTAUTH_URL="http://localhost:3001"
NEXTAUTH_SECRET="[OLUSTURULAN_GIZLI_ANAHTAR]"

# AI Sağlayıcı Anahtarları
OPENAI_API_KEY="sk-..."
ANTHROPIC_API_KEY="sk-ant-..."

2. Tema & Arayüz (UI)

RapidCore, merkezi bir UI paketi (packages/ui) kullanır. Ana rengi veya yazı tipini değiştirmek için sadece tek bir dosyayı düzenlemeniz yeterlidir.

Yol: packages/ui/src/globals.css

@theme {
    /* Marka renklerinizi buradan değiştirin */
    --color-primary: hsl(263.4 70% 50.4%);
    --color-primary-foreground: hsl(210 20% 98%);
}

Sistem Tailwind v4 kullanır, bu nedenle bu değişkenler otomatik olarak yardımcı sınıflar (ör. bg-primary, text-primary-foreground) olarak kullanılabilir.

3. Veritabanı Şeması

ORM olarak Prisma kullanıyoruz. Şema packages/core/prisma/schema.prisma dosyasında tanımlanmıştır.

Yeni bir model eklemek için (ör. Project):

  1. packages/core/prisma/schema.prisma dosyasını düzenleyin.
  2. Migrasyon komutunu çalıştırın:
npx pnpm db:migrate

Bu işlem @rapidcore/core içindeki TypeScript türlerini otomatik olarak güncelleyecektir.

4. E-posta Kurulumu (Resend / Mailgun)

Uygulamanızın bildirim veya bülten gönderebilmesi için bir e-posta servis sağlayıcısı bağlamanız gerekir.

  • API Anahtarı: .env dosyanıza kullandığınız servisin anahtarını ekleyin:
    RESEND_API_KEY="re_..."
    # VEYA
    MAILGUN_API_KEY="key-..."
    
  • Merkezi Servis: packages/core içinde yer alan sendEmail fonksiyonu, tüm modüller tarafından ortak kullanılır.
// apps/web-starter/src/actions/newsletter.ts
import { sendEmail } from "@rapidcore/core";

await sendEmail({
  to: user.email,
  subject: "Hoş Geldiniz!",
  body: "RapidCore imparatorluğuna katıldığınız için teşekkürler."
});