Çapraz platform dil öğrenme uygulaması
Dersler, gerçek zamanlı sohbet, sesli ve görüntülü arama, push bildirimleri ve abonelikler tek bir React Native uygulamada; arkasında uçtan uca tasarlayıp geliştirdiğim, PostgreSQL, Redis ve AWS üzerinde çalışan bir Node.js API.
- Tür
- Mobil uygulama ve backend, iOS ve Android
- Nerede
- Freelance, uzaktan
- Ne zaman
- Eyl 2025 – Günümüz
- Teknolojiler
- React Native, TypeScript, Reanimated 4, Zustand, Node.js, Express, PostgreSQL, Redis, Socket.IO, LiveKit, BullMQ, AWS S3, AWS SES, Firebase, RevenueCat
- arayüz performans hedefi
- 60 FPS
- platform, tek kod tabanı
- 2
Genel bakış
Ürün, kendi hızında ilerlenen dersleri canlı konuşmayla birleştiriyor. Sohbet ve aramaların iki platformda da telefonun kendi özellikleri gibi davranması, uzun sohbet ve ders geçmişlerinin orta seviye cihazlarda akıcı kayması ve backend’in yeniden yazılmadan yatayda büyüyebilmesi gerekiyordu.
Neler geliştirdim
- TypeScript ile React Native New Architecture, i18next yerelleştirme ve çeviri anahtarlarını tüm dillerde senkron tutan özel bir tarayıcı script.
- Sohbet için Socket.IO, aramalar için LiveKit (WebRTC); uygulama kapalıyken bile aramaların çalması için iOS CallKit, Android ConnectionService ve VoIP push entegrasyonu.
- 60 FPS hedefi için Reanimated 4 worklet’leri, jest kontrollü bottom sheet’ler ve sanallaştırılmış listeler (FlashList, Legend List); etkileşimli alıştırmalar için HTML5 Canvas.
- Elle yazılmış SQL ve migration, rollback, seed için özel CLI’a sahip Express + PostgreSQL API; yatay ölçekleme için Socket.IO Redis adapter ve emitter; arka plan işleri için BullMQ ve node-cron.
- AWS S3’e presigned multipart yükleme, AWS SES ve Resend ile transactional e-posta, RevenueCat abonelikleri, AdMob, Notifee ile FCM, Analytics ve Crashlytics.
- Baştan gelen güvenlik ve gözlemlenebilirlik: JWT, bcrypt, Joi doğrulama, Helmet, dağıtık rate limiting, küfür filtresi, Prometheus metrikleri ve Pino yapılandırılmış loglar.
Sonuçlar
- Tek TypeScript kod tabanı iOS ve Android’e çıkıyor; geliştirme ve üretim build’leri (APK, AAB ve iOS) otomatik.
- Gelen aramalar, uygulama çalışmıyorken bile sistemin arama ekranıyla kullanıcıya ulaşıyor.
- Gerçek zamanlı trafik birden fazla sunucuya yayılabiliyor, ağır işler istek akışının dışında çalışıyor.
- Büyük medya dosyaları API’den geçmeden doğrudan depolamaya yükleniyor.