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-..."
Güvenlik Notu
.env dosyanızı asla GitHub'a göndermeyin. .gitignore dosyasına zaten eklenmiştir.
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):
packages/core/prisma/schema.prismadosyasını düzenleyin.- 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ı:
.envdosyanıza kullandığınız servisin anahtarını ekleyin:RESEND_API_KEY="re_..." # VEYA MAILGUN_API_KEY="key-..." - Merkezi Servis:
packages/coreiçinde yer alansendEmailfonksiyonu, 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."
});
Güvenlik Notu
Üretim (Production) ortamında, e-posta göndericisi olarak doğrulanmış bir alan adı (ör. hello@yourdomain.com) kullandığınızdan emin olun.