YZ İle  “Döviz / Kripto Dönüştürücü REST API” Geliştirme

YZ İle  “Döviz / Kripto Dönüştürücü REST API” Geliştirme

Hedef: Python (FastAPI) kullanarak, dışarıdan güncel kurları çeken, önbellekleme (caching) yapan ve Swagger dokümantasyonu olan profesyonel bir API geliştirmek.

1. Aşama: Mimarinin Tasarlanması ve Yaptırılacak İşin Tanımı

Yazılıma başlamadan önce yapay zekaya doğrudan kod yazdırmak yerine, projeyi mimari açıdan planlamasını isteyin.

Prompt 1 (Mimarı Rolü):Sen kıdemli bir Backend Mimarısın. Python ve FastAPI kullanarak bir Döviz Dönüştürücü API geliştireceğiz. Sistem dış bir API’den (örn. Exchangerate-api) kurları çekecek, her istekte dış sunucuya gitmemek için lütfı memory-cache (veya functools) kullanacak. Bana bu projenin dosya yapısını, kullanılacak kütüphaneleri ve temel mimari adımlarını listeler misin?”

YZ’nin Çıktısı (Özet):

  • main.py (API rotaları ve FastAPI uygulaması)
  • services.py (Dış API çağrıları ve dönüştürme mantığı)
  • schemas.py (Pydantic veri doğrulama modelleri)
  • requirements.txt (fastapi, uvicorn, requests, pydantic)

2. Aşama: Veri Modelleri ve İş Mantığının (Business Logic) Üretilmesi

Dosya yapısı belirlendikten sonra kod bloklarını modüler olarak ürettirin.

Prompt 2 (Kod Üretimi – Veri Modelleri):FastAPI projemiz için schemas.py dosyasını yaz. İstek (Request) modeli olarak from_currency, to_currency ve amount almalı. Yanıt (Response) modeli olarak from_currency, to_currency, original_amount, converted_amount ve rate döndürmeli. Pydantic v2 uyumlu olsun ve tip kontrolleri/örnek değerler (json_schema_extra) içersin”.

Prompt 3 (İş Mantığı ve Cache):Şimdi services.py dosyasını yaz. Bu dosya dış bir API’den güncel döviz kurunu çekip hesaplama yapacak. Dış API erişimi başarısız olursa uygun bir Exception fırlatmalı. Ayrıca functools.lru_cache veya zamana dayalı basit bir önbellek mekanizması ekleyerek aynı kurlar için sürekli dış servise istek atılmasını engelle”.

3. Aşama: API Rotalarının Birleştirilmesi (main.py)

Şimdi üretilen parçaları FastAPI’nin ana uygulamasına bağlıyoruz.

4. Aşama: Birim Testlerinin (Unit Test) Otomatik Yazdırılması

Bir YZ modelinin en başarılı olduğu alanlardan biri, yazılan koda uygun Unit Test üretmektir.

Prompt 4 (Test Yazımı):Yukarıda yazdığımız services.py ve main.py kodları için pytest ve FastAPI TestClient kullanarak birim testleri yaz. Dış API çağrılarını unittest.mock (Mocking) kullanarak simüle et, böylece testler çalışırken gerçek internet isteği atılmasın”.

5. Aşama: Refactoring ve Hata Ayıklama (Debugging)

Kod çalıştıktan sonra güvenlik, performans ve okunabilirlik taraması yaptırın.

Prompt 5 (Kod İyileştirme ve Güvenlik): “Yazdığımız bu tüm kodları incele:

  1. Herhangi bir bellek sızıntısı veya güvenlik açığı var mı?
  2. Type hint (tip ipuçları) eksiksiz mi?
  3. Hata yönetimi (Error Handling) edge-case’leri (örneğin eksi miktar girilmesi, geçersiz para birimi kodu) kapsıyor mu? Eksikleri giderip production-ready (canlıya alınabilir) hale getir”.

Dr. Cihat KARTAL

YZ Hocası'nın kurucu editörü ve pazarlama ile dijitalleşme eksenindeki disiplinlerarası çalışmalarıyla tanınan bir akademisyendir. Doktora sonrası çalışmalarını dijital pazarlama ve YZ teknolojilerine odaklamıştır. Bilimsel araştırmaları ve danışmanlıkları; YZ'nın pazarlama süreçlerine entegrasyonu ve dijital dönüşüm üzerine yoğunlaşmaktadır. Sektörel YZ ile Güvenilir YZ alanlarında çok sayıda sertifika programını tamamlamıştır. Çalışmalarında yalnızca YZ'nın teknik yönlerine değil; etik ilkeler, güvenilir YZ uygulamaları ve sektörlere yönelik kullanım senaryolarına da odaklanmaktadır. Araştırma projelerinde dijital dönüşüm, YZ uygulamaları ve dijital çağda pazarlama konularında çalışmalarını sürdürmektedir.

⚡ HAFTANIN PROMPTU

Yapay Zeka kolaylıkla bir kahve falcısına dönüşebiliyor.

Deneyimli bir kahve falcısı gibi davran. Ancak bunun tamamen eğlence ve yaratıcılık amacıyla yapılan kurgusal bir yorum olduğunu unutma; doğaüstü güçlere sahipmiş gibi davranma veya kesin gelecek tahminlerinde bulunma. Hayali bir kahve fincanına bakarak bana özgün bir fal yorumu yap. Yorumunda şu bölümler yer alsın: ☕ Kişiliğim: Fincandaki sembollerden yola çıkarak karakterime dair eğlenceli ve yaratıcı çıkarımlar yap. 📅 Önümüzdeki 7 Gün: Yakın gelecekte karşılaşabileceğim hayali ama eğlenceli gelişmelerden bahset. 🍀 Şans Sembolüm: Fincanda gördüğün uydurma bir sembolü (örneğin pusula, baykuş, yıldız, anahtar vb.) seç ve bunun neyi temsil ettiğini anlat. 💬 Günün Tavsiyesi: Bana tebessüm ettirecek, kısa ama anlamlı bir tavsiye ver. 😂 Bonus: Falın sonunda beni şaşırtacak komik bir "küçük detay" ekle. Örneğin "Fincanın dibinde kahve kupasını yıkamamak için bahane arayan bir tembellik perisi görüyorum." gibi tamamen hayal ürünü bir yorum yap. Üslubun sıcak, samimi ve mizahi olsun. En fazla 300 kelime kullan ve her falın tamamen özgün olmasını sağla.

Yorumlar (0)

Bir Yorum Bırakın