Başlangıç
1. Klonla ve
Hızlı Başlangıç
Bu rehber sistemi geliştirme ortamında birkaç dakikada ayağa kaldırmanı sağlar.
Gereksinim: Docker + Docker Compose. Başka bir şey kurmana gerek yok.
1. Klonla ve .env hazırla
git clone https://github.com/mahmutyum/ticket-system.git
cd ticket-system
cp .env.example .env2. Zorunlu secret'ları üret
Hiçbirinin varsayılanı yoktur — boşsa backend açılmaz:
openssl rand -base64 48 # → JWT_SECRET
openssl rand -base64 48 # → JWT_REFRESH_SECRET (JWT_SECRET'tan farklı)
openssl rand -hex 32 # → CREDENTIALS_ENC_KEY (tam 64 hex)Ayrıca DB_PASSWORD ve REDIS_PASSWORD belirle; ikisini DATABASE_URL / REDIS_URL içinde de aynı değerle güncelle.
CREDENTIALS_ENC_KEY şifre kasasının anahtarıdır. Kaybolursa ya da değişirse kayıtlı şifreler çözülemez ve rotasyon mekanizması yoktur — bu değeri güvenli bir yerde sakla.
3. Başlat
Şema otomatik uygulanır:
docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build4. Örnek veriyi yükle
docker compose exec backend npx tsx prisma/seed.ts # temel veri
docker compose exec backend npm run db:seed:demo # 36 talep, 24 görev, kasa vb. (opsiyonel)Arayüz http://localhost:1111 · API dokümanı http://localhost:4000/docs
Örnek giriş (seed)
| Rol | E-posta | Şifre |
|---|---|---|
| admin | admin@company.com | admin123 |
| it_manager | manager@company.com | staff123 |
| it_staff | it@company.com | staff123 |
Sadece geliştirme içindir. seed.ts'i asla production'a karşı çalıştırma — production'da ilk admin'i elle oluştur.