NewsAggregator, haber sitelerinden güncel içerikleri otomatik olarak toplayıp analiz eden bir web kazıma projesidir. Bu proje, modern web teknolojilerini bir araya getirerek haber içeriklerini sistematik şekilde izleme ve depolama imkanı sunar.
Projenin temel yapısı iki ana bileşenden oluşmaktadır:
Kazıma Motoru: NodeJS ve Puppeteer kullanarak geliştirilmiş, haber sitelerinin manşet bölümlerini tarayabilen bir web crawler. Bu motor şu bilgileri toplar:
Yönetim Paneli: Laravel framework kullanılarak geliştirilen admin arayüzü. Toplanan verilerin görüntülenmesi, yönetilmesi ve analiz edilmesi için gelişmiş bir kontrol paneli sunar.
Sistem, Puppeteer ile kazınan verileri API aracılığıyla Laravel backend'e iletir. Veriler MySQL veritabanında işlenerek saklanır ve admin paneli üzerinden erişilebilir hale gelir.
Projede özel bir admin guard yapısı implementasyonu bulunmaktadır. Bu yapı, standart Laravel auth sisteminin üzerine ek güvenlik katmanları ekleyerek yönetim paneline erişimi kontrol eder. Bu sayede farklı yetki seviyelerine sahip kullanıcılar için özelleştirilmiş erişim sağlanabilmektedir.
Projenin geliştirme ortamı Docker konteynerları kullanılarak standartlaştırılmıştır. Bu yaklaşım, projenin farklı ortamlarda tutarlı şekilde çalışmasını sağlar ve geliştirme sürecini kolaylaştırır.
NewsAggregator, açık kaynak bir proje olarak GitHub üzerinden erişime açıktır. Temel amacı, geliştiricilere web kazıma teknikleri konusunda örnek oluşturmak ve bu alandaki bilgi birikimini artırmaktır. Proje, katkıda bulunmak isteyen geliştiricilere açıktır ve GitHub üzerinden incelemelere ve geliştirmelere olanak tanır.
Bu proje, web kazıma, veri analizi ve modern web uygulaması geliştirme konularında kapsamlı bir öğrenme deneyimi sunmaktadır.