Langkau ke kandungan utama

Contributing

Casbin ialah pustaka kebenaran yang berkuasa yang menyokong model kawalan akses dengan pelaksanaan dalam banyak bahasa pengaturcaraan. Jika anda mahir dalam mana-mana bahasa pengaturcaraan, anda boleh menyumbang kepada pembangunan Casbin. Penyumbang baru sentiasa dialu-alukan.

Pada masa ini, terdapat dua jenis projek utama:

  • Projek berorientasikan algoritma - Projek ini melibatkan pelaksanaan algoritma dalam pelbagai bahasa pengaturcaraan. Casbin menyokong pelbagai bahasa, termasuk Golang, Java, C++, Elixir, Dart, dan Rust, bersama dengan produk berkaitan mereka.
golangjavanodejsphp
CasbinjCasbinnode-CasbinPHP-Casbin
Siap untuk produksiSiap untuk produksiSiap untuk produksiSiap untuk produksi
pythondotnetc++rust
PyCasbinCasbin.NETCasbin-CPPCasbin-RS
Siap untuk produksiSiap untuk produksiSiap untuk produksiSiap untuk Pengeluaran
  • Projek Berorientasikan Aplikasi - Projek-projek ini berkaitan dengan aplikasi yang dibina di atas Casbin.
ProjekDemoButiranSusunan Kemahiran
CasdoorCasdoorCasdoor adalah platform pengesahan terpusat/Single-Sign-On (SSO) yang berorientasikan UI, berdasarkan OAuth 2.0/OIDC.JavaScript + React dan Golang + Beego + SQL
CasnodeForum CasbinCasnode ialah perisian forum generasi akan datang.JavaScript + React dan Golang + Beego + SQL
Casbin OASistem OACasbin-OA adalah sistem pemprosesan, penilaian, dan paparan naskhah rasmi untuk penulis teknikal Casbin.JavaScript + React dan Golang + Beego + MySQL
Editor CasbinEditor CasbinCasbin-editor ialah editor berasaskan web untuk model dan polisi Casbin.TypeScript + React

Terlibat

Terdapat banyak cara untuk menyumbang kepada Casbin. Berikut adalah beberapa idea untuk memulakan:

  • Gunakan Casbin dan laporkan isu! Apabila menggunakan Casbin, laporkan sebarang isu yang anda hadapi untuk membantu mempromosikan perkembangan Casbin. Sama ada ia adalah pepijat atau cadangan, mengisi isu di GitHub adalah disyorkan. Walau bagaimanapun, lebih baik untuk memulakan perbincangan terlebih dahulu di Discord atau GitHub Discussions sebelum mengisi isu.

    Perhatian: Apabila melaporkan isu, sila gunakan Bahasa Inggeris untuk menerangkan butiran masalah anda.

  • Bantu dengan dokumentasi! Menyumbang kepada dokumentasi adalah titik permulaan yang baik untuk sumbangan anda.

  • Bantu selesaikan isu! Kami telah menyediakan jadual yang mengandungi tugas-tugas mudah yang sesuai untuk pemula, dengan pelbagai tahap cabaran yang dilabel dengan tag yang berbeza. Anda boleh lihat jadual tersebut di sini.

Permintaan Tarik (Pull Requests)

Casbin menggunakan GitHub sebagai platform pembangunannya, jadi permintaan tarik adalah kaedah utama untuk menyumbang.

Sebelum membuka permintaan tarik, terdapat beberapa perkara yang perlu anda ketahui:

  • Terangkan mengapa anda menghantar permintaan tarik ini dan apa yang akan dilakukannya untuk repositori.

  • Pastikan permintaan tarik hanya melakukan satu perkara. Jika terdapat pelbagai perubahan, sila pisahkannya ke dalam permintaan tarik yang berasingan.

  • Jika anda menambah fail baru, sila sertakan lesen Casbin di bahagian atas fail baru tersebut.

    // 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.
  • Dalam projek-projek seperti Casdoor, Casnode, dan Casbin OA, anda mungkin perlu menyiapkan demo untuk menunjukkan kepada pengurus bagaimana permintaan tarik anda membantu dalam pembangunan projek tersebut.

  • Apabila membuka permintaan tarik dan melakukan sumbangan anda, disarankan untuk menggunakan komit semantik dengan format berikut: <type>(<scope>): <subject>. <scope> adalah pilihan. Untuk penggunaan yang lebih terperinci, sila rujuk kepada Conventional Commits.

Lesen

Dengan menyumbang kepada Casbin, anda bersetuju bahawa sumbangan anda akan dilesenkan di bawah Lesen Apache.