GitHub'ta her gün yüzlerce yeni proje trending listesine giriyor. Ancak bu projeleri takip etmek, hangilerinin gerçekten önemli olduğunu belirlemek zaman alıcı bir iş. Bu sorunu çözmek için awesome-trending-repos projesini geliştirdim.

GitHub Actions ile otomatik günlük güncellemeler
Proje Nedir?
awesome-trending-repos, GitHub'ın trending sayfasındaki projeleri otomatik olarak takip eden, günlük olarak güncellenen bir liste. Proje her gün gece yarısı UTC'de çalışıyor ve trending reposu analiz edip sonuçları README.md dosyasına yazıyor.
Temel özellikler:
- 🔄 Günlük otomatik güncellemeler
- 📊 Geçmiş karşılaştırmaları ve sıralama değişiklikleri
- 📈 ASCII grafikleri ve trend görselleştirmeleri
- 🏆 En hızlı büyüyen repolar (rising stars)
- 💾 7 günlük geçmiş veri saklama
Nasıl Çalışır?
Proje, GitHub Actions kullanarak otomatik olarak çalışıyor. Her gün gece yarısı (UTC) bir workflow tetikleniyor, GitHub trending sayfasını scrape ediyor, verileri analiz ediyor ve sonuçları README.md dosyasına yazıyor.
Veri toplama süreci:
- GitHub trending sayfasını scrape etme (Cheerio ile)
- GitHub Search API'den ek veri alma (fallback olarak)
- Projeleri dil kategorilerine göre ayırma
- Geçmiş verilerle karşılaştırma yapma
- README.md'yi otomatik güncelleme

CI/CD pipeline ile otomatik workflow yönetimi
Özellikler
Günlük Otomasyon
GitHub Actions ile her gün otomatik olarak çalışıyor. Manuel hiçbir işlem gerektirmiyor. Sistem her gün gece yarısı UTC'de trending verilerini çekip README.md'yi güncelliyor.
Geçmiş Takibi
Proje, son 7 günün verilerini saklıyor. Bu sayede bir projenin trending listesindeki konumu nasıl değişmiş görebiliyorsunuz. Yeni giren projeler, yükselenler ve düşenler hakkında detaylı bilgi veriliyor.
Dil Bazlı Sıralama
Trending projeleri programlama diline göre kategorize ediyor. JavaScript, Python, TypeScript, Go, Rust gibi popüler dillerdeki projeleri ayrı ayrı takip edebiliyorsunuz.
Görselleştirme
ASCII grafikleri ile projelerin yükselişini ve düşüşünü görsel olarak takip edebiliyorsunuz. Hangi projelerin kaç yıldız aldığını, hangi hızla büyüdüklerini grafiklerden görebiliyorsunuz.
Teknik Detaylar
Proje Node.js ile yazıldı ve ES Modules kullanıyor. GitHub Actions ile otomatikleştirildi ve Octokit library'i ile GitHub API'ye entegre edildi.
Kullanılan teknolojiler:
- Node.js 20+
- GitHub Actions (cron tabanlı scheduling)
- Octokit (GitHub API client)
- Cheerio (web scraping)
- Axios (HTTP requests)
Sonuç
awesome-trending-repos projesi ile GitHub'taki trending projeleri otomatik olarak takip edebiliyorsunuz. Her gün güncellenen liste ile en yeni ve en popüler projeleri kaçırmıyorsunuz.
Proje hem kişisel kullanım için hem de developer community'si için değerli bir kaynak oluşturuyor. Otomasyon sayesinde zaman kazandırıyor ve trendleri takip etmeyi kolaylaştırıyor.
Bu yazı DevTo-MCP aracılığıyla DEV.to'ya gönderilmiştir.
Top comments (0)