eAuction
Gerçek zamanlı açık artırma
Katılımcıların açık artırmalara teklif verebildiği ve güncel teklifleri anında görebildiği web uygulaması.
- Kimler için?
- Açık artırmaya katılan alıcılar ve ürün listeleyen kullanıcılar
- Katkım
- Kişisel proje · Yazılım geliştirme
- Dönem
- 2023
Çözülmesi gereken ihtiyaç
Bir açık artırmada tekliflerin ve kapanış bilgilerinin kullanıcılar arasında güncel kalması, sonuçların da arka plan işlemleriyle tamamlanması gerekiyor.
Ortaya çıkan işlevler
Teklif tutarı, teklif sayısı ve kapanış süresinin canlı güncellendiği; kapanış bildirimleri ve sipariş görevleri bulunan bir uygulama geliştirildi.
Ben ne yaptım?
React istemcisi ve Django API üzerinde ürün, teklif ve kullanıcı akışları geliştirdim; gerçek zamanlı yayınları ve kapanış görevlerini bağladım.
Uygulama ekranları
Açık artırma keşfinden canlı teklif verme paneline, teklif geçmişinden satıcı akışına: eAuction deneyimini gerçek web arayüzüyle inceleyin.
Geliştirme ayrıntılarını incele
Teknik yaklaşımla ilgilenenler için: çalışma akışı, kullandığım teknolojiler ve uygulama kararları.
Süreç nasıl işliyor?
Açık artırma, ürün keşfinden tekliflerin canlı takibine ve kapanış işlerine uzanıyor. WebSocket güncellemeleri ile zamanlanmış görevler farklı sorumluluklar taşıyor.
Ana akış
Kullanıcı oturumunu aç
OAuth ve kullanıcı akışlarıyla istemcinin kimliği doğrulanır.
Ürünü ve açık artırmayı incele
React / Redux arayüzü ürün, teklif ve kapanış bilgilerini API’den alır.
Teklif tutarını hazırla
Başlangıç ve mevcut teklif tutarlarıyla karşılaştırma ve ek ödeme hesaplama akışı çalışır.
Teklifi kaydet
DRF API teklifi kullanıcı ve ürünle ilişkilendirerek kaydeder.
Canlı güncellemeyi yayınla
Django Channels / Redis ürünün açık artırma grubuna WebSocket olayı yayınlar.
Katılımcı ekranlarını güncelle
Teklif tutarı, teklif sayısı ve kapanış zamanı canlı arayüzde güncellenir.
Kapanışı zamanlanmış görevle işle
Celery süresi dolan açık artırmaları kontrol eder ve en yüksek teklifi belirler.
Sonucu bildir ve siparişi oluştur
Teklif varsa kazanan / kaybeden bildirimleri gönderilir ve kazanan için sipariş oluşturulur.
Alternatif ve destek süreçleri
Kapanış yaklaşırken
- Yaklaşan kapanışları bul
Celery aktif açık artırmaların son tarihlerini kontrol eder.
- Katılımcıyı hatırlat
Teklif veren kullanıcılara kapanış hatırlatma e-postaları gönderilir.
Teklif tutarı uygun değilse
- Hesaplamada hatayı bildir
Başlangıç fiyatını veya mevcut yüksek teklifi geçmeyen tutar için hata yanıtı döner.
- Tutarı yeniden düzenle
Kullanıcı yeni tutarla hesaplama akışına dönebilir.
Çözüm yaklaşımı
- Django REST Framework API ve React/Redux istemcisinde ürün listeleme, teklif ve kullanıcı akışlarını geliştirdim; OAuth 2.0 kimlik doğrulama entegrasyonu uyguladım.
- Django Channels/Redis ile açık artırma bazlı WebSocket yayınları geliştirdim; teklif tutarı, teklif sayısı ve kapanış süresini istemcide canlı güncelledim.
- Celery ile kapanış hatırlatmaları, kazanan/kaybeden bildirimleri ve açık artırma sonunda sipariş oluşturma görevleri geliştirdim.
Teknolojiler
- Django REST Framework
- React
- Django Channels
- Redux
- Redis
- Celery
