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.
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.
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.
İ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.
-
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.
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 sonraRAILS_MASTER_KEY
veTENANT_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.
-
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.
-
Pull Request kurallarını dikkatlice gözden geçirin.
-
Geliştirmenizi tamamladıktan sonra kendi branch'inizden
develop
'a doğru birpull request
(diğer adıylamerge request
) açın. -
Review kurallarını dikkatlice gözden geçirin.
-
Pull request'inizin review sürecinin tamamlanmasını bekleyin.
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
-
VIM için ALE eklentisini kurun
-
VSCode için ilgili yapılandırmayı uygulayın
-
Sublime için Sublime Text Markdownlint eklentisini kurun
-