İçeriğe geç
Tüm projeler

Freelancer Platformu

Hizmet sağlayıcıların müsaitlik durumlarını yönetebildiği ve müşterilerin çakışma yaşamadan randevu alabildiği full-stack platform.

Tarih
Eylül 2025
Rolüm
Full-Stack Geliştirici
Teknolojiler
  • React
  • Javascript
  • Redux
  • Tailwind CSS
  • C#
  • ASP .Net Core
  • Entity Framework Core
  • MySQL
  • REST API
  • Redis

Giriş

Bu full-stack pazar yeri web uygulaması, serbest çalışanlar (freelancer) ile müşterileri tek bir platformda buluşturan, uçtan uca hizmet ve randevu yönetim sistemidir. Hizmet sağlayıcılar uzmanlık alanlarını tanımlayıp esnek çalışma saatlerini ve takvimlerini yönetebilirken; müşteriler kategoriler arasında kolayca gezinebilir, freelancer müsaitliklerini anlık takip edebilir ve çakışma yaşamadan randevu oluşturabilir.

Sorun

Platformun geliştirilmesindeki temel teknik zorluk, eş zamanlı (concurrent) randevu taleplerinde aynı zaman dilimine birden fazla rezervasyon yapılmasını (double-booking) önlemekti. Bunun yanında, çok sayıda freelancer profili, takvim verisi ve müsaitlik slotunun doğrudan ilişkisel veritabanı (MySQL) üzerinden sorgulanması performans darboğazlarına yol açıyordu. Yüksek veritabanı yükünü azaltırken, çakışmasız ve milisaniyeler seviyesinde veri sunan güvenilir bir mimari kurgulamak gerekiyordu.

Ne yaptım

  • Mimari ve Backend: ASP.NET Core ve Entity Framework Core kullanarak modüler bir RESTful API mimarisi kurdum; veri kalıcılığını MySQL üzerinde sağladım.
  • Eş Zamanlılık & Randevu Çakışması Engelleme: Aynı saat dilimine iki farklı kullanıcının randevu almasını engellemek amacıyla veritabanı seviyesinde kilitleme ve transaction tabanlı zaman slotu doğrulaması geliştirdim.
  • Redis Önbellekleme (Caching): Sık sorgulanan freelancer profil detayları, aktif hizmet listeleri ve genel takvim müsaitliklerini Redis üzerinde önbelleğe alarak veritabanı okuma yükünü ve yanıt sürelerini önemli ölçüde düşürdüm.
  • Arayüz ve State Yönetimi: React, Redux ve Tailwind CSS kullanarak hem müşteri hem de freelancer panellerine sahip, takvim etkileşimleri hızlı ve duyarlı (responsive) bir arayüz tasarladım.

Sonuç

Geliştirilen platform, çakışmasız randevu süreçlerini yüksek performans ve kararlılıkla yönetebilir hale geldi. ASP.NET Core tarafında uygulanan eş zamanlılık kontrolleri ve Redis önbellekleme katmanı sayesinde veritabanı erişim süreleri minimuma indirildi; hem müşteriler hem de hizmet sağlayıcılar için pürüzsüz bir kullanıcı deneyimi sağlandı.