Tüm projeler

Bireysel proje / Teknik proje incelemesi

Arazi Buldum.

Haritadaki ilk işaretten
çalıştığı sunucuya kadar.

Web, iOS ve Android için arsa ve arazi platformu. Arayüzler, backend, veri modeli, entegrasyonlar ve altyapı dahil ürünün tamamını tek başıma geliştirdim.

Ürün geliştirmeEİDS entegrasyonuKendi sunucumda altyapıCanlı sistem sorumluluğu

01 / Ürün

İlan, yolculuğun
başlangıcı.

Arazi almak veya ilan vermek; konum, taşınmaz detayları, doğrulama ve iletişimi bir araya getirmeyi gerektiriyor. Bu adımları ortak web ve mobil deneyimde buluşturdum: bölgeyi keşfetme, ilan karşılaştırma, gerekli doğrulamaları tamamlama ve doğru kişiye ulaşma.

Hem kullanıcıların gördüğü arayüzleri hem de hangi ilanın yayımlanabileceğini, kimin erişebileceğini ve bir servis hata verdiğinde ne olacağını belirleyen kuralları üstlendim.

Konum odaklı bir ilan platformu.

Fiyat, yüzölçümü, kategori ve konum filtreleriyle liste ve harita üzerinden keşif geliştirdim. Haritanın görünür sınırları aramayı belirliyor; web’de işaret kümeleme ve geciktirilmiş harita güncellemeleri farklı bölgeler arasında keşfi kolaylaştırıyor.

Next.js · React Native / Expo · Google Maps

İlan akışına entegre doğrulama.

EİDS ve telefon doğrulamasını ilan oluşturma akışına entegre ettim; kimlik ve taşınmaz yetkilendirmesini ayrı ele aldım. Gerekli kontroller sunucuda çalışıyor; yayın kuralları backend’de de uygulanıyor.

EİDS · OTP · Sunucu tarafı doğrulama

Mesajlaşma ve bildirim teslimatı

İlana özel konuşmaları Realtime güncellemeleri ve push bildirimlerine bağladım. PostgreSQL outbox’ı bildirim kaydı ile teslimatı ayırıyor; dış servislerdeki teslimat hataları bağımsız ele alınabiliyor.

Realtime · PostgreSQL outbox · Expo Push

02 / İlan yayını ve EİDS

Yayınla butonunun arkasında
gerçek iş kuralları.

İlan yayınını aşamalı bir akışa böldüm. Önce taslak oluşturuluyor; doğrulama ve medya tamamlandıktan sonra son sunucu kontrolü ilanı aktif ediyor. İşlem anahtarı, kullanıcı yeniden denediğinde mevcut taslağın kullanılmasını sağlıyor.

  1. 01

    Taslak oluştur

    Yayın işlemi yarıda kalırsa devam edilebilecek bir taslak kaydedilir.

  2. 02

    Doğrula

    Telefon numarası ve ilana ait EİDS koşulları kontrol edilir.

  3. 03

    Medyayı hazırla

    Fotoğraflar ve ilan bilgileri eklenir.

  4. 04

    Kontrol et ve yayımla

    İlan aktif edilmeden önce son sunucu kontrolleri yapılır.

Sunucu tarafında EİDS entegrasyonu

EİDS entegrasyonunu kendi sunucumda işlettiğim backend’de geliştirdim. Servis kimlik bilgilerini tarayıcı ve mobil istemcilere taşımadım; sağlayıcının kayıtlı çıkış IP’si gereksinimini karşıladım. Kimlik ve taşınmaz yetkilendirmeleri ayrı kontroller olarak uygulanıyor; kurallar ilan türüne göre belirleniyor.

03 / Mimari

Ürünü geliştirdim.
Altyapısını da kurdum.

Supabase’i VPS üzerinde Docker Compose ile kurup işlettim. Kong ve Caddy’nin yanında PostgreSQL, Auth, Storage, Realtime ve Deno Edge Functions servislerini yapılandırdım. Web ve mobil aynı backend’i kullanıyor; ortak yayın akışları web API’sinden geçiyor.

Uygulamanın bakımını üstlenirken servis ayarlarını, erişim izinlerini, yayınları ve kurtarma süreçlerini de yönettim.

Web uygulamasıNext.js / React · Netlify
iOS + AndroidReact Native / Expo · EAS

Ortak veri servisleri + ilan yayın API’si

Kendi sunucumda SupabaseVPS · Docker Compose · Kong · Caddy
  • PostgreSQL / RLS
  • Kimlik doğrulama
  • Dosya depolama
  • Gerçek zamanlı veri
  • Edge Functions

Sunucu entegrasyonları ve arka plan teslimatı

EİDSNETGSM / SMSExpo Push
Özet uygulama mimarisi. Sentry; mobil, web API ve Edge Functions boyunca hata raporlamasını birleştiriyor.

04 / Güvenlik ve kurtarma

Canlı sistem sorumluluğu
uygulama katmanının ötesinde.

01

Sunucu erişimi ve güvenlik ayarları

Kendi sunucumda işlettiğim ortamın güvenliğini güçlendirmek için dış servis erişimini daralttım, anahtar tabanlı yönetici erişimi yapılandırdım ve servis ayarlarını gözden geçirdim.

02

Veritabanı erişim kontrolleri

PostgreSQL satır düzeyinde güvenliği, yetkili RPC’leri ve sunucu kontrollerini birlikte kullandım. Herkese açık profil ve ilan alanlarını özel kimlik ve iletişim verilerinden ayırdım.

03

Şifreli yedekler ve geri yükleme testleri

Şifreli veritabanı yedekleri oluşturdum ve izole PostgreSQL ortamında geri yüklemeyi test ettim. Yedeğin gerçekten kurtarma için kullanılabildiğini kontrol ettim.

04

Gerektiğinde geri alınabilen yayınlar

Hedef kontrolü, dry-run desteği, önceki kodun yedeği ve belgelenmiş geri alma adımları içeren Edge Function yayın araçları geliştirdim.

İlan devrinde konuşmaların gizliliği

Kurumsal çalışma alanı pilotunda, ilan başka bir çalışana devredildiğinde önceki konuşmaların yeni çalışana gösterilmeden kapatılmasını sağladım. İlanın yeni sorumlusu için ayrı bir konuşma başlatılıyor; erişim izinleri backend’de kontrol ediliyor.

Kurumsal çalışma alanı · Canlı pilot

05 / Uygulamada güvenilirlik

Bildirimleri gönderimden
teslimata kadar takip etme

Push ve SMS teslimat takibi

Eş zamanlı worker’ları satır kilitlemeyle koordine eden PostgreSQL tabanlı push outbox geliştirdim. Seçili ağ hatalarında sınırlı yeniden deneme ve teslimat sonucu kontrolleri ekledim. Sonuçlar geldikçe geçersiz cihaz token’ları temizlenebiliyor.

SMS için gönderim isteği kabul edildikten sonra NETGSM’i sorgulayan teslimat takibi işleri ekledim. Böylece sağlayıcının isteği kabul etmesiyle yetinmeden, sonradan oluşan teslimat hataları görünür oluyor.

Mobil ve backend hatalarının takibi

Sentry’yi Expo uygulaması, Next.js API’ları ve Edge Functions boyunca entegre ettim. İşlem bağlamı, hata nedenleri ve istek kimlikleri ekledim. Seçili sunucu hataları çökmelerle birlikte raporlanıyor; hassas alanlar filtreleniyor.

Web yayınlarını ve EAS Build, Submit, OTA süreçlerini yönettim. Canlı sistem sorunlarını ve kullanıcı geri bildirimlerini sonraki iyileştirmelerde kullandım.

06 / Teknolojiler

Projede kullandığım
teknolojiler

Web
Next.js, React, TypeScript, Netlify
Mobil
React Native, Expo, EAS Build / Submit / OTA
Backend ve veri
Supabase, PostgreSQL, RLS, RPC, Deno Edge Functions
Altyapı
VPS, Docker Compose, Kong, Caddy
Entegrasyonlar
EİDS, NETGSM, Google Maps, Expo Push
Operasyon
Sentry, teslimat takibi, şifreli yedekler, geri alma araçları

Arazi Buldum’un web ve mobil uygulamalarını geliştirdim; backend’i, entegrasyonları ve sunucu altyapısını da kurup yönettim. Yayın sonrasında bakım ve sorun çözme süreçlerini üstlendim.

Arayüzden altyapıya

Birlikte
geliştirelim.