Ana içeriğe atla

Contributing

Casbin, birçok programlama dilinde uygulamaları olan güçlü bir yetkilendirme kütüphanesidir ve erişim kontrol modellerini destekler. Herhangi bir programlama dilinde yetkiniseniz, Casbin'in geliştirilmesine katkıda bulunabilirsiniz. Yeni katkıda bulunanlar her zaman hoş geldiniz.

Şu anda, iki ana proje türü bulunmaktadır:

  • Algoritmalar-yönelimli projeler - Bu projeler, farklı programlama dillerinde algoritmaların uygulanmasını içerir. Casbin, Golang, Java, C++, Elixir, Dart ve Rust dahil olmak üzere geniş bir dil yelpazesini destekler, bunların ilgili ürünleriyle birlikte.
golangjavanodejsphp
CasbinjCasbinnode-CasbinPHP-Casbin
Üretim için hazırÜretim için hazırÜretim için hazırÜretim için hazır
pythondotnetc++rust
PyCasbinCasbin.NETCasbin-CPPCasbin-RS
Üretime HazırÜretime HazırÜretime HazırÜretime Hazır
  • Uygulama Odaklı Projeler - Bu projeler, Casbin üzerine inşa edilmiş uygulamalarla ilgilidir.
ProjeDemoDetaylarBeceri Yığınları
CasdoorCasdoorCasdoor, OAuth 2.0/OIDC tabanlı bir UI-öncelikli merkezi kimlik doğrulama/Tek İşaretli Giriş (SSO) platformudur.JavaScript + React ve Golang + Beego + SQL
CasnodeCasbin ForumCasnode, bir sonraki nesil forum yazılımıdır.JavaScript + React ve Golang + Beego + SQL
Casbin OAOA sistemCasbin-OA, Casbin teknik yazarları için resmi müstakil işlem, değerlendirme ve görüntüleme sistemi olup.JavaScript + React ve Golang + Beego + MySQL
Casbin EditörCasbin EditörCasbin-editor, Casbin modelleri ve politikaları için web tabanlı bir düzenleyicidir.TypeScript + React

Katılım Sağlamak

Casbin'e katkıda bulunmanın birçok yolu vardır. Başlamak için bazı fikirler şunlardır:

  • Casbin kullanın ve sorunları bildirin! Casbin kullanırken, karşılaştığınız herhangi bir sorunu bildirerek Casbin'in geliştirilmesine destek olun. Bir hata ya da öneri olması fark etmeksizin, bir sorunu GitHub'da açmanız önerilir. Ancak, bir sorun açmadan önce Discord veya GitHub Tartışmaları'nda önce bir tartışma yapmanız daha iyi olacaktır.

    Not: Bir sorun bildirirken, lütfen sorununuzun detaylarını İngilizce kullanarak açıklayın.

  • Dokümantasyonla ilgilenin! Dokümantasyona katkıda bulunmak, katkınız için iyi bir başlangıç noktasıdır.

  • Sorunları çözmeye yardım edin! Başlangıç seviyesi için uygun, farklı zorluk düzeylerine sahip olan ve bu düzeyleri belirten etiketlerle işaretlenmiş kolay görevler içeren bir tablo hazırladık. Tabloyu buradan kontrol edebilirsiniz.

Çekme İstekleri (Pull Requests)

Casbin, geliştirme platformu olarak GitHub'ı kullanır, bu nedenle katkıda bulunmanın ana yolu çekme istekleridir.

Bir çekme isteği açmadan önce bilmeniz gereken birkaç şey var:

  • Çekme isteğini neden gönderdiğinizi ve bu isteklerin deposu nasıl etkileyeceğini açıklayın.

  • Çekme isteğinin sadece bir şey yapmasına dikkat edin. Eğer birden fazla değişiklik varsa, lütfen bunları ayrı çekme isteklerine bölün.

  • Yeni dosyalar ekliyorsanız, lütfen yeni dosya(lar)ın en üstüne Casbin lisansını ekleyin.

    // Copyright 2021 The casbin Authors. All Rights Reserved.
    //
    // Licensed under the Apache License, Version 2.0 (the "License");
    // you may not use this file except in compliance with the License.
    // You may obtain a copy of the License at
    //
    // http://www.apache.org/licenses/LICENSE-2.0
    //
    // Unless required by applicable law or agreed to in writing, software
    // distributed under the License is distributed on an "AS IS" BASIS,
    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    // See the License for the specific language governing permissions and
    // limitations under the License.
  • Casdoor, Casnode ve Casbin OA gibi projelerde, çekme isteğinizin projelerin geliştirilmesine nasıl yardımcı olduğunu göstermek için bir demo kurmanız gerekebilir.

  • Bir çekme isteği açarken ve katkınızı işlerken, aşağıdaki formatta anlamsal işlemler kullanmanız önerilir: <type>(<scope>): <subject>. <scope> isteğe bağlıdır. Daha ayrıntılı kullanım için lütfen Conventional Commits'a başvurun.

Lisans

Casbin'e katkıda bulunduğunuzda, katkılarınızın Apache Lisansı altında lisanslanacağını kabul etmiş olursunuz.