Supabase yapılandırması için ⚙ butonuna tıklayın

Lütfen gelen kodu aşağıya girin. Kod 10 dakika geçerlidir.

 

⚙ Supabase Kurulumu

Uygulamayı kalıcı, çok kullanıcılı ve güvenli şekilde kullanmak için ücretsiz Supabase projesi gereklidir.

1
supabase.com → "Start your project" → ücretsiz hesap açın
2
Yeni proje oluşturun → Settings → API → Project URL ve anon/public key kopyalayın
3
SQL Editor → New Query → aşağıdaki SQL'i çalıştırın:
-- Terapistler tablosu
CREATE TABLE therapists (
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  email text UNIQUE NOT NULL,
  name text,
  clinic text,
  pw_hash text NOT NULL,
  otp_secret text,
  otp_expiry bigint,
  otp_attempts int DEFAULT 0,
  verified boolean DEFAULT false,
  role text DEFAULT 'therapist',
  created_at timestamptz DEFAULT now()
);

-- Danışanlar
CREATE TABLE clients (
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  code text UNIQUE NOT NULL,
  name text,
  therapist_email text REFERENCES therapists(email),
  created_at timestamptz DEFAULT now()
);

-- Sonuçlar (şifreli)
CREATE TABLE results (
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  client_code text NOT NULL,
  test_id text NOT NULL,
  total int, max int,
  subs jsonb,
  flagged jsonb,
  completed_at timestamptz DEFAULT now(),
  UNIQUE(client_code, test_id)
);

-- RLS
ALTER TABLE therapists ENABLE ROW LEVEL SECURITY;
ALTER TABLE clients ENABLE ROW LEVEL SECURITY;
ALTER TABLE results ENABLE ROW LEVEL SECURITY;
CREATE POLICY "allow_all" ON therapists FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "allow_all" ON clients FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "allow_all" ON results FOR ALL USING (true) WITH CHECK (true);
4
URL ve Anon Key değerlerini aşağıya girin:

Terapist Paneli

Danışanlar

Sonuçlar, Alt Ölçekler ve Mod Analizi

Profili görüntülemek için bir danışan seçin

Merhaba

Lütfen aşağıdaki testleri tamamlayın

Test Tamamlandı

Yanıtlarınız güvenli şekilde kaydedildi ve terapistinizin paneline iletildi.
Diğer testlere devam edebilirsiniz.

🌐 Uluslararası Domain ve Altyapı Rehberi

1. Domain Seçimi

Klinik ve sağlık hizmetleri için önerilen uzantılar:

  • .com — Uluslararası kullanım için en güvenilir, tüm ülkelerde tanınan
  • .health — Sağlık sektörüne özel, profesyonel görünüm
  • .clinic — Klinik hizmetleri için net ve açık
  • .com.tr — Türk pazarı için ekstra güven, ancak uluslararası erişimi sınırlayabilir

Önerilen domain kaydediciler: Cloudflare Registrar (en ucuz, gizlilik dahil), Namecheap, Google Domains. Domain fiyatı yılda $10–15.

2. Hosting / Deployment Altyapısı

  • Netlify / Vercel — Bu tek dosyalık uygulama için ideal. Ücretsiz SSL, CDN, otomatik deployment. Uluslararası CDN ile her yerden hızlı erişim.
  • Cloudflare Pages — Güvenlik için en iyisi. Ücretsiz DDoS koruması, WAF (Web Application Firewall), bot koruması, tüm dünyada edge delivery.
  • AWS / Azure / GCP — Kurumsal ölçek için. HIPAA/KVKK uyumlu bölgeler seçilebilir. Karmaşık ama en ölçeklenebilir.

💡 Önerim: Cloudflare Pages + Supabase (veri) kombinasyonu — ücretsiz, hızlı, güvenli ve global.

3. Güvenlik Katmanları (Production için zorunlu)

  • SSL/TLS — Tüm trafik HTTPS ile şifrelenmiş. Netlify/Cloudflare otomatik yapar.
  • CSP Headers — Content Security Policy başlıkları ekleyin: X-Frame-Options: DENY, X-Content-Type-Options: nosniff
  • Rate Limiting — Cloudflare'de IP başına dakika sınırı: giriş endpointlerine max 10 istek/dakika
  • Supabase RLS — Row Level Security: terapist sadece kendi danışanlarını görmeli. Email bazlı policy ekleyin.
  • Supabase Auth — Şu an pw_hash kullanıyoruz. Production'da Supabase Auth (magic link veya OAuth) kullanın.
  • SMTP / Email 2FA — Şu an OTP konsola yazılıyor. Production'da Resend.com, SendGrid veya Mailgun ile gerçek e-posta gönderimi yapın.
  • Audit Log — Giriş denemeleri, test tamamlama, veri görüntüleme loglanmalı

4. KVKK / GDPR Uyumluluğu

  • Danışan verileri için açık rıza formu (Supabase tablosuna onay kaydı)
  • Veri saklama politikası: minimum süre, silinme hakkı
  • Supabase EU bölgesi seçin (Frankfurt): Settings → Infrastructure → Region → eu-central-1
  • Veri işleme sözleşmesi (DPA) gerekli — Supabase'in DPA'sı imzalanabilir durumda
  • Privacy Policy ve Kullanım Koşulları sayfası ekleyin

5. Ölçeklendirme Yol Haritası

  • Faz 1 (Şu an): Tek HTML + Supabase — birden fazla terapist, sınırsız danışan ✓
  • Faz 2: Supabase Auth + gerçek e-posta OTP + Cloudflare'de WAF kuralları
  • Faz 3: React/Next.js'e geçiş, rapor PDF çıktısı, sesli yönlendirme
  • Faz 4: Çoklu klinik (multi-tenant), abonelik modeli (Stripe), uluslararası dil desteği
  • Faz 5: Mobil uygulama (React Native), teleconference entegrasyonu, AI destekli yorumlama