WeWalk
Node.js · TypeScript · Express · Sequelize · PostgreSQL · Firestore · Redis · GCP Cloud Run · Vue · Angular · BLE

WeWalk, altmıştan fazla ülkede görme engelli kullanıcıların kullandığı bir akıllı baston ve eşlik eden mobil uygulama üretiyor. Ocak 2024'ten beri platformun tek backend mühendisiyim: 27.000+ kayıtlı kullanıcı, 52 servis modülünde yaklaşık 590 REST endpoint ve bu dönemde çekirdek API'ye atılan 1.679 commit'in tamamı. Kod tabanı 2020'den geliyor ve ben devralmadan önce birkaç elden geçmişti.
En büyük iş, tüm production ortamını kendi sunucularında koşan bir Rancher/Kubernetes kümesinden Google Cloud Run, Cloud SQL ve Firestore'a taşımaktı - o noktada eski ortama çalışır erişim pratik olmadığı için sistem durumunu yedeklerden yeniden inşa ederek. AWS'den GCP'ye geçiş ise hiçbir kullanıcıyı uygulama güncellemeye zorlamadan tamamlandı: mevcut mobil endpoint'leri canlı tutan bir Lambda→Cloud Run WebSocket proxy'si yazdım. Kullanıcılarınız yollarını bulmak için uygulamanıza güveniyorsa, bu bir ayrıntı değil zorunluluktur.
Taşımaların dışında SKU/özellik yetkilendirme motorunu tasarladım (kurallar, kampanyalar, garanti süreleri, Zoho CRM seri numarası üzerinden tanımlama), Apple App Store Server API ve Google Play Billing entegrasyonlarını abonelik mutabakatıyla birlikte kurdum, BLE OTA firmware dağıtımı ve baston telemetri toplama hattını yazdım - her ~10 saniyede bir 102 baytlık BLE anlık görüntüleri, bölümlenmiş bir zaman serisi tablosuna akıyor. Yetki değişikliklerinin kime ait olduğunun bulunamadığı bir olaydan sonra, aylık bölümleme ve JSONB öncesi/sonrası diff'leriyle trigger tabanlı bir PostgreSQL denetim izi ekledim.
Öne çıkanlar
- Kendi sunucusundaki Kubernetes → GCP Cloud Run taşıması; sistem durumu yedeklerden inşa edildi
- WebSocket proxy sayesinde AWS → GCP geçişi, tek bir zorunlu uygulama güncellemesi olmadan
- 174 migration ile şema 34 tablodan ~95 tabloya büyüdü
- WeAssist uzaktan yardım konsolu (Angular 18 + Zoom Video SDK) ilk commit'ten itibaren