Skip to content
This repository has been archived by the owner on Jun 16, 2021. It is now read-only.

Latest commit

 

History

History
138 lines (88 loc) · 6.39 KB

CONTRIBUTING.md

File metadata and controls

138 lines (88 loc) · 6.39 KB

Katkı sunma rehberi

Bu rehber bu projeye (bundan sonra Proje olarak anılacaktır) gönüllü katkı sunmak isteyenlere ve projede görevli olarak çalışanlara yönelik olarak hazırlanmıştır.

Beyanat

Projeye katkı yaparak Ondokuz Mayıs Üniversitesi bilişim politikalarını ve gelecekte eklenmesi muhtemel yeni politikaları peşinen kabul ettiğinizi beyan etmiş sayılırsınız.

Proje ve projede ortaya çıkan ürünlerin tüm hakları Ondokuz Mayıs Üniversitesine aittir. Uygulamaya yapacağınız katkıların hakları da Ondokuz Mayıs Üniversitesine ait olacaktır. Projede çalışma sorumluluğu bulunmayan kişilerin yaptıkları katkılar tamamen gönüllü katkı olarak değerlendirilecek olup, bu kişilerin yaptıkları katkılar için telif hakkı, ücret, projenin herhangi bir yerinde isminin anılması (mention) gibi herhangi bir istekte bulunma hakları bulunmamaktadır. Katkı sağlayan olarak kullanıcı adınız, isminiz, sağladığınız katkı ve katkı sağladığınız tarih gibi bilgiler bu projede herkese açık bir biçimde görüntülenebilir. Projeye yapacağınız katkılar Ondokuz Mayıs Üniversitesine ait olacağı için gelecekte yaptığınız katkıların projeden kaldırılmasını talep etme hakkınız bulunmamaktadır.

Proje gelecekte herkese açık (public) bir proje olmayı garanti etmemektedir. Projenin görünürlüğü Ondokuz Mayıs Üniversitesi tarafından gerekli görüldüğü takdirde gizli (private) duruma çekilebilir. Bu durumda sağladığınız katkının kullanılmaya devam edeceğini peşinen kabul etmiş sayılırsınız. Projenin güncel lisansı LICENSE.md dosyasında açıkça sunulmuştur.

Güvenlik açığı bildirimi

Projede herhangi bir güvenlik açığı tespit ederseniz lütfen [email protected] adresinden bildirim yapınız. Güvenlik açığı bildirimleri için herkese açık olan issues sayfasını kullanmayınız.

Neye katkı yapabilirim

İsteyen herkes, Projede görebildiği her şeye katkı yapabilir. Projenin kaynak koduna, tasarımına, dokümanlarına, açık iş kayıtlarına, açık katkı taleplerine (pull request) ve diğer kısımlarına katkı yapabilirsiniz.


Katkı sağlama iş akışı

İş kayıtları (Issue)

  • Projeye katkı sağlamadan önce, katkı sağlamak istediğiniz konuyla ilişkili bir iş kaydı açın. İş kaydı bulunmayan ve bir iş kaydına atıfta bulunmayan pull request'ler değerlendirmeye alınmayabilir veya geç değerlendirmeye alınabilir.

  • Issue kurallarını dikkatlice gözden geçirin.

Geliştirme öncesi

Bu projenin bazı kısımları gönüllülerden gelecek katkılara açık olmakla birlikte, projenin bazı kısımları birtakım kısıtlı servisler ile haberleşmekte ve çeşitli erişim bilgilerine ihtiyaç duymaktadır.

  • Sırlar

    Organizasyon sırları kurumsal bir sır deposunda tutulmaktadır. Bu sırlara erişim için sistem grubu ile iletişime geçebilirsiniz.

  • Master.key ve API Anahtarları

    Proje sırları credentials.yml.enc dosyasında tutulmaktadır. Bu dosyaya erişim bilgilerini sistem grubu'ndan edindikten sonra RAILS_MASTER_KEY ve TENANT_MASTER_KEY ortam değişkenlerini sisteminize tanımlayın.

  • VPN

    Harici servisler yalnızca BAUM-VPN'e açıktır. Geliştirme yaparken ihtiyaç duyacağınız bu servisleri kullanmak için BAUM-VPN'e bağlı olmalısınız. VPN erişimi için sistem grubu ile iletişime geçin. Tüm geliştirme süreciniz boyunca ve testleri çalıştırırken mutlaka BAUM-VPN'e bağlı olun.

Geliştirme süreci

  • Projeye yazma yetkiniz varsa projeyi klonlayın, yazma yetkiniz yoksa projeyi fork edin.

  • Branch kurallarını dikkatlice gözden geçirin.

  • Proje klonunda veya kendi "fork" kopyanızda, branch kurallarını dikkate alan bir branch oluşturun: git checkout -b my-awesome-feature

  • Kurulum dokümanını takip ederek Projenin kurulumunu yapın.

  • Stil kurallarını dikkatlice gözden geçirin.

  • Kod üzerinde değişiklikleri yapın.

  • Commit kurallarını dikkatlice gözden geçirin.

  • Değişiklerinizi commit'leyin.

  • Test Coverage kurallarını dikkatlice gözden geçirin.

  • Yaptığınız değişikliğin test coverage oranını düşürmediğinden emin olun.

  • Değişikliklerinizi push etmeden önce çeşitli kontrolleri gerçekleştiren pull_request rake task'ini çalıştırın (rake pull_request)

  • pull_request task'inden hata aldıysanız öncelikle bunları çözün ve commit'leyin.

  • pull_request task'i başarıyla çalışıyorsa commit'lerinizi kendi branch'inize push edin.

Geliştirme sonrası

  • Pull Request kurallarını dikkatlice gözden geçirin.

  • Geliştirmenizi tamamladıktan sonra kendi branch'inizden develop'a doğru bir pull request (diğer adıyla merge request) açın.

  • Review kurallarını dikkatlice gözden geçirin.

  • Pull request'inizin review sürecinin tamamlanmasını bekleyin.

Dokümantasyon

Tüm dokümanlar doc dizini altında dokümantasyon kurallarına uygun şekilde tutulmaktadır. Dokümanlar CI'da Markdownlint denetiminden geçirilmektedir. Denetimde kullanılan özel kurallar için .markdownlintrc yapılandırmasına bakabilirsiniz.

Dokümanları hatasız düzenlemek için:

  • Markdownlint aracını kurun

    npm install -g markdownlint-cli
  • Editörünüze Markdownlint desteği ekleyin