Yasin Akmaz.

Servora Belediye KentKart Platformu

Akıllı Bakiye, Ödeme ve Vatandaş Hizmetleri Platformu

Gördes Servora Logo

Gördes Belediyesi için geliştirilen Servora; vatandaşların bakiye yönetimi, ödeme, QR/NFC işlemleri ve belediye hizmetlerine erişimini sağlayan, yüksek güvenlik ve ölçeklenebilirlik odaklı uçtan uca bir yazılım platformudur.

Projede backend, yönetim paneli, arka plan servisleri ve personel terminal uygulamalarının büyük bölümü Rust ekosistemi üzerinde geliştirildi. Vatandaş mobil uygulaması ise Flutter ile Android ve iOS platformları için hazırlandı.

Play Store : https://play.google.com/store/apps/details?id=tr.com.ozfiliz.servora

App Store : https://apps.apple.com/ie/app/g%C3%B6rdes-servora/id6809367862

Teknoloji Yığını

Backend & Infrastructure

  • Rust
  • Axum
  • Tokio
  • SQLx
  • PostgreSQL
  • Redis / Microsoft Garnet
  • Keycloak
  • Docker
  • REST API
  • WebSocket

Web Yönetim Paneli

  • Rust
  • Leptos SSR + Hydration
  • Tailwind CSS

Mobil Uygulama

  • Flutter / Dart
  • Riverpod
  • Drift / SQLite
  • Firebase Cloud Messaging
  • Google Maps
  • Native Android HCE / NFC

Personel Terminali

  • Tauri 2
  • Rust
  • React
  • TypeScript
  • SQLite
  • WebSocket

Ödeme Altyapısı

Platformda Paratika VPOS entegrasyonu ile kapsamlı bir ödeme altyapısı geliştirildi.

Desteklenen işlemler arasında:

  • 3D Secure ödeme
  • Kart ile bakiye yükleme
  • Ön provizyon / provizyon kapama
  • İptal
  • İade
  • Taksit sorgulama
  • BIN sorgulama
  • Kayıtlı kart işlemleri
  • Transaction reconciliation
  • Tekrarlayan ödemeler

yer alıyor.

Kart bilgileri mobil cihaz üzerinde RSA-2048 / OAEP-SHA256 kullanılarak şifreleniyor ve yalnızca şifreli biçimde backend'e aktarılıyor.

CVV saklanmıyor ve hassas kart verileri loglanmıyor.

3D Secure işlemlerinde ödeme sonucu mobil uygulama tarafından değil, backend tarafından ödeme sağlayıcısı üzerinden yeniden sorgulanarak doğrulanıyor.

QR & NFC Ödeme

Servora içerisinde belediye kullanım senaryolarına özel ödeme yöntemleri geliştirildi.

QR ödeme

Tek kullanımlık ödeme token'ları ve idempotency mekanizması ile terminal ve mobil uygulama arasında güvenli ödeme akışı sağlanıyor.

NFC / HCE

Android tarafında üçüncü parti bir HCE kütüphanesi yerine doğrudan native Android altyapısı ile özel bir Host Card Emulation entegrasyonu geliştirildi.

Güvenlik

Platform güvenlik açısından çok katmanlı tasarlandı.

  • JWT tabanlı kimlik doğrulama
  • Keycloak entegrasyonu
  • Tenant izolasyonu
  • IP bazlı rate limiting
  • Kullanıcı bazlı rate limiting
  • Tenant bazlı rate limiting
  • Hassas endpoint'ler için ek throttling
  • Redis/Garnet tabanlı distributed rate limiting
  • SSRF koruması
  • HTTPS zorunluluğu
  • Güvenlik HTTP header'ları
  • Request ID ve distributed tracing
  • Hassas endpoint'lerde Cache-Control: no-store
  • Ödeme bilgilerinin loglardan redakte edilmesi

Veri Migrasyonu

Projenin önemli parçalarından biri de eski Microsoft SQL Server / SERVORADB altyapısından yeni PostgreSQL mimarisine geçiş oldu.

Bunun için Rust ile özel bir migration CLI geliştirildi.

Migration sistemi:

  • Preflight kontrolleri
  • Migration planlama
  • ID mapping
  • Veri doğrulama
  • Anomali karantinası
  • Migration run takibi
  • Legacy verinin korunması
  • Bakiye mutabakatı

gibi mekanizmalar içeriyor.

Yeni sistem;

  • balance_db
  • identity_db
  • audit_db
  • report_db

olmak üzere ayrıştırılmış PostgreSQL veritabanları üzerinde çalışıyor.

Arka Plan Servisleri

Rust/Tokio üzerinde çalışan worker sistemi ile:

  • Bildirim gönderimi
  • Firebase Cloud Messaging
  • Bekleyen ödeme kontrolü
  • Ödeme reconciliation
  • Kayıtlı kart senkronizasyonu
  • Tekrarlayan ödeme işlemleri

arka planda bağımsız şekilde yürütülüyor.

Mimari

Proje Clean / Hexagonal Architecture prensipleri doğrultusunda tasarlandı.

Backend, admin paneli, worker ve personel uygulaması ortak Rust crate'lerini paylaşırken domain katmanlarının infrastructure katmanlarına doğrudan bağımlı olmaması derleme seviyesinde korunuyor.

Tek bir Cargo workspace içerisinde:

API + WEB + WORKER + PERSONEL + SHARED + MIGRATION

bileşenleri birlikte yönetiliyor.

CI / Kalite

GitHub Actions üzerinden backend ve Flutter tarafında otomatik regresyon testleri uygulanıyor.

Ödeme testlerinin CI ortamında gerçek banka veya production ödeme servislerine erişmemesi özellikle güvence altına alındı.

Projede Öne Çıkanlar

Rust ile uçtan uca backend ve server-side web altyapısı
Flutter ile Android/iOS vatandaş uygulaması
Tauri ile personel POS/terminal uygulaması
Paratika 3D Secure ödeme entegrasyonu
RSA tabanlı kart bilgisi şifreleme
QR ve Native Android NFC/HCE ödeme
Multi-tenant / white-label belediye mimarisi
PostgreSQL + MSSQL migration altyapısı
Distributed Rate Limiting
WebSocket tabanlı gerçek zamanlı terminal iletişimi
Firebase push notification altyapısı
Clean / Hexagonal Architecture

Rol: Software Engineer / Full-Stack Developer Alan: FinTech · GovTech · Payment Systems · Backend · Mobile · Distributed Systems

  • Rust,Axum,Leptos,Worker,Flutter,Tauri

Gizlilik tercihlerinizi kontrol edin

Sitenin çalışması için gerekli çerezleri kullanıyoruz. İzniniz olursa site kullanımını anlamamıza yardımcı olan analitik çerezleri de kullanabiliriz.