Detaylar ve Dokümantasyon
Kapsamlı Dokümantasyon
Bu proje için detaylı kullanım kılavuzu, API referansı ve geliştirme notları GitHub'da bulunan README dosyasında yer almaktadır.
Proje Hakkında
YokAPI
YÖK Verilerini Normalize Eden API Katmanı
Proje Hakkında
YokAPI, YÖK Atlas verilerini tek bir standardize edilmiş API üzerinden sunan, geliştiriciler için tasarlanmış bir veri katmanıdır. Asenkron yapıya sahip toplu ve hızlı veri çekme işlemleri için YÖK Atlas'ın yıllara göre dağınık ve farklılaşan site yapısını normalize edip standartlaştırılmış bir şekilde JSON olarak sunan güçlü bir araçtır. Farklı kaynaklardan gelen eğitim verilerini birleştirip, tutarlı bir format halinde sunarak diğer projelerde kullanımını kolaylaştırır.
Örnek Kullanım
from YokAPI import Lisans, Onlisans
import asyncio
async def main():
async with Lisans(program_id=108210665, year=2024) as lisans:
# Normalize edilmiş veri al
data = await lisans.get_program_data()
print(data)
if __name__ == "__main__":
asyncio.run(main())
Proje İmpactı
YokAPI, Sınavİzcisi.com projesinin temel veri katmanını oluşturuyor ve diğer geliştiricilerin de eğitim verilerine kolayca erişmesini sağlıyor.
Teknik Detaylar
API Tasarımı & Mimarisi
Asenkron İşlemler
aiohttp ve asyncio kullanarak yüksek performanslı, bloklamayan HTTP istekleri
- Eşzamanlı istek yönetimi
- Bağlantı havuzu optimizasyonu
- Zaman aşımı ve yeniden deneme mekanizmaları
Veri Modelleme
Pydantic ile güçlü tip kontrolü ve veri validasyonu
- JSON çıktılarının otomatik hazırlanması
- Tip ipuçlarıyla daha güvenli geliştirme
- Özel doğrulama kurallarıyla veri kontrolü
Kod Mimarisi
Oturum Yönetimi
Esnek session yönetimi ile kullanıcı tercihine göre:
# Otomatik oturum
async with Lisans(program_id=123) as api:
data = await api.get_data()
# Özel oturum
session = aiohttp.ClientSession()
api = Lisans(program_id=123, session=session)
Veri İşleme Pipeline
Veri Çekme
YÖK Atlas'tan ham verilerin asenkron çekilmesi
Normalizasyon
Tutarsız formatların standart hale getirilmesi
Validasyon
Pydantic modeller ile veri doğrulaması
API Yanıtı
Standartlaştırılmış JSON yanıtı
Diğer Projeler
Geliştirdiğim diğer projelere de göz atın
Sınavİzcisi
YKS yerleşme verilerinin ve üniversite yorumlarının yapay zekâ ile analiz edilip kullanıcıya sunduğum web platformu.
EBA Puan Botu
EBA'da puan kasmayı sağlayan masaüstü arayüze sahip bir bot.
Türkiye Üniversite Bölüm Verileri (2019–2024)
YÖK Atlas ve ÖSYM kaynaklarından toplanan 2019–2024 lisans/önlisans verilerini temizleyip standardize ederek analize hazır hale getiren kapsamlı veri seti.