Code Monkey home page Code Monkey logo

dovizkurlari's Introduction

Doviz Kurlari Api Rest - Microservis - Docker

Türkiye Cumhuriyeti Merkez Bankası sitesinden XML olarak verileri alarak kullanmanızı sağlayacak Python kodu (nesnesi)'dir. Microservis olarak kullanmak içinde Dockerfile dosyası vardır.

Eğitim ve bilgilendirme amaçlıdır. Ticari bir beklenti yoktur.

Bilginin Alındığı Sayfa : www.tcmb.gov.tr - https://www.tcmb.gov.tr/kurlar/today.xml


Örnek olması için Google Cloud'da örnek kod :

https://dovizkurlari-l6vtviaacq-uc.a.run.app/api/doviz/usd

https://dovizkurlari-l6vtviaacq-uc.a.run.app/api/doviz

https://dovizkurlari-l6vtviaacq-uc.a.run.app/api/doviz/2020/04/01

https://dovizkurlari-l6vtviaacq-uc.a.run.app/api/doviz/2020/04/01/eur


Docker ile Kullanımı:

öncelikle docker hub'dan ilgili container image :

docker pull tayfunulu/tl_doviz_kurlari

Manual Çalıştırma (arka ekranda çalıştırma)

docker run --rm -it -d -p 5000:5000 tayfunulu/tl_doviz_kurlari


Docker-Compose dosyası
version: '3'
services:
  doviz_microservis:
  container_name: tl_doviz_kurlari
  image: tayfunulu/tl_doviz_kurlari
  restart: always
  ports:
    - "5000:5000"

Çalışıp çalışmadığını test edelim.

http://makinenin_ipsi:5000/api/doviz

örnek

http://127.0.0.1:5000/api/doviz

Çalışıyorsa aşağıdaki metotları kullanabilirsiniz.


RESTFUL-API KULLANIMI

/api/doviz

GET -> Güncel kur bilgilerinin tamamını verir.

POST -> JSON ile tarih bilgisi gönderirseniz "gun.ay.yil" formatında "01.04.2020" ilgili günün tüm kurlarını verir. Hangi kuru istediğinizi eklerseniz sadece o kurun bilgileri gelir.

        {"tarih":"01.04.2020"}  
        {"tarih":"01.04.2020","tur":"EUR"}  

/api/doviz/_TUR_

örnek : /api/Doviz/USD

GET -> Seçilen Kur türünün tüm bilgilerini verir.

POST -> Seçilen Kur türünün arşiv verisini almak için

        {"tarih":"01.04.2020"}  

/api/doviz/_yil/ay/gun_

örnek : /api/doviz/2020/02/08

GET -> Arşivden ilgili günün tüm kur bilgilerini verir.

/api/doviz/_yil/ay/gun/TUR_

örnek : /api/doviz/2020/02/010/USD

GET -> Arşivden ilgili günün seçilen kur bilgilerini verir.


Not : Arşiv özelliğinde tatil günleri için Tatil günü olduğunu belirten bir hata döner


Kendi Kodunuzda Nesne olarak Kullanımı :

--------------------------

sistemden zip'li olarak çekin veya "git clone" ile direk sistemden clone yapın.

git clone https://github.com/tayfunulu/DovizKurlari.git

cd DovizKurlari

python3 ornek.py

Kendi kodunuzda kullanmak için DovizKurlari.py dosyasını kendi projenizin klasörünüze taşıyın. Sonrasında DovizKurları Nesnesi yaratarak, DegerSor fonksiyonu ile istediğiniz değeri sistemden çekebilirsiniz. "DegerSor" fonksiyonu iki parametre alır.

DegerSor (Parametre1, Parametre2)

* Parametre verilmezse JSON olarak tüm veriler döner

Parametre1 = USD, EUR, AUD gibi para cinsinin resmi kısaltmaları

Parametre2 = Almak istediğiniz değer ;

"BanknoteBuying"    : Alış Değeri
"BanknoteSelling"   : Satış Değeri
"CrossRateUSD"      : USD ile çapraz kur
"CurrencyName"      : Resmi Adı
"ForexBuying"       : Forex Alış     
"ForexSelling"      : Forex Satış
"Kod"               : Kodu 
"Unit"              : 1
"isim"              : Türkçe Adı     

Arşivden veri çekmek

Eski bir tarihteki kur'u ögrenmek için Arsiv veya Arsiv_Tarih fonksiyonlarını kullanabilirsiniz.

Arsiv ( Gun, Ay, Yil,Parametre1, Parametre2)

Gun, Ay, Yil = integer veya string olabilir.

Arsiv_Tarih (Tarih,Parametre1, Parametre2)

Tarih = "01.02.2015" Şeklinde bir string veri olmalıdır.


Local'de Microservis olarak çalıştırılması.

python3 flask_doviz_server.py

Sonrasında 5000 portu dinlemeye başlar. Kullanımı yukarıda anlatıldığı gibidir.

dovizkurlari's People

Contributors

tayfunulu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dovizkurlari's Issues

Düzeltme

Unit değişkeni eksik. Indexlerin kaymasına neden oluyor.

DovizKurları.py

self.son [Kod] = [Kod,isim,CurrencyName,ForexBuying,ForexSelling,BanknoteBuying,BanknoteSelling,CrossRateUSD]

self.son [Kod] = [Kod,Unit,isim,CurrencyName,ForexBuying,ForexSelling,BanknoteBuying,BanknoteSelling,CrossRateUSD]

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.