Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Kick Anti-Bot Koruma Sistemi — Backend Servisi

Bu servis, Kick yayıncılarının kanallarındaki bot saldırılarını ve spamleri takip eden, Supabase Auth tabanlı çalışan NestJS backend uygulamasıdır.

Kullanılan Teknolojiler

  • Node.js v18 veya üzeri
  • NestJS — Modüler backend framework
  • PostgreSQL / Supabase — Veritabanı ve kimlik do��rulama
  • Prisma — ORM

Adım Adım Kurulum Rehberi

Aşağıdaki adımları sırayla takip ederek projeyi kendi bilgisayarınızda çalıştırabilirsiniz.

1. Gereksinimler

2. Projeyi Klonlayın

git clone https://github.com/Impevos/KickAntiBot.git
cd KickAntiBot

3. Bağımlılıkları Yükleyin

npm install

4. Çevre Değişkenlerini Ayarlayın

.env.example dosyasını .env olarak kopyalayın ve Supabase bilgilerinizle doldurun:

cp .env.example .env

Gerekli değişkenler:

Değişken Nereden Alınır
DATABASE_URL Supabase → Project Settings → Database → Connection string → Transaction pooler (port 6543)
DIRECT_URL Supabase → Project Settings → Database → Connection string → Session pooler (port 5432)
SUPABASE_URL Supabase → Project Settings → API → Project URL
SUPABASE_ANON_KEY Supabase → Project Settings → API → anon public key
JWT_SECRET Rastgele güvenli bir string (örn. openssl rand -hex 32)
PORT Sunucu portu (varsayılan: 3000)

Önemli: Prisma şema işlemleri (db push, migrate) için hem DATABASE_URL hem DIRECT_URL gereklidir.

5. Veritabanını Hazırlayın

# Prisma istemcisini oluşturur
npx prisma generate

# Tabloları veritabanına yansıtır
npx prisma db push

6. (Opsiyonel) Demo Veri Ekleyin

Önce uygulamayı çalıştırıp /api/auth/register ile kayıt olun, ardından:

# Windows PowerShell
$env:SEED_OWNER_EMAIL="kayit-olunan-email@adres.com"; npx prisma db seed

# macOS / Linux
SEED_OWNER_EMAIL=kayit-olunan-email@adres.com npx prisma db seed

7. Uygulamayı Başlatın

# Geliştirme modu (hot reload)
npm run start:dev

# Üretim build
npm run build
npm run start:prod

Uygulama http://localhost:3000 adresinde çalışır.


API Dokümantasyonu

Frontend entegrasyonu için detaylı endpoint dokümantasyonu:

👉 API_DOCS.md


Proje Klasör Yapısı

src/
├── auth/                 # Giriş, kayıt, profil
├── channels/             # Kick kanal yönetimi
├── suspicious-users/     # Şüpheli kullanıcı listesi (bot aktivite)
├── risk-scores/          # Risk skoru geçmişi
├── alerts/               # Güvenlik bildirimleri
├── reports/              # Periyodik raporlar + dashboard özeti
├── protection-settings/  # Kanal bazlı koruma ayarları
├── activity-logs/        # Birleşik geçmiş kayıtları
└── common/               # Prisma, filtreler, decorator'lar

Test

# E2E API testleri (24 test, Supabase bağlantısı gerektirir)
npm run test:e2e

# Build kontrolü
npm run build

Yararlı Komutlar

# Veritabanı şemasını görsel olarak incele
npx prisma studio

# Lint kontrolü
npm run lint

Sorun Giderme

Sorun Çözüm
PrismaClientInitializationError .env dosyasındaki DATABASE_URL ve DIRECT_URL değerlerini kontrol edin
Supabase URL or Anon Key is missing SUPABASE_URL ve SUPABASE_ANON_KEY değerlerini kontrol edin
Authorization başlığı eksik (401) İstek header'ına Authorization: Bearer <token> ekleyin
email rate limit exceeded Supabase ücretsiz planda kayıt limiti vardır; birkaç dakika bekleyin
Port 3000 kullanımda .env dosyasında PORT=3001 gibi farklı bir port deneyin

Lisans

Bu proje özel kullanım içindir.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages