Şahane Mobil — Sipariş Takip Uygulaması
Şirket siparişlerinin telefondan takibi için geliştirilen mobil/web uygulaması ve şirket veritabanına güvenli erişim sağlayan Node.js API köprüsü.

Müşteri: Şahaneev Tekstil · Rol: Uçtan uca geliştirme
Problem
Siparişler yalnızca ofisteki masaüstü programından görülebiliyordu. İşletme sahibinin dışarıdayken siparişleri, kargo durumlarını ve satış rakamlarını telefondan takip edebilmesi gerekiyordu.
Çözüm
- Mobil uygulama (Expo Router, TypeScript): iPhone ana ekranına eklenen web uygulaması olarak da çalışıyor.
- Node.js API köprüsü: Şirketin MSSQL veritabanından veriyi okuyup uygulamaya sunuyor.
- Ekranlar: Sipariş listesi ve detayı, tarih aralıklı özet, satış personeli raporu.
- Gelişmiş filtreler: Masaüstü programındaki tüm sütun filtreleri ve sıralamalar mobile taşındı. Filtre koşulları sunucuda doğrulanıp parametreli SQL'e dönüştürülüyor.
- Arama: Müşteri adı ve kargo takip numarasında, Türkçe karakter ve büyük/küçük harf farkını yok sayarak.
Zorlu bir hata: bozuk Türkçe karakterler
Bazı siparişlerde "Ş" harfi "ª" olarak görünüyordu. İnceleme sonucunda, Telegram'dan gelen sipariş metinlerinin RTF olarak saklandığı ve "Ş/ş" harflerinin Orta Avrupa kod sayfasıyla (cp1250) kodlandığı bulundu. RTF çözücü tüm kod sayfalarını tanıyacak şekilde yeniden yazıldı; ayrık işaretli harfler de normalize edildi.
Güvenlik
- Uzaktan erişim: Dinamik DNS ve Let's Encrypt sertifikasıyla (DNS-01 doğrulaması) HTTPS üzerinden sağlanıyor.
- Girişte deneme sınırı uygulanıyor; sunucu adresi uygulamanın hiçbir ekranında gösterilmiyor.
- Güvenlik duvarı kuralı yalnızca uygulamanın kendi süreci ve gereken portlar için açılıyor.
- Canlı veritabanına yazmadan doğrulama: Sorgular canlıda salt okuma moduyla test ediliyor; müşterinin isteğiyle veritabanı şemasına hiçbir tablo veya tetikleyici eklenmedi.
Ekran görüntüleri
Görseller, uygulamanın gerçek arayüzü tamamen uydurma demo verilerle çalıştırılarak alınmıştır; gerçek müşteri, sipariş, fiyat veya mağaza bilgisi içermez.
Satış personeli raporu ve sipariş detayı / geçmişi