PHPackages                             denizgolbas/laravel-tcmb-evds - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. denizgolbas/laravel-tcmb-evds

ActiveLibrary[API Development](/categories/api)

denizgolbas/laravel-tcmb-evds
=============================

TCMB EVDS2 API'si için Laravel paketi - Günlük döviz kurları

v1.0.0(5mo ago)42MITPHPPHP ^8.2CI passing

Since Dec 4Pushed 5mo agoCompare

[ Source](https://github.com/denizgolbas/laravel-tcmb-evds)[ Packagist](https://packagist.org/packages/denizgolbas/laravel-tcmb-evds)[ RSS](/packages/denizgolbas-laravel-tcmb-evds/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (11)Versions (2)Used By (0)

Laravel TCMB EVDS2 Günlük Döviz Kurları Paketi
==============================================

[](#laravel-tcmb-evds2-günlük-döviz-kurları-paketi)

🇹🇷 **Türkçe** | [🇬🇧 English](README_EN.md)

[![Latest Version on Packagist](https://camo.githubusercontent.com/acb07cdf09cf8493b220e3e279c557b20fbc5d65f396527f46441fce05e50502/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f64656e697a676f6c6261732f6c61726176656c2d74636d622d657664732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/denizgolbas/laravel-tcmb-evds)[![Total Downloads](https://camo.githubusercontent.com/6bbf02ea5d6b947843a48487758529255b52eabcaa9d6e493d79adda6915ac0f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f64656e697a676f6c6261732f6c61726176656c2d74636d622d657664732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/denizgolbas/laravel-tcmb-evds)[![License](https://camo.githubusercontent.com/32f922afe35ad8ed733d93fb1030b1f2d67aebc472d5fbdbb1c7cff9a9de28eb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f64656e697a676f6c6261732f6c61726176656c2d74636d622d657664732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/denizgolbas/laravel-tcmb-evds)[![PHP Version](https://camo.githubusercontent.com/14b1d1c14fc2269a611f21b12394f625dea45e936fc1fc6979acfaa515fc2d33/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f64656e697a676f6c6261732f6c61726176656c2d74636d622d657664732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/denizgolbas/laravel-tcmb-evds)[![Tests](https://github.com/denizgolbas/laravel-tcmb-evds/actions/workflows/tests.yml/badge.svg)](https://github.com/denizgolbas/laravel-tcmb-evds/actions/workflows/tests.yml)

TCMB EVDS2 API'sinin "Günlük Döviz Kurları (Daily FX Rates)" servisine özel geliştirilmiş, modern bir Laravel paketi.

Paket, chainable bir URL/Query Builder, esnek bir API istemcisi, publish edilebilir migration + model yapısı ve isteğe bağlı olarak gelen verilerin veritabanına kaydedilmesini destekler.

Bu paket; proje içinde kolayca günlük döviz kurlarını çekmek, işlemek, saklamak ve otomatikleştirmek isteyen Laravel geliştiricileri için tasarlanmıştır.

⚠️ ÖNEMLİ UYARI
---------------

[](#️-önemli̇-uyari)

**Bu paket resmi TCMB EVDS2 API'sine bağlanmak ve kurları kolayca işleyebilmek için oluşturulmuş bir araçtır. Resmi bir dağıtım değildir.**

**Kullanımda doğacak finansal hatalar ve kayıplar sizin sorumluluğunuzdadır.**

- Bu paket TCMB tarafından resmi olarak desteklenmemektedir
- Finansal işlemlerde kullanmadan önce mutlaka doğrulama yapın
- Kritik finansal kararlar için resmi TCMB kaynaklarını kullanın
- Paket kullanımından kaynaklanan herhangi bir zarardan paket geliştiricileri sorumlu değildir

🚀 Özellikler
------------

[](#-özellikler)

- 🔗 **Fluent URL Builder** - TCMB EVDS2 endpoint'ini zincir fonksiyonlar ile kolayca oluşturun
- 📅 **Hazır Tarih Kısayolları** - `today()`, `yesterday()`, `lastDays(7)`, `thisMonth()` gibi fonksiyonlarla hızlı tarih aralıkları
- 💾 **Opsiyonel Database Kaydı** - API'den gelen döviz kurlarını model ile veritabanına kaydedebilirsiniz
- ⚙️ **Publish Edilebilir Model ve Migration** - İsterseniz kendi projenizde model/migration dosyalarını özelleştirin
- 🧩 **Config Tabanlı Esneklik** - Varsayılan dövizler, tarih ayarları ve API key config üzerinden yönetilir
- 🎯 **Alış/Satış ve Forex/Banknote Ayrımı** - Döviz alış, döviz satış, efektif alış, efektif satış kurlarını ayrı ayrı çekebilirsiniz
- 🔄 **Null Değer Yönetimi** - Hafta sonları ve tatil günleri için esnek null değer işleme stratejileri
- 🧪 **Unit, Feature ve Matrix Testleri** - Laravel 10/11 + PHP 8.2/8.3 kombinasyonları için GitHub Actions test workflow'u
- 📡 **Laravel Http Client ile API İletişimi** - Temiz, güvenli ve performanslı bir API client

📦 Kurulum
---------

[](#-kurulum)

Paketi Composer ile yükleyin:

```
composer require denizgolbas/laravel-tcmb-evds
```

### Config Dosyasını Publish Etme

[](#config-dosyasını-publish-etme)

Config dosyasını publish etmek için:

```
php artisan vendor:publish --tag=evds-config
```

Bu işlem `config/evds.php` dosyasını oluşturur. `.env` dosyanıza API anahtarınızı ekleyin:

```
TCMB_EVDS_API_KEY=your-api-key-here
TCMB_EVDS_BASE_ENDPOINT=https://evds2.tcmb.gov.tr/service/evds/
TCMB_EVDS_NULL_HANDLING=previous_day
```

**Önemli:** API anahtarınızı [TCMB EVDS2 Kullanıcı Dokümanları](https://evds2.tcmb.gov.tr/index.php?/evds/userDocs) sayfasından alabilirsiniz.

### Migration'ları Publish Etme

[](#migrationları-publish-etme)

Migration dosyalarını publish etmek için:

```
php artisan vendor:publish --tag=evds-migrations
```

Ardından migration'ları çalıştırın:

```
php artisan migrate
```

### Model'i Publish Etme

[](#modeli-publish-etme)

Model dosyasını publish etmek için:

```
php artisan vendor:publish --tag=evds-model
```

Bu işlem `app/Models/EvdsCurrencyRate.php` dosyasını oluşturur. İsterseniz bu modeli extend ederek özelleştirebilirsiniz.

🛠️ Kullanım Örnekleri
---------------------

[](#️-kullanım-örnekleri)

### Temel Kullanım

[](#temel-kullanım)

```
use Denizgolbas\LaravelTcmbEvds\Facades\Evds;

// Tek döviz kuru çekme (otomatik olarak hem alış hem satış, hem forex hem banknote)
$data = Evds::currency('USD')
    ->today()
    ->get();

// Çoklu döviz kuru çekme
$data = Evds::currency(['USD', 'EUR'])
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->get();
```

### Alış/Satış Seçimi

[](#alışsatış-seçimi)

```
// Sadece satış kurları (Forex Selling - Döviz Satış)
$data = Evds::currency('USD')
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->type('sell')
    ->get();

// Sadece alış kurları (Forex Buying - Döviz Alış)
$data = Evds::currency('USD')
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->type('buy')
    ->get();

// Hem alış hem satış (varsayılan)
$data = Evds::currency('USD')
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->get();
```

### Forex/Banknote (Döviz/Efektif) Seçimi

[](#forexbanknote-dövizefektif-seçimi)

```
// Sadece Forex kurları (Döviz)
$data = Evds::currency('USD')
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->marketType('forex')
    ->get();

// Sadece Banknote kurları (Efektif)
$data = Evds::currency('USD')
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->marketType('banknote')
    ->get();

// Hem forex hem banknote (varsayılan)
$data = Evds::currency('USD')
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->get();
```

### Kombinasyon Örnekleri

[](#kombinasyon-örnekleri)

```
// Forex Satış (Döviz Satış)
$data = Evds::currency(['USD', 'EUR'])
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->type('sell')
    ->marketType('forex')
    ->get();

// Banknote Alış (Efektif Alış)
$data = Evds::currency('USD')
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->type('buy')
    ->marketType('banknote')
    ->get();

// Banknote Satış (Efektif Satış)
$data = Evds::currency('EUR')
    ->today()
    ->type('sell')
    ->marketType('banknote')
    ->get();
```

### Tarih Kısayolları

[](#tarih-kısayolları)

```
// Bugün
$data = Evds::currency('USD')->today()->get();

// Dün
$data = Evds::currency('USD')->yesterday()->get();

// Son 7 gün
$data = Evds::currency('USD')->lastDays(7)->get();

// Bu hafta
$data = Evds::currency('USD')->thisWeek()->get();

// Geçen hafta
$data = Evds::currency('USD')->lastWeek()->get();

// Bu ay
$data = Evds::currency('USD')->thisMonth()->get();

// Geçen ay
$data = Evds::currency('USD')->lastMonth()->get();
```

### Null Değer Yönetimi (Hafta Sonları ve Tatil Günleri)

[](#null-değer-yönetimi-hafta-sonları-ve-tatil-günleri)

```
// Bir önceki günün değerini kullan (varsayılan)
$data = Evds::currency('USD')
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->nullValueHandling('previous_day')
    ->get();

// Geçen haftanın ortalamasını kullan
$data = Evds::currency('USD')
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->nullValueHandling('last_week_avg')
    ->get();

// Null değerleri atla (kaydetme)
$data = Evds::currency('USD')
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->nullValueHandling('skip')
    ->get();
```

### Veritabanına Kaydetme

[](#veritabanına-kaydetme)

```
// Basit kaydetme
$saved = Evds::currency('USD')
    ->today()
    ->save();

// Kombinasyonlu kaydetme
$saved = Evds::currency(['USD', 'EUR'])
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->type('sell')
    ->marketType('forex')
    ->nullValueHandling('previous_day')
    ->roundDecimals(2) // 2 ondalık basamağa yuvarla
    ->save();

// Kaydedilen verileri kullanma
foreach ($saved as $rate) {
    echo "{$rate->code}: {$rate->rate} ({$rate->date->format('Y-m-d')})\n";
    echo "Tip: {$rate->type}, Market: {$rate->marketType}\n";
}
```

### URL Oluşturma

[](#url-oluşturma)

```
// URL'i görmek için
$url = Evds::currency(['USD', 'EUR'])
    ->startDate('2024-01-01')
    ->endDate('2024-01-10')
    ->type('sell')
    ->marketType('forex')
    ->build();

echo $url;
// Çıktı: https://evds2.tcmb.gov.tr/service/evds/series=TP.DK.USD.S.YTL-TP.DK.EUR.S.YTL&startDate=01-01-2024&endDate=10-01-2024&type=json
```

### Model ile Veritabanından Veri Çekme

[](#model-ile-veritabanından-veri-çekme)

```
use Denizgolbas\LaravelTcmbEvds\Models\EvdsCurrencyRate;
use Carbon\Carbon;

// Bugünün USD kuru
$rate = EvdsCurrencyRate::where('code', 'USD')
    ->where('date', Carbon::today())
    ->first();

// Belirli bir tarih aralığındaki kurlar
$rates = EvdsCurrencyRate::where('code', 'USD')
    ->whereBetween('date', ['2024-01-01', '2024-01-10'])
    ->get();

// Sadece satış kurları
$sellRates = EvdsCurrencyRate::where('code', 'USD')
    ->sell()
    ->get();

// Sadece forex kurları
$forexRates = EvdsCurrencyRate::where('code', 'USD')
    ->forex()
    ->get();

// Kombinasyon: USD Forex Satış
$usdForexSell = EvdsCurrencyRate::where('code', 'USD')
    ->sell()
    ->forex()
    ->whereBetween('date', ['2024-01-01', '2024-01-10'])
    ->orderBy('date', 'asc')
    ->get();

// En son kaydedilen USD kuru
$latestUsd = EvdsCurrencyRate::where('code', 'USD')
    ->latest('date')
    ->first();

// Her döviz için en son kurlar
$latestRates = EvdsCurrencyRate::whereIn('code', ['USD', 'EUR'])
    ->latest('date')
    ->get()
    ->groupBy('code');
```

### Gerçek Dünya Örnekleri

[](#gerçek-dünya-örnekleri)

#### Örnek 1: Günlük Döviz Kurlarını Çekip Kaydetme

[](#örnek-1-günlük-döviz-kurlarını-çekip-kaydetme)

```
use Denizgolbas\LaravelTcmbEvds\Facades\Evds;

// Her gün çalışacak bir scheduled task
public function handle()
{
    // USD, EUR, GBP için bugünün kurlarını çek ve kaydet
    $saved = Evds::currency(['USD', 'EUR', 'GBP'])
        ->today()
        ->type('sell')
        ->marketType('forex')
        ->nullValueHandling('previous_day')
        ->save();

    return "{$saved->count()} adet kur kaydedildi.";
}
```

#### Örnek 2: Belirli Tarih Aralığındaki Kurları Raporlama

[](#örnek-2-belirli-tarih-aralığındaki-kurları-raporlama)

```
use Denizgolbas\LaravelTcmbEvds\Facades\Evds;

$data = Evds::currency(['USD', 'EUR'])
    ->startDate('2024-01-01')
    ->endDate('2024-01-31')
    ->type('sell')
    ->marketType('forex')
    ->get();

$report = [];
foreach ($data as $item) {
    $report[$item->code][$item->date->format('Y-m-d')] = $item->rate;
}

return view('exchange-rates', ['report' => $report]);
```

#### Örnek 3: Model ile Veri Analizi

[](#örnek-3-model-ile-veri-analizi)

```
use Denizgolbas\LaravelTcmbEvds\Models\EvdsCurrencyRate;

// Son 30 günün ortalama USD kuru
$avgRate = EvdsCurrencyRate::where('code', 'USD')
    ->sell()
    ->forex()
    ->where('date', '>=', Carbon::now()->subDays(30))
    ->avg('rate');

// En yüksek ve en düşük kurlar
$maxRate = EvdsCurrencyRate::where('code', 'USD')
    ->sell()
    ->forex()
    ->max('rate');

$minRate = EvdsCurrencyRate::where('code', 'USD')
    ->sell()
    ->forex()
    ->min('rate');
```

#### Örnek 4: Hata Yönetimi

[](#örnek-4-hata-yönetimi)

```
use Denizgolbas\LaravelTcmbEvds\Facades\Evds;
use Denizgolbas\LaravelTcmbEvds\Exceptions\InvalidConfigurationException;
use Denizgolbas\LaravelTcmbEvds\Exceptions\ApiException;

try {
    $data = Evds::currency('USD')
        ->today()
        ->get();
} catch (InvalidConfigurationException $e) {
    // API key eksik veya yanlış yapılandırılmış
    logger()->error('EVDS Config Error: ' . $e->getMessage());
    return response()->json(['error' => 'API yapılandırma hatası'], 500);
} catch (ApiException $e) {
    // API isteği başarısız
    logger()->error('EVDS API Error: ' . $e->getMessage());
    return response()->json(['error' => 'API isteği başarısız'], 500);
} catch (\Exception $e) {
    // Genel hata
    logger()->error('EVDS Error: ' . $e->getMessage());
    return response()->json(['error' => 'Beklenmeyen bir hata oluştu'], 500);
}
```

📚 Builder Metodları Referansı
-----------------------------

[](#-builder-metodları-referansı)

### `currency(array|string $codes)`

[](#currencyarraystring-codes)

Döviz kodlarını ayarlar. Tek veya çoklu döviz kodu kabul eder.

```
Evds::currency('USD')->get();
Evds::currency(['USD', 'EUR', 'GBP'])->get();
```

### `startDate(Carbon|string $date)`

[](#startdatecarbonstring-date)

Başlangıç tarihini ayarlar. Carbon instance veya string formatında tarih kabul eder.

```
Evds::currency('USD')->startDate('2024-01-01')->get();
Evds::currency('USD')->startDate(Carbon::parse('2024-01-01'))->get();
```

### `endDate(Carbon|string $date)`

[](#enddatecarbonstring-date)

Bitiş tarihini ayarlar. Carbon instance veya string formatında tarih kabul eder.

```
Evds::currency('USD')->endDate('2024-01-10')->get();
```

### `type(array|string $types)`

[](#typearraystring-types)

Alış/Satış tipini ayarlar. `'buy'`, `'sell'` veya `['buy', 'sell']` kabul eder.

```
Evds::currency('USD')->type('sell')->get();
Evds::currency('USD')->type('buy')->get();
Evds::currency('USD')->type(['buy', 'sell'])->get();
```

### `marketType(array|string $marketTypes)`

[](#markettypearraystring-markettypes)

Market tipini ayarlar. `'forex'`, `'banknote'` veya `['forex', 'banknote']` kabul eder.

```
Evds::currency('USD')->marketType('forex')->get();
Evds::currency('USD')->marketType('banknote')->get();
Evds::currency('USD')->marketType(['forex', 'banknote'])->get();
```

### `nullValueHandling(string $strategy)`

[](#nullvaluehandlingstring-strategy)

Null değer işleme stratejisini ayarlar. `'previous_day'`, `'last_week_avg'`, `'skip'` kabul eder.

```
Evds::currency('USD')->nullValueHandling('previous_day')->get();
Evds::currency('USD')->nullValueHandling('last_week_avg')->get();
Evds::currency('USD')->nullValueHandling('skip')->get();
```

### `build()` veya `toUrl()`

[](#build-veya-tourl)

URL'i oluşturur ve döndürür.

```
$url = Evds::currency('USD')->today()->build();
```

### `get()`

[](#get)

API'den veri çeker ve Collection döndürür.

```
$data = Evds::currency('USD')->today()->get();
```

### `save()`

[](#save)

API'den veri çeker ve veritabanına kaydeder. Collection döndürür.

```
// Basit kaydetme (API'den gelen değer olduğu gibi kaydedilir)
$saved = Evds::currency('USD')->today()->save();

// Ondalık basamak sayısını yuvarlayarak kaydetme
$saved = Evds::currency('USD')
    ->today()
    ->roundDecimals(2) // 2 ondalık basamağa yuvarla (örn: 45.67)
    ->save();

// Farklı yuvarlama modları
$saved = Evds::currency('USD')
    ->today()
    ->roundDecimals(2, 'floor') // Aşağı yuvarla (örn: 45.67 -> 45.67, 45.678 -> 45.67)
    ->save();

$saved = Evds::currency('USD')
    ->today()
    ->roundDecimals(2, 'ceil') // Yukarı yuvarla (örn: 45.67 -> 45.67, 45.671 -> 45.68)
    ->save();
```

🧪 Testler
---------

[](#-testler)

Testleri çalıştırmak için:

```
composer test
```

veya

```
vendor/bin/phpunit --testdox
```

### Test Kapsamı

[](#test-kapsamı)

- ✅ Builder URL oluşturma testleri
- ✅ Tarih metodları testleri
- ✅ API client testleri (mock ile)
- ✅ Database kayıt testleri
- ✅ Facade testleri
- ✅ Null değer yönetimi testleri

### Matrix Testler

[](#matrix-testler)

GitHub Actions üzerinde şu kombinasyonlar test edilir:

- PHP 8.2 + Laravel 10.x
- PHP 8.2 + Laravel 11.x
- PHP 8.3 + Laravel 10.x
- PHP 8.3 + Laravel 11.x

### GitHub Actions için API Key Kurulumu

[](#github-actions-için-api-key-kurulumu)

GitHub Actions'da testlerin çalışması için (opsiyonel - testler mock kullanır):

1. GitHub repository'nize gidin
2. **Settings** → **Secrets and variables** → **Actions** seçeneğine gidin
3. **New repository secret** butonuna tıklayın
4. Şu bilgileri girin:
    - **Name**: `TCMB_EVDS_API_KEY`
    - **Secret**: API anahtarınızı yapıştırın
5. **Add secret** butonuna tıklayın

**Not:** Testler için gerçek API key'e ihtiyaç yoktur çünkü testler mock response kullanır. Ancak gerçek API testleri yapmak isterseniz secret'ı ekleyebilirsiniz.

⚙️ Konfigürasyon
----------------

[](#️-konfigürasyon)

Config dosyası (`config/evds.php`) aşağıdaki ayarları içerir:

```
return [
    'api_key' => env('TCMB_EVDS_API_KEY', ''),
    'base_endpoint' => env('TCMB_EVDS_BASE_ENDPOINT', 'https://evds2.tcmb.gov.tr/service/evds/'),
    'default_currencies' => ['USD', 'EUR', 'GBP'],
    'default_start_date' => null,
    'default_end_date' => null,
    'default_frequency' => 'daily',
    'null_value_handling' => env('TCMB_EVDS_NULL_HANDLING', 'previous_day'),
    'model' => \Denizgolbas\LaravelTcmbEvds\Models\EvdsCurrencyRate::class,
];
```

### Null Değer Yönetimi

[](#null-değer-yönetimi)

Hafta sonları ve tatil günleri için null değerlerin nasıl işleneceğini ayarlayabilirsiniz:

- `'previous_day'`: Bir önceki günün değerini kullan (varsayılan)
- `'last_week_avg'`: Geçen haftanın ortalamasını kullan
- `'skip'`: Null değerleri atla, kaydetme

### Model Özelleştirme

[](#model-özelleştirme)

Kendi modelinizi kullanmak için config dosyasında `model` ayarını değiştirin:

```
'model' => \App\Models\CustomCurrencyRate::class,
```

Kendi modeliniz `EvdsCurrencyRate` modelini extend etmelidir:

```
namespace App\Models;

use Denizgolbas\LaravelTcmbEvds\Models\EvdsCurrencyRate as BaseModel;

class CustomCurrencyRate extends BaseModel
{
    // Özelleştirmeleriniz
}
```

🔧 Geliştirme
------------

[](#-geliştirme)

### Gereksinimler

[](#gereksinimler)

- PHP &gt;= 8.2
- Laravel &gt;= 10.0
- Composer

### Geliştirme Ortamı Kurulumu

[](#geliştirme-ortamı-kurulumu)

```
git clone https://github.com/denizgolbas/laravel-tcmb-evds.git
cd laravel-tcmb-evds
composer install
```

### Kod Standartları

[](#kod-standartları)

Paket PSR-12 kod standartlarına uygundur. Kodları kontrol etmek için:

```
composer lint
```

📄 Lisans
--------

[](#-lisans)

Bu paket MIT lisansı altında lisanslanmıştır. Detaylar için [LICENSE](LICENSE) dosyasına bakın.

🤝 Katkıda Bulunma
-----------------

[](#-katkıda-bulunma)

Katkılarınızı bekliyoruz! Lütfen:

1. Fork edin
2. Feature branch oluşturun (`git checkout -b feature/amazing-feature`)
3. Değişikliklerinizi commit edin (`git commit -m 'Add some amazing feature'`)
4. Branch'inizi push edin (`git push origin feature/amazing-feature`)
5. Pull Request oluşturun

📞 Destek
--------

[](#-destek)

Sorularınız veya önerileriniz için:

- Issue açın: [GitHub Issues](https://github.com/denizgolbas/laravel-tcmb-evds/issues)
- Email:

🙏 Teşekkürler
-------------

[](#-teşekkürler)

- TCMB EVDS2 API ekibine teşekkürler
- Laravel topluluğuna teşekkürler

---

⭐ Bu paketi beğendiyseniz yıldız vermeyi unutmayın!

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance72

Regular maintenance activity

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 92% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

159d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/52836cdadce7cb1e93e7c4c4e14fe6b64325485a6cfac5b371db871564c7c913?d=identicon)[denizgolbas](/maintainers/denizgolbas)

---

Top Contributors

[![denizgolbas](https://avatars.githubusercontent.com/u/27892099?v=4)](https://github.com/denizgolbas "denizgolbas (23 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")

---

Tags

laravelexchange ratetcmbdovizevdstcmb-api

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/denizgolbas-laravel-tcmb-evds/health.svg)

```
[![Health](https://phpackages.com/badges/denizgolbas-laravel-tcmb-evds/health.svg)](https://phpackages.com/packages/denizgolbas-laravel-tcmb-evds)
```

###  Alternatives

[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k25.9M107](/packages/laravel-cashier)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k12.1M99](/packages/laravel-pulse)[essa/api-tool-kit

set of tools to build an api with laravel

52680.5k](/packages/essa-api-tool-kit)[laravel/cashier-paddle

Cashier Paddle provides an expressive, fluent interface to Paddle's subscription billing services.

264778.4k3](/packages/laravel-cashier-paddle)[simplestats-io/laravel-client

Client for SimpleStats!

4515.5k](/packages/simplestats-io-laravel-client)[ryangjchandler/bearer

Minimalistic token-based authentication for Laravel API endpoints.

8129.8k](/packages/ryangjchandler-bearer)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
