İçeriğe geç
Muhammet Şafak
en
Kapak görseli — SWIPENOR kabartmalı siyah cihazın yüzünde CLIENT_SCORE ve SERVER_NONCE okları HMAC-SHA256 kutusuna girip SIGNATURE olarak çıkıyor; yanda mor LED yanıyor

Swipenor: skoru istemci hesaplarsa sunucu neye güvenir?

Kaydırmalı doğru/yanlış bilgi yarışması; asıl mesele oyun değil, istemcinin ürettiği skoru imzayla doğrulanabilir kılmak.

Şu an ne yapıyor

Kaydırmalı doğru/yanlış bilgi yarışması bir mobil uygulama olarak çekirdek döngüsüyle uçtan uca çalışıyor; skoru istemci üretse de server_nonce ve HMAC imzasıyla sunucu tarafında doğrulanıyor. swipenor.com uygulamanın tanıtım sayfasıdır, oyunun kendisi değil.

Başlangıç
Temmuz 2026 — Eylül 2026
Labs’tan çıkış

Tür

Mobil

Teknolojiler

Laravel PHP PostgreSQL Redis React Native Expo TypeScript Filament Astro

Mekanik basit: kart gelir, sağa kaydırırsan “Doğru”, sola kaydırırsan “Yanlış”. Yaş grubuna göre içerik (4–12, 12–18, 18+), doğru cevapta puan, seri tutturunca bonus, global ve yaş bazlı sıralama. Basit olmayan kısım, skorun kime ait olduğu.

Skoru istemci hesaplıyorsa sunucu neye bakar

Oyun döngüsü 60 fps’te istemcide dönüyor (reanimated worklet’leri + gesture-handler); skoru da doğal olarak istemci hesaplıyor. Sunucunun bu sayıya körlemesine inanması ise sıralama tablosunu ilk gün çöpe çevirir.

Denenen model signed-client: oturum başında sunucu bir server_nonce üretiyor, istemci skoru bu nonce ile HMAC’leyip imzalıyor, API hem makuliyet kontrolü yapıyor hem imzayı doğruluyor. Puan sabitleri de istemciye gömülü değil — doğru cevap 100 puan, seri eşiği 3, seri bonusu +25 — hepsi GET /config ile sunucudan geliyor ki istemci ile sunucu birbirinden sapmasın.

Puan sabitlerinin sunucudan gelmesi de imzanın devamı. İstemcide sabit tutulsalardı imza yine doğrulanırdı ama doğrulanan sayı yanlış olabilirdi: eski sürümde kalmış bir istemci, seri bonusunu kendi bildiği değerle hesaplayıp geçerli bir imzayla gönderirdi. Sabitler tek yerde durunca doğrulama da anlamlı oluyor.

Dört depo, tek şema sahibi

Dört ayrı depo tek klasörde: game (Expo SDK 57, React Native, TypeScript), api (Laravel 13, PostgreSQL 16, Redis), admin (Filament, API ile paylaşılan veritabanı üzerinde çalışır) ve Astro ile yazılmış tanıtım sayfası. Çekirdek döngü uçtan uca çalışıyor: kaydırma, puanlama, seri bonusu, global/yaş sıralaması.

Şema sahipliği tek noktada tutuluyor. Admin paneli Filament ile yazıldı ve API ile aynı veritabanına bakıyor, ama migration çalıştırmıyor: şemayı yalnız API değiştiriyor. İki uygulamanın da migrate edebildiği bir kurulumda hangi sürümün hangi tabloyu tanımladığı ilk çakışmada belirsizleşir ve o belirsizlik üretimde geri alınamaz. Panelin şemaya yazma yetkisi bu yüzden hiç açılmadı.

İmza modelinin sınavı yayında

Açık uçlar oyunun kendisinde değil, etrafında: reklam entegrasyonu ve tek seferlik “reklamları kaldır” satın alması, mağaza materyalleri ve yayın süreci. İmza modelinin gerçek kullanıcıya karşı ne kadar dayandığını da ancak yayında göreceğim.

Diğer Kayıtlar

Tüm kayıtlar

Her araç marka-modelinin kendi kulübü olduğu, ICE ile EV'yi aynı çatıda tutan Reddit-benzeri topluluk platformu; API, web ve mobil paralel yürüyor.

Şu an ne yapıyor

Her araç marka-modelinin kendi kulübü olduğu topluluk platformu; kimlik, içerik, bildirim ve moderasyon akışları tek şemalı API üzerinde yürüyor, web ve mobil istemciler aynı şemayı paylaşıyor. Aracının modeline özel bir topluluk arayan kullanıcı bugün katılabilir.

Web Mobil Laravel PHP PostgreSQL +6 daha
Temmuz 2026 — Eylül 2026

Çok hesaplı gelir-gider takibini tek modelde toplayan finans çekirdeği; web + iOS + Android'de çalışan Parantaj'a dönüştü.

Şu an ne yapıyor

Tek hesap/işlem modeli çoklu hesap yönetimini, bütçeyi, hedefleri ve raporlamayı aynı çekirdekte taşıyor; web, iOS ve Android istemcileri yayında. Kişisel ve kurumsal finansını tek yerden takip etmek isteyen kullanabilir.

Open-Source Web Mobil PHP Laravel Go +4 daha
Mart 2024 — Ekim 2024

Herkese açık, ücretsiz okunan, metin merkezli öğrenme platformu; ders kitabı teorisiyle sektörde karşılaşılan problemleri tek ders akışında tutuyor.

Şu an ne yapıyor

Dersleri kayıt olmadan ücretsiz okunan bir öğrenme platformu olarak yayında: müfredat-kurs-konu-ders hiyerarşisi, tam metin arama ve ilerleme takibi çalışıyor; kurs sonu sınavı, doğrulanabilir sertifika ve çalışma asistanı Pro katmanda. Bilgisayar bilimleri müfredatını okumak isteyen herkes bugün kullanabilir.

Web Laravel PHP Livewire +6 daha
Ağustos 2026 — Eylül 2026

Sitede Ara

Yazı, proje ve sayfalarda arama yapmak için yazmaya başlayın.

Esc ile kapat Pagefind ile güçlendirildi