Jetpack Compose ile Anime Ansiklopedi Uygulaması Geliştirme | Android Geliştirme

ibrahimcanerdogan
3 min readOct 31, 2024

--

JetBorutoKtorServerApp adlı projeyi detaylandırarak, Ktor framework’ünü kullanarak bir API geliştirme sürecini ele alacağız. Bu proje, Jetpack Compose ve Kotlin gibi modern Android teknolojileriyle uyumlu bir şekilde çalışan bir backend uygulamasıdır ve Boruto anime serisi için karakter verilerini sağlamayı amaçlamaktadır. İşte bu proje hakkında bilmeniz gerekenler:

➡️ Jetpack Compose: İleri Seviye Uygulama Geliştirme Rehberi 🚀

➡️ Android App Development with Google MLKIT 🚀

➡️ Kotlin Interview Bootcamp: From Zero to Android Mastery 2024 🚀

➡️ Türk Hava Yolları Uçuş Asistanı | Kotlin Android Geliştirme 🚀

Projenin Amacı ve İşlevi

JetBorutoKtorServerApp, Boruto anime karakterlerine dair bilgileri bir API aracılığıyla sunmayı amaçlayan bir backend projesidir. Bu API, karakterlerin detaylı bilgilerini JSON formatında sağlar ve mobil uygulama veya web istemcisi gibi farklı platformlarla entegrasyon için uygundur. Böylece, front-end geliştiriciler, Boruto karakterlerini görüntülemek veya detaylı bilgi sağlamak için bu API’yi kullanabilirler.

Teknoloji Seçimi: Neden Ktor?

Ktor, Kotlin tabanlı bir framework olup özellikle yüksek performans gerektiren backend projeleri için idealdir. Basit, esnek ve hafif yapısı ile dikkat çeker. Ktor’un asenkron yapısı sayesinde API’nin yanıt süresi optimize edilmiştir, bu da kullanıcı deneyimini iyileştirir. Ayrıca, Kotlin ile tamamen uyumlu olduğundan, Android geliştiricileri için öğrenme eğrisini minimize eder.

Proje Yapısı

Projede temel olarak aşağıdaki ana bileşenler bulunmaktadır:

  1. Modeller (Models): Karakter verilerini temsil eden Character gibi veri sınıfları içerir. Bu sınıflar, JSON verisi olarak API'ye döndürülecek olan yapıları tanımlar.
  2. Rotalar (Routes): Ktor framework’ünün sunduğu routing sistemi kullanılarak çeşitli endpointler tanımlanır. Örneğin, /characters endpoint'i tüm karakterlerin listesini dönerken, /characters/{id} belirli bir karakterin detaylı bilgilerini döner.
  3. Veritabanı (Database): Proje statik veriler ile başlasa da, ileriye dönük olarak bir veritabanı entegrasyonu için yapılandırılabilir. Şu anda, JSON dosyalarından okuma yaparak veri sağlar.
  4. Error Handling (Hata Yönetimi): Kullanıcı hatalarını yönetmek için exception handling mekanizmaları bulunmaktadır. Böylece, istemci tarafından yapılan geçersiz talepler kullanıcıya uygun hata mesajları ile döndürülür.

Öne Çıkan Özellikler

  • CRUD İşlemleri: API, karakterler üzerinde temel CRUD (Create, Read, Update, Delete) işlemlerini destekler. Bu sayede, karakter verileri üzerinde güncelleme veya silme gibi işlemler kolayca yapılabilir.
  • JSON Formatı: JSON formatında veri sağlayarak, API’nin çoğu front-end framework ile uyumlu olmasını sağlar.
  • Kapsamlı Dokümantasyon: API’nin her bir endpoint’i için kapsamlı dokümantasyon bulunmaktadır. Bu dokümantasyon, API’yi kullanacak olan geliştiricilerin daha hızlı ve doğru bir şekilde entegre olmalarını sağlar.

Örnek Kullanım

Bir örnek istek üzerinden bu API’nin nasıl çalıştığını görelim:

Tüm Karakterleri Listeleme

GET /getAllHeroes

Bu endpoint, Boruto karakterlerinin tüm listesini döner.

Belirli Bir Karakteri Görüntüleme

GET /searchHeroes

Bu istekte, {id} yerine karakterin kimliği yazılarak, belirli bir karakterin detaylı bilgilerine ulaşılır.

Geliştirme ve Test Süreci

JetBorutoKtorServerApp, Test Driven Development (TDD) metodolojisi kullanılarak geliştirilmiştir. API’nin her bir fonksiyonu için ayrı testler yazılmış ve hata payı minimize edilmiştir. Özellikle veri doğruluğu ve hata yönetimi üzerine yoğunlaşılmıştır. Böylece, istemci tarafından gelen her talep doğru şekilde ele alınmakta ve beklenmeyen hataların önüne geçilmektedir.

Sonuç

JetBorutoKtorServerApp, anime karakterleri için tasarlanmış bir API örneği olarak Ktor’un gücünü ve esnekliğini ortaya koymaktadır. Proje, sadece bir anime uygulaması için değil, farklı veri setlerine sahip uygulamalar için de kolayca uyarlanabilir. Geliştiricilerin Boruto serisinin karakterlerine dair hızlı ve verimli bir API ile çalışmasına olanak tanıyan bu proje, Ktor’un kullanım kolaylığı ve performans odaklı yapısıyla dikkat çekmektedir.

Bu proje hakkında daha fazla bilgi almak ve kaynak kodlarını incelemek için GitHub sayfasını ziyaret edebilirsiniz: JetBorutoKtorServerApp GitHub.

İbrahim Can Erdoğan

LINKEDIN

YOUTUBE

UDEMY

GITHUB

--

--

ibrahimcanerdogan
ibrahimcanerdogan

Written by ibrahimcanerdogan

Hi, My name is Ibrahim, I am developing ebebek android app within Ebebek. I publish various articles in the field of programming and self-improvement.

No responses yet