# OnlyCoin Platform v1.1.0

OnlyCoin; dinamik kurumsal web sitesi, doğrulanmış üyelik sistemi, Telegram uyumlu Tap-to-Earn oyunu, presale, VIP, çoklu ödeme, kullanıcı cüzdanları, double-entry ledger ve lansman dağıtım yönetimini tek sunucuda birleştiren üretim başlangıç paketidir.

Bu sürümde **hazır kullanıcı, varsayılan yönetici parolası, örnek bakiye, örnek ödeme, örnek deposit veya yapay finans hareketi bulunmaz**. İlk açılışta dört aşamalı kurulum sihirbazı açılır; gerçek yönetici hesabı ve çalışan SMTP bağlantısı doğrulanmadan kurulum tamamlanmaz.

## Sistem gereksinimleri

- Windows 10/11, güncel Linux veya macOS
- Node.js 22.16 veya üzeri
- Yazılabilir `data` dizini
- Canlı alan adı için HTTPS
- Çalışan SMTP hesabı
- Canlı ödeme, OAuth veya blockchain özellikleri kullanılacaksa ilgili gerçek sağlayıcı hesapları

Windows başlatıcısı uyumlu Node.js çalışma ortamını gerektiğinde proje içine indirebilir. Yönetici yetkisi zorunlu değildir.

## Windows üzerinde kurulum

1. ZIP arşivini tamamen çıkartın. Arşivin içinden çalıştırmayın.
2. `BASLAT-WINDOWS.bat` dosyasına çift tıklayın.
3. Tarayıcıda açılan `/install/` adresindeki dört aşamayı tamamlayın.
4. Kurulum bitince sunucu üretim yapılandırmasıyla yeniden başlar.

Kurulum aşamaları:

1. **Sunucu ve adres:** Node.js, SQLite, dizin izinleri, canlı site adresi ve saat dilimi.
2. **Site ve ilk yönetici:** platform adı, şirket bilgisi, destek adresi, ilk owner hesabı ve güçlü parola.
3. **SMTP ve kayıt doğrulaması:** SMTP sunucusu, gönderen bilgileri ve yönetici adresine gerçek test e-postası.
4. **Kontrol ve tamamlama:** üretim `.env`, rastgele `AUTH_SECRET`, kurulum kilidi ve boş canlı veritabanı.

Kurulumdan sonra adresler:

```text
Web sitesi:       http://127.0.0.1:8787/
Oyun / kullanıcı: http://127.0.0.1:8787/game/
Yönetim paneli:   http://127.0.0.1:8787/admin/
Sağlık kontrolü:  http://127.0.0.1:8787/api/health
```

Canlı alan adında installer aşama 1’e `https://alanadiniz.tld` girilmelidir. Localhost dışındaki HTTP adresleri kabul edilmez.

## Linux ve macOS

```bash
chmod +x BASLAT-LINUX-MAC.sh
./BASLAT-LINUX-MAC.sh
```

Alternatif:

```bash
npm start
```

## Docker

```bash
docker compose up --build
```

Kalıcı `data` dizini ve `.env` dosyası için host volume kullanın. Reverse proxy üzerinden HTTPS, doğru `APP_ORIGIN` ve gerekiyorsa `TRUST_PROXY=true` tanımlayın.

## Kayıt ve giriş

Kurulum tamamlandığında e-posta ile kayıt varsayılan olarak açıktır ve doğrulama zorunludur:

1. Kullanıcı ad, kullanıcı adı, e-posta ve güçlü parola girer.
2. Sistem tek kullanımlık altı haneli doğrulama kodunu SMTP üzerinden yollar.
3. Kod doğrulanmadan giriş yapılamaz.
4. Oturum `HttpOnly`, `SameSite=Lax` cookie ile korunur.
5. Parola sıfırlama aynı SMTP kuyruğu üzerinden yürür.

Google, Apple, Facebook, X ve Telegram düğmeleri yalnızca yönetim panelinde gerçek sağlayıcı bilgileri tamamlanıp etkinleştirildiğinde kullanıcıya gösterilir.

## İlk kurulum güvenlik durumu

Kurulum tamamlandığında:

- Kullanıcı sayısı: `0`
- Ledger işlemi: `0`
- Kullanıcı başlangıç puanı: `0`
- Ödeme emirleri: `0`
- Deposit: `0`
- Withdrawal: `0`
- Presale: kapalı
- Fiat ödeme: kapalı
- Kripto fonlama: kapalı
- Point → token dönüşümü: kapalı
- Otomatik mainnet dağıtımı: kapalı

Bu özellikler gerçek contract, treasury, merchant, RPC, custody ve uyum bilgileri girildikten sonra yönetim panelinden ayrı ayrı etkinleştirilir.

## Yönetim paneli

İlk owner hesabı installer aşama 2’de oluşturulur. Ortak veya varsayılan parola yoktur.

Başlıca modüller:

- Site ve sayfa CMS
- Ana sayfa, Presale, Tokenomics, Roadmap ve Whitepaper
- Kullanıcılar, Telegram kimlikleri ve hesap durumları
- VIP 1–VIP 5 planları ve çoklu para fiyatları
- Şans Çarkı, görevler, referans ve oyun ekonomisi
- OC_POINTS, OC_TOKEN ve USDT ledger
- Ödeme sağlayıcıları, banka/SWIFT ve kripto varlıkları
- Deposit, withdrawal ve oyuncular arası point transferleri
- Deposit esaslı presale, snapshot, onay ve finalizasyon
- Testnet/mainnet kullanıcı cüzdanları
- Lansman dağıtım kampanyaları
- SMTP, e-posta kuyruğu ve sosyal giriş sağlayıcıları
- Contract, ağ, RPC, treasury ve explorer ayarları
- Audit kayıtları

## Presale modeli

Finansal ana kayıt, kullanıcının doğrulanmış USDT deposit miktarıdır. Tahmini OC miktarı seçili politikaya göre yeniden hesaplanabilir:

- `fixed_at_deposit`: deposit anındaki fiyat sabitlenir.
- `launch_price`: final fiyat kullanılır.
- `pro_rata_pool`: presale arzı toplam deposit oranında dağıtılır.

Finalizasyon öncesinde snapshot alınır. Aynı snapshot ikinci kez finalize edilemez. Talep ayrılan arzı aşarsa sistem arzdan fazla OC oluşturmaz.

## Cüzdan ve lansman dağıtımı

Kullanıcı parola korumalı EVM testnet cüzdanı oluşturabilir. Private key, `scrypt + AES-256-GCM` ile şifrelenir. Parola, private key ve seed phrase e-postaya gönderilmez. Kullanıcı tek kullanımlık şifreli kurtarma paketini indirir.

Mainnet dağıtımı için:

- Contract ve harici signer/custody yapılandırılmışsa batch dağıtım kampanyası çalıştırılabilir.
- Contract yoksa kullanıcı doğrulanmış mainnet adresini ekler ve lansman sonrası manuel withdrawal akışı kullanılır.
- Private key veya seed phrase proje dosyalarında saklanmaz.

## Veritabanı, yedek ve kurtarma

Yerel tek sunucu kurulumu SQLite kullanır. Canlı veritabanı hiçbir başlatıcı veya kurtarma aracı tarafından otomatik sıfırlanmaz.

```text
VERITABANI-KONTROL-WINDOWS.bat   Tam SQLite bütünlük kontrolü
VERITABANI-YEDEKLE-WINDOWS.bat  VACUUM INTO ile doğrulanmış yedek
VERITABANI-ONAR-WINDOWS.bat     Yedek geri yükleme veya bozuk dosyaları karantinaya alma
TANI-WINDOWS.bat                Hassas veri içermeyen tanı raporu
TEST-WINDOWS.bat                Otomatik test paketi
```

Kurtarma ayrıntıları: `docs/DATABASE_RECOVERY.md`.

## Üretime geçmeden önce

Canlı müşteri fonu veya mainnet dağıtımı açılmadan önce en az:

- Gerçek alan adı ve HTTPS
- Gerçek SMTP
- Merchant sözleşmeleri ve callback adresleri
- OAuth geliştirici uygulamaları
- KYC/AML ve yaptırım kontrolleri
- Denetlenmiş OC token sözleşmesi
- MPC/HSM/multisig veya kurumsal custody signer
- Güvenilir RPC ve confirmation politikası
- Yedekleme/geri dönüş tatbikatı
- Bağımsız penetrasyon testi
- Akıllı sözleşme güvenlik denetimi
- Hukuki ve bölgesel uygunluk incelemesi

zorunludur. Hiçbir private key, seed phrase, merchant secret veya OAuth secret final arşivine gömülü değildir.

## Test

```bash
npm run validate
```

Bu komut sözdizimi kontrollerini ve installer, SMTP, kayıt, ledger, presale, cüzdan, dağıtım, ödeme, CMS ve çark yarış koşulu testlerini çalıştırır.

Ayrıntılar: `VALIDATION_REPORT.md` ve `docs/FINAL_DEPLOYMENT.md`.
