Files
RepoHub/README.tr.md
T
Yusuf İpek 9266de1f3e docs: Add comprehensive package contribution guide and validation tooling
- Add bilingual README with English/Turkish language switcher
- Create detailed package contribution guidelines with platform-specific naming conventions
- Add validation script for verifying package presets against database
- Include best practices and example PR format for contributors
- Add tsx dependency for running TypeScript validation scripts
- Document validation workflow with manual and automated verification options
2025-11-23 14:26:07 +03:00

7.1 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.

🛠️ 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. 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