Giter Site home page Giter Site logo

sahibindencalisma1's Introduction

SCoin, BitCoin ve Ethereum Görüntüleyici ve Satın Alma

Yaptığım çalışmadan SCoin dışında Bit Coin ve Ethereum verilerini api vasıtasıyla temin ettim. Toplamda elimde 3 sanal para birimi olmuş oldu. Temin ettiğim bu sanal paraların geçmiş değişimlerini devextreme grafiklerinde gösterdim.

Bitcoin için istediğim gibi bir api bulduğum için direk javascript ile istek gönderdim. Ethereum için istediğim formatta veri bulamadım. Bulamadığım geçmişe ait günlük açılış veya kapanış fiyatları idi ancak bulamadım genelde saat/dakika bazlı yani anlık değişimlerin hepsini gösteriyordu ve buda benim işimi görmüyordu. İşimi görmemeisnin nedeni o kadar büyük datayı grafikde gösteremem diğer 2 sanal para biriminin veri formatınada uygun değil ondan dolayı bu işi C# tarafında filtreledim. CoinController'da tüm datayı çektim ve günlük değişimler hepsini silerek o güne ait tek bir veri buraktım javasript tarafında da kendi controllar'ıma istek gönderdim.

Grafiğin üzerinde ise anlık kurları gösteren bir ekran yaptım. Alık kurdeğişimini SignalR ile yapacaktım maksat yeşillik olsun diye ama hiç bir espirisi olmaycaktı sonuç olarak bir zamanlı iş tanımlayacaktım falan boşuan iş yükü onun yerini bunu javascript'de yaptım. Javascript'de setinterval kullanarak 50 saniyede bir(evet 60 değil) kurları kontrol ettim. Kontrol derken değişim olsun olmasın gelen veriyi ekrana bastım.

Daha sonra anlık kurların yanında satın alma yerleştirdim. Örneğin SCoin alınca anlık dolar fiyatını harcanan paraya ekledim. Böylelikle elimde Scoin miktarı, bu SCoin'leri alırken harcadığım parayı ve anlık SCoin fiyatı olduğuna göre kar hesabı yapabilirdim. Hesabı doğru orantı ile yaptım. Aşağıdaki gibi

Kazanc(Harcanan_Para, (Coin_Adedi * Anlik_Fiyati)) metodunu çalıştırdım. 

function Kazanc(harcanan, suankiDeger) {
  var fark = suankiDeger - harcanan; // Farkını buldum 
  var kazanc = fark * 100 / harcanan; // doğru orantı yaptım 
  return Math.round(kazanc * 100) / 100; // virgülden sonra 2 hanesini aldım
}

Yukarıda ki işlemi kur fiyatları güncellendiğinde yaptım.

Vakit az olduğu için vir veri tabanı kullanmadım. Biraz çakallık yaparak localStorage kullandım yani özetle tarayıcının veri tabanı diyebiliriz :) verileri ordana ldım oraya kaydettim. Bu kısa vakitde ve bu şekilde tke tablolık veriler için kim Entity Framework entegrasi yapacak ki ? Evet tercihim Entity Framework performans olarak dapper a göre kötü olabilir ama bunu tercih ediyorum işimi görüyor sonuçta.

Kendimin yazdığı tüm javascriptler /Scripts/Custom.js içersindedir.

Hızlı geliştirme için bide anlık değişimleri göstermek ve grafik kullanmak için javascript kullandığım için artık herşeyi javascript ile yaptım. Yani işime öyle geldi özel bir kuralınız olmadığı için :) olsaydı ona uyardım.

Readme geç yazdım kusuruma bakmayın.

sahibindencalisma1's People

Contributors

fatihgurdal avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.