Geliştirici ve mobil hazırlık
Aynı çekirdek: web, iOS ve Android
Paftara bir web sitesinin üstüne sonradan eklenmiş bir mobil uygulama değil. İş kuralları, seyir algoritması, görünürlük halkaları, moderasyon kural motoru ve dil dosyaları tek bir TypeScript çekirdeğinde; web ve React Native uygulaması bu çekirdeği ve aynı API istemcisini paylaşır. Bu sayfa, sözleşmeyi ve mimariyi müşterinin teknik ekibine açıkça gösterir.
Paylaşılan paket mimarisi
Ekranlar ince; karar veren her şey çekirdekte. Aynı kural web’de, mobilde ve sunucuda aynı sonucu verir.
// apps/web/src/lib/api.ts · apps/mobile/src/api.ts
export const api = new MockAdapter({ depo, kanal, tohum }) // demo: tarayıcıda / cihazda
// export const api = new HttpAdapter({ taban: API_ADRESI, jeton }) // kurulum: tek satır değişir
// bileşenler hiçbir zaman depoya doğrudan dokunmaz:
const d = useDurum() // okuma
await api.yap('halkaEkle', { orgu, ust, metin }) // yazma — web ve mobilde aynı işlemOlay kaynaklı eşitleme
Her değişiklik bir işlemdir (gonderiPaylas, atolyeKartTasi…). İşlem adı ve argümanı diğer istemcilere yayılır, aynı saf fonksiyonla uygulanır. Demoda iki sekme arasında, kurulumda WebSocket ile.
Kural tek yerde
Görünürlük halkası (gorebilir), seyir ağırlıkları ve moderasyon kuralları çekirdekte. Yönetim merkezinde bir kuralı değiştirmek web’i ve mobili aynı anda etkiler.
Güvenlik
15 dakikalık erişim + 30 günlük yenileme jetonu, iki adımlı doğrulama, oturum listesi, yüklemelerde EXIF konum silme, KVKK veri dökümü ucu.
API sözleşmesi
Aşağıdaki okuyucu, yayındaki openapi.yaml dosyasını tarayıcıda ayrıştırır: etiket grupları, şema gezgini, örnek istek/yanıt ve tek tıkla curl.
Webhook örnekleri
Platformdaki olaylar kurumunuzun sistemlerine imzalı HTTP çağrısıyla iletilir. Başarısız teslimler artan aralıklarla yeniden denenir.
POST https://crm.kurumunuz.com/paftara/olay
X-Paftara-Olay: moderasyon.karar
X-Paftara-Imza: sha256=3f9c… (HMAC-SHA256, paylaşılan gizli anahtarla)
{
"olay": "moderasyon.karar",
"zaman": "2026-10-25T11:42:00+03:00",
"kayit": "md-2041",
"karar": "kaldir",
"gerekce": "Topluluk kuralları 3. madde: başkasının fotoğrafı izinsiz paylaşılmış"
}{
"olay": "gonderi.olusturuldu",
"zaman": "2026-10-25T11:20:00+03:00",
"veri": { "id": "g-seramik-s07", "ada": "seramik", "halka": "herkes", "orgu": { "id": "bir-kase-bes-sir", "ust": "g-seramik-s03" } }
}Mobil uygulama
Mobil yol haritası
- Ortak çekirdek
Modeller, işlemler, seyir, halkalar, moderasyon, i18n — web ile paylaşılıyor. Bu demoda hazır.
- Expo iskeleti
Alt sekmeli uygulama: Seyir, Atlas listesi, Defter, Mesajlar. Tip denetimi monorepo içinde geçiyor.
- 3Yerel yetenekler
Push bildirimleri (APNs/FCM), kamera ve galeriden yükleme, ses izi kaydı, yaklaşık konumla An, çevrimdışı önbellek.
- 4Mağaza yayını
EAS derlemesi, TestFlight ve Play iç testi, mağaza görselleri, sürüm ve güncelleme akışı — kurumunuzun geliştirici hesaplarıyla.
Teknik ekipler için sık sorulanlar
Mobil uygulama ayrı bir yazılım mı olacak?
Hayır. iOS ve Android uygulaması web ile aynı çekirdeği (iş kuralları, seyir algoritması, görünürlük halkaları, moderasyon kural motoru, i18n) ve aynı API istemcisini kullanır. Yalnız ekran katmanı React Native ile yazılır.
Demo verisi yerine gerçek sunucuya nasıl geçilir?
Uygulama bütün veriyi tek bir ApiClient üzerinden okur ve yazar. Demo MockAdapter ile tarayıcıda çalışır; kurulumda aynı satır HttpAdapter ile değiştirilir ve istemciler OpenAPI sözleşmesindeki uçlara bağlanır.
Gerçek zamanlı özellikler nasıl çalışıyor?
İşlemler olay olarak yayılır: bir kullanıcının atölye panosuna eklediği kart, odadaki diğer kullanıcılara aynı işlem olarak iletilir ve aynı saf fonksiyonla uygulanır. Demoda sekmeler arası BroadcastChannel, kurulumda WebSocket kullanılır.
Kendi sistemlerimizle entegre edilebilir mi?
Evet. Webhook olayları (yeni gönderi, moderasyon kararı, KVKK başvurusu) kendi CRM, destek ya da veri ambarınıza iletilebilir; tek oturum açma ve kurum hesabı doğrulaması kurulumda eklenir.