Skip to content

This app is created for tracking e-commerce product prices and completed almost in one day.

Notifications You must be signed in to change notification settings

devbaran/Price-Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Price Tracker / Fiyat Takip Projesi

WebApp

Bu uygulama e-ticaret sitelerindeki ürünlerin güncel fiyatlarını düzenli bir şekilde kontrol ederek; linki verilen ürünün, arzulanan fiyata düşmesi durumunda kullanıcının eposta yoluyla bilgilendirilmesini sağlar.

Uygulama şu şekilde çalışır;

İlk olarak istenen platform seçilir(amazon,trendyol). Ardından bu platformdaki seçilen ürünün linki girilir. Son olarak eposta ve düşmesi beklenen fiyat girilir. Form gönderildikten sonra kullanıcı (başarılı olması durumunda/ validasyonlardan geçtikten sonra) bu işlemin başarılı olduğuna dair bir sayfa görecektir. Ürün istenen fiyata düştüğü anda kullanıcı otomatik olarak e-posta yoluyla bilgilendirilecektir.

TrackerApp klasöründe bulunan uygulama ile Web servisi sağlanıyor; e-ticaret platformu, ürün linki, istenen fiyat ve eposta adresi alınıp doğrudan veritabanına kaydediliyor.

ConsoleApp klasöründe ise; Web servisi aracılığıyla veritabanına kaydedilen bu veriler konsol uygulaması yardımıyla kontrol edilerek ürünler istenen fiyatlara düşmüş mü kontrol ediliyor.

Konsol uygulaması olması sayesinde Windows Task Scheduler kullanılarak(linux için CronJob olarak ayarlanabilir) bu console uygulamasının EXE'si seçilip, belirli aralıklarla/istenen sürelerle çalışması sağlanabiliyor. Örneğin bu uygulamayı her 30dk da bir çalıştır diyerek aslında veritabanında bulunan kayıtlardaki bütün fiyatları yarım saatte bir kontrol etmiş olacağız.

Küçük bir not :)

Ek olarak; uygulamada pek çok hata ve eksik mevcut. Ortalama 1 günde uygulamayı kabaca tamamlayarak refactoring etmeden doğrudan github üzerine aktardım. Mevcut hataları da elimden geldiğince kodların arasında notlarda belirtmeye çalıştım. Değerlendirme yapılacaksa tüm bunların göz önüne alınması çok daha sağlıklı olacaktır. SOLID prensiplerinin ezildiği, Database yönetiminin kötü olduğu pek çok nokta olduğunun farkındayım. İnsanlara kabaca fikir vermesi açısından basit bir proje ortaya koymak istedim, takıldığınız yerlerde iletişime geçerseniz seve seve yardımcı olacağım.

Kullanılan Paketler/Teknolojiler

WebApp .NET 6 ile geliştirildi. Veritabanı olarak MSSQL kullanıldı. ConsoleApp ise .NET 5 ile geliştirildi

Uygulama içerisinde bulunan paketler:

  • Entity Framework (veritabanı bağlantıları)
  • Html Agility Pack (web scraping)

Veritabanı

Uygulamanın oldukça basit bir veritabanı mevcut; DbFirst yaklaşımı ile oluşturuldu.

Elbette tablo oluşturma biçimi hatalı, parçalara bölünerek daha doğru şekilde oluşturulabilir ve yönetimi kolaylaştırılabilir. Uygulamayı hızla ayağa kaldırmak adına bu şekilde konfigüre edildi.

Marketplaces tablosunun App içerisinde CRUD işlemleri mevcut değil, doğrudan SSMS yardımıyla yönetilmekte.

Bunlar WebApp içerisine entegre edilerek daha sağlıklı bir uygulama oluşturulabilir.

database

About

This app is created for tracking e-commerce product prices and completed almost in one day.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published