Spotify Dinleme Geçmişi

Spotify History projesi Spotify API’si aracılığıyla elde edilen kişisel müzik dinleme verilerinin analizi, işlenmesi ve görselleştirilmesi amacıyla geliştirilmiş bir web uygulamasıdır.

Teknik Özellikler ve Metodoloji:

  1. Veri Kaynağı ve İşleme:
    • Spotify Web API kullanılarak kullanıcının dinleme geçmişi verileri elde edilmektedir.
    • Veriler, Google Apps Script aracılığıyla Google Sheets’e periyodik olarak aktarılmakta ve işlenmektedir.
    • Veri işleme sürecinde, şarkı adı, sanatçı, albüm, tür ve dinlenme zamanı gibi meta veriler yapılandırılmaktadır.
  2. Backend Mimarisi:
    • Google Apps Script, serverless bir backend olarak kullanılmaktadır.
    • RESTful API prensiplerine uygun olarak tasarlanmış endpoints, istemci tarafından veri çekme işlemlerini gerçekleştirmektedir.
    • CORS (Cross-Origin Resource Sharing) protokolü uygulanarak güvenli cross-domain iletişim sağlanmıştır.
  3. Frontend Geliştirme:
    • Saf JavaScript kullanılarak geliştirilen frontend, herhangi bir ek framework gerektirmemektedir.
    • DOM manipülasyonu ve event handling için modern JavaScript teknikleri uygulanmıştır.
    • Asenkron veri çekme işlemleri için Fetch API kullanılmıştır.
  4. Responsive Tasarım:
    • CSS3 media queries kullanılarak farklı ekran boyutlarına uyum sağlayan responsive bir tasarım oluşturulmuştur.
    • Mobil cihazlarda optimum kullanıcı deneyimi için tablo yapısı dinamik olarak değiştirilmektedir.
  5. Performans Optimizasyonu:
    • Verilerin sayfalandırılması (pagination) ile büyük veri setlerinin etkin yönetimi sağlanmıştır.
    • Lazy loading teknikleri uygulanarak sayfa yükleme süreleri optimize edilmiştir.
  6. Veri Görselleştirme:
    • Dinleme verileri, aylık bazda kategorize edilerek sunulmaktadır.
    • Kullanıcı arayüzünde dinamik olarak oluşturulan tablolar ve sekmeler aracılığıyla veri görselleştirmesi yapılmaktadır.
  7. Güvenlik Önlemleri:
    • API anahtarları ve hassas bilgiler, client-side koddan izole edilmiştir.
    • Google Apps Script’in sağladığı yetkilendirme mekanizmaları kullanılarak veri güvenliği sağlanmıştır.