- Repository'yi klonlayın:
git clone https://github.com/kullaniciadi/mongo-backup-manager.git
cd mongo-backup-manager
- Test ortamını hazırlayın:
# MongoDB test container'ı başlat
docker run -d --name mongodb-test -p 27017:27017 mongo:latest
# Gerekli bağımlılıkları kur
# (Projenin ihtiyaçlarına göre)
- Bash script yazım kurallarına uyun
- Fonksiyon ve değişken isimleri açıklayıcı olmalı
- Her fonksiyon için açıklama ekleyin
- Hata kontrollerini unutmayın
- Kodunuzu test edin
- GitHub'da yeni bir issue açın
- Issue template'ini kullanın
- Detaylı açıklama yapın
- İlgili etiketleri ekleyin
- Yeni bir branch oluşturun:
git checkout -b feature/yeni-ozellik
# veya
git checkout -b fix/hata-duzeltme
- Değişikliklerinizi yapın ve commit edin:
git add .
git commit -m "feat: yeni özellik eklendi"
# veya
git commit -m "fix: hata düzeltildi"
- Pull request açın:
- PR template'ini kullanın
- Değişiklikleri detaylı açıklayın
- Test sonuçlarını ekleyin
Commit mesajları şu formatta olmalı:
feat: yeni özellik
fix: hata düzeltme
docs: dokümantasyon güncellemesi
style: kod formatı düzenlemesi
refactor: kod iyileştirmesi
test: test ekleme/düzenleme
chore: genel bakım
feature/
: Yeni özellikler içinfix/
: Hata düzeltmeleri içindocs/
: Dokümantasyon güncellemeleri içinrefactor/
: Kod iyileştirmeleri içintest/
: Test eklemeleri için
- Temel fonksiyonlar için testler:
- Container seçimi
- Yedekleme işlemi
- Geri yükleme işlemi
- Hata durumları
- Özel durumlar için testler:
- Büyük veritabanları
- Bağlantı kopması
- Disk dolması
# Test container'ı oluştur
docker run -d --name mongodb-test mongo:latest
# Test veritabanı oluştur
mongosh mongodb://localhost:27017/test
# Test verisi ekle
db.test.insertMany([...])
- Her fonksiyon için açıklama ekleyin
- Parametreleri ve dönüş değerlerini belirtin
- Örnekler ekleyin
Örnek:
# Fonksiyon: do_backup
# Açıklama: Veritabanı yedeği alır
# Parametreler:
# - backup_type: Yedek türü (tam/koleksiyon)
# Dönüş: 0 başarılı, 1 hata
do_backup() {
local backup_type="$1"
...
}
- README.md güncellemeleri
- Kullanım örnekleri
- Sık sorulan sorular
- Hassas bilgileri kontrol edin
- Yetkilendirmeleri doğrulayın
- Güvenlik açıklarını test edin
- Güvenlik açığı bulduysanız:
- Public issue açmayın
- Özel olarak bildirin
- POC ekleyin
- Kod optimizasyonu yapın
- Kaynak kullanımını ölçün
- Benchmark testleri ekleyin
# Performans testi örneği
time ./mongo_backup_manager.sh backup
Semantic Versioning (SemVer) kullanın:
- MAJOR.MINOR.PATCH
- Örnek: 1.0.0, 1.1.0, 1.1.1
- Version bump
- Changelog güncelleme
- Tag oluşturma
- Release notes
- GitHub Issues
- Discussions
- E-posta
- Saygılı olun
- Yapıcı geri bildirim verin
- Topluluk kurallarına uyun
Bu proje MIT lisansı altında dağıtılmaktadır. Katkıda bulunarak:
- Kodunuzun MIT lisansı altında dağıtılmasını kabul edersiniz
- Katkınızın size ait olduğunu beyan edersiniz
- Üçüncü parti lisansları bildirmeyi kabul edersiniz