Files
RepoHub/README.tr.md
T
Yusuf İpek a5b65bb4df feat: Add package name formatting for Windows packages and update contribution docs
- Format Windows winget package IDs for better display (e.g., "Microsoft.VisualStudioCode" → "Visual Studio Code")
- Extract last segment from dotted package names and convert CamelCase to spaced format
- Add title attribute to package names for full name on hover
- Update README with optional icon addition step in contribution guide
- Document Simple Icons integration process for new package submissions
- Add package icons
2025-11-23 14:42:14 +03:00

7.8 KiB
Raw Blame History

RepoHub - Çok Platformlu Paket Yöneticisi

🇬🇧 English | 🇹🇷 Türkçe

Linux, Windows ve macOS'te resmi depolardan yazılım kurulumunu basitleştirin.

RepoHub, farklı işletim sistemlerinde paket keşfi ve kurulumu için birleşik bir arayüz sağlar.

🚀 Özellikler

  • Çok Platformlu Destek: Linux (Debian, Ubuntu, Arch, Fedora), Windows ve macOS'te çalışır.
  • Resmi Depolar: Yazılımlara yalnızca güvenilir, resmi kaynaklardan erişin.
  • Script Oluşturma: Seçtiğiniz platform için idempotent kurulum scriptleri oluşturun.
  • Akıllı Filtreleme: Paketleri verimli bir şekilde bulun ve filtreleyin.
  • Paket İkonları: Popüler paketler için görsel ikonlar ile kolay tanıma.

🛠️ Teknoloji Yığını

Frontend

  • Framework: Next.js 14+ (React)
  • Stil: Tailwind CSS
  • İkonlar: Lucide React
  • Durum Yönetimi: React Query + Zustand

Backend

  • Runtime: Node.js (TypeScript)
  • Veritabanı: PostgreSQL
  • Altyapı: Docker

🏁 Başlangıç

Gereksinimler

  • Node.js 18+
  • pnpm
  • Docker (isteğe bağlı, veritabanı için)

Kurulum

  1. Depoyu klonlayın:

    git clone https://github.com/yusufipk/RepoHub.git
    cd RepoHub
    
  2. Bağımlılıkları yükleyin:

    pnpm install
    
  3. Ortam Değişkenlerini Ayarlayın: .env.example dosyasını .env olarak kopyalayın ve veritabanı bağlantınızı yapılandırın.

    cp .env.example .env
    
  4. Veritabanını Başlatın: Veritabanı şemasını kurmak ve migrasyonları uygulamak için başlatma scriptini çalıştırın.

    pnpm init:db
    
  5. Geliştirme sunucusunu çalıştırın:

    pnpm dev
    

    Tarayıcınızda http://localhost:3000 adresini açın.

🔄 API Kullanımı

Depoları Senkronize Etme

API kullanarak depo senkronizasyonunu tetikleyebilirsiniz. Bu, paket veritabanını güncellemek için kullanışlıdır.

Endpoint: POST /api/sync

Başlıklar:

  • Content-Type: application/json
  • x-sync-secret: Senkronizasyon gizli anahtarınız (SYNC_SERVER_ONLY=true ise gerekli)

Body Parametreleri:

  • platform: Senkronize edilecek platform. Seçenekler:
    • debian: Debian paketlerini senkronize et (Resmi Repo)
    • ubuntu: Ubuntu paketlerini senkronize et (Resmi Repo)
    • arch: Arch Linux paketlerini senkronize et (Resmi Repo)
    • aur: Arch User Repository (AUR) paketlerini senkronize et
    • fedora: Fedora paketlerini senkronize et (Resmi Repo)
    • windows: Windows paketlerini senkronize et (Winget)
    • macos: macOS paketlerini senkronize et (Homebrew)
    • all: Tüm platformları senkronize et

Örnek İstek:

curl -X POST http://localhost:3000/api/sync \
  -H "Content-Type: application/json" \
  -H "x-sync-secret: gizli_anahtariniz" \
  -d '{"platform": "all"}'

📦 Paket Önerilerine Katkıda Bulunma

🇬🇧 English | 🇹🇷 Türkçe

RepoHub, kullanıcılara kişiselleştirilmiş öneriler sunmak için düzenlenmiş paket listeleri kullanır. Paket ekleyerek bu önerileri geliştirmeye yardımcı olabilirsiniz!

Paket Nasıl Eklenir

Paket önerileri /src/data/recommendationPresets.ts dosyasında saklanır. İşte bir paket ekleme adımları:

1. Doğru Konumu Bulun

Paketinizin ait olduğu platform ve kategoriye gidin:

export const PACKAGE_PRESETS = {
  windows: {
    development: ["Git.Git", "Microsoft.VisualStudioCode"],
    design: ["GIMP.GIMP", "Inkscape.Inkscape"],
    // ... diğer kategoriler
  },
  // ... diğer platformlar
}

Mevcut Platformlar:

  • windows - Windows (Winget)
  • macos - macOS (Homebrew)
  • ubuntu - Ubuntu (APT)
  • debian - Debian (APT)
  • arch - Arch Linux (Pacman/AUR)
  • fedora - Fedora (DNF)

Mevcut Kategoriler:

  • development - Geliştirme araçları, IDE'ler, derleyiciler
  • design - Grafik, kreatif yazılımlar
  • multimedia - Medya oynatıcılar, editörler
  • system-tools - Sistem araçları
  • gaming - Oyun başlatıcıları, platformlar
  • productivity - Ofis, tarayıcılar, üretkenlik uygulamaları
  • education - Eğitim yazılımları

2. Doğru Paket Adını Alın

⚠️ KRİTİK: Paket adları veritabanında göründükleri gibi tam olarak eşleşmelidir.

Platformlara göre paket adı formatları:

  • Windows: Yayinci.PaketAdi (örn., Microsoft.VisualStudioCode)
  • macOS: kucuk-harf-tireli (örn., visual-studio-code)
  • Linux: küçük harf, dağıtıma göre değişir (örn., code, docker.io)

3. Paketin Var Olduğunu Doğrulayın

Seçenek A: Doğrulama Scriptini Kullanma (Önerilen)

Veritabanı erişiminiz varsa:

# Belirli bir platformu doğrula
npm run validate:presets -- windows

# Birden fazla platformu doğrula
npm run validate:presets -- ubuntu debian arch

# Tüm platformları doğrula
npm run validate:presets -- --all

Script şunları gösterecek:

  • Veritabanında bulunan paketler
  • Bulunamayan paketler
  • 💡 Benzer paket önerileri

Seçenek B: Manuel Doğrulama

Veritabanı erişiminiz yoksa:

  1. Canlı RepoHub web sitesinde arama yapın
  2. Arama sonuçlarında paketinizi bulun
  3. Görüntülenen tam paket adını kopyalayın
  4. Veya resmi paket depolarını kontrol edin:

4. Paketi Ekleyin

Paket adını diziye ekleyin:

windows: {
  development: [
    "Git.Git",
    "Microsoft.VisualStudioCode",
    "Docker.DockerDesktop"  // ← Yeni paketiniz
  ]
}

5. İkon Ekleyin (İsteğe Bağlı)

Paketin önerilerde daha iyi görünmesi için PACKAGE_ICONS içine bir ikon eşlemesi ekleyin:

  1. Simple Icons'da paket slug'ını bulun
  2. src/data/recommendationPresets.ts dosyasındaki PACKAGE_ICONS nesnesine ekleyin:
export const PACKAGE_ICONS: Record<string, string> = {
  // ...
  "Docker.DockerDesktop": "docker", // Anahtar paket adıyla eşleşmeli, Değer Simple Icons slug'ı olmalı
  // ...
};

İkon eklenmezse, varsayılan paket ikonu kullanılacaktır.

6. Değişikliklerinizi Test Edin

  1. Doğrulamayı çalıştırın:

    npm run validate:presets -- windows
    
  2. Geliştirme sunucusunu başlatın:

    npm run dev
    
  3. Uygulamada test edin:

    • Onboarding'i tamamlayın
    • İlgili kategoriyi seçin
    • Paketinizin önerilerde görünüp görünmediğini kontrol edin

En İyi Uygulamalar

YAPIN

  • Doğrulama scriptini kullanarak paket adlarını doğrulayın
  • Popüler, iyi bakımlı paketler ekleyin
  • Göndermeden önce test edin
  • Resmi depolardan tam paket adlarını kullanın

YAPMAYIN

  • Paket adlarını tahmin etmeyin
  • Kullanımdan kaldırılmış paketler eklemeyin
  • Doğrulamayı atlamayın
  • Kategoriler arasında tekrar eklemeyin

Örnek Pull Request

Windows Önerilerine Popüler Geliştirme Araçları Eklendi

- development'a Docker.DockerDesktop eklendi
- development'a Postman.Postman eklendi
- Doğrulama: ✅ Tüm paketler doğrulandı (%100 bulundu)

🤝 Katkıda Bulunma

Katkılar hoş karşılanır! Lütfen Pull Request göndermekten çekinmeyin.

  1. Projeyi fork edin
  2. Feature branch'inizi oluşturun (git checkout -b feature/HarikaBirOzellik)
  3. Değişikliklerinizi commit edin (git commit -m 'Harika bir özellik ekle')
  4. Branch'inizi push edin (git push origin feature/HarikaBirOzellik)
  5. Bir Pull Request açın