Lewati ke konten utama

Contributing

Casbin adalah pustaka otorisasi yang kuat yang mendukung model kontrol akses dengan implementasi dalam banyak bahasa pemrograman. Jika Anda mahir dalam bahasa pemrograman apa pun, Anda dapat berkontribusi dalam pengembangan Casbin. Kontributor baru selalu diterima dengan senang hati.

Saat ini, ada dua jenis proyek utama:

  • Proyek berorientasi algoritma - Proyek-proyek ini melibatkan implementasi algoritma dalam berbagai bahasa pemrograman. Casbin mendukung berbagai macam bahasa, termasuk Golang, Java, C++, Elixir, Dart, dan Rust, beserta produk terkaitnya.
golangjavanodejsphp
CasbinjCasbinnode-CasbinPHP-Casbin
Siap produksiSiap produksiSiap produksiSiap produksi
pythondotnetc++rust
PyCasbinCasbin.NETCasbin-CPPCasbin-RS
Siap untuk produksiSiap untuk produksiSiap untuk produksiSiap produksi
  • Proyek berorientasi aplikasi - Proyek-proyek ini terkait dengan aplikasi yang dibangun di atas Casbin.
ProyekDemoDetailTumpukan Keterampilan
CasdoorCasdoorCasdoor adalah platform autentikasi terpusat/Single-Sign-On (SSO) yang berbasis UI pertama berdasarkan OAuth 2.0/OIDC.JavaScript + React dan Golang + Beego + SQL
CasnodeForum CasbinCasnode adalah perangkat lunak forum generasi berikutnya.JavaScript + React dan Golang + Beego + SQL
Casbin OASistem OACasbin-OA adalah sistem resmi untuk pengolahan naskah, evaluasi, dan tampilan bagi penulis teknis Casbin.JavaScript + React dan Golang + Beego + MySQL
Editor CasbinEditor CasbinCasbin-editor adalah editor berbasis web untuk model dan kebijakan Casbin.TypeScript + React

Terlibat

Ada banyak cara untuk berkontribusi pada Casbin. Berikut adalah beberapa ide untuk memulai:

  • Gunakan Casbin dan laporkan masalah! Saat menggunakan Casbin, laporkan setiap masalah yang Anda temui untuk mempromosikan pengembangan Casbin. Baik itu bug atau proposal, mengajukan masalah di GitHub disarankan. Namun, akan lebih baik untuk memulai diskusi terlebih dahulu di Discord atau GitHub Discussions sebelum mengajukan masalah.

    Catatan: Saat melaporkan masalah, mohon gunakan bahasa Inggris untuk menjelaskan detail masalah Anda.

  • Bantu dengan dokumentasi! Berkontribusi pada dokumentasi adalah titik awal yang baik untuk kontribusi Anda.

  • Bantu selesaikan masalah! Kami telah menyiapkan tabel yang berisi tugas-tugas mudah yang cocok untuk pemula, dengan tingkat tantangan yang berbeda diberi label dengan tag yang berbeda. Anda dapat memeriksa tabel di sini.

Pull Requests

Casbin menggunakan GitHub sebagai platform pengembangannya, jadi pull requests adalah cara utama untuk berkontribusi.

Sebelum membuka pull request, ada beberapa hal yang perlu Anda ketahui:

  • Jelaskan mengapa Anda mengirim pull request dan apa manfaatnya bagi repositori.

  • Pastikan pull request hanya melakukan satu hal. Jika ada beberapa perubahan, silakan pisahkan menjadi pull request yang terpisah.

  • Jika Anda menambahkan file baru, silakan sertakan lisensi Casbin di bagian atas file 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 proyek-proyek seperti Casdoor, Casnode, dan Casbin OA, Anda mungkin perlu menyiapkan demo untuk menunjukkan kepada pengelola bagaimana pull request Anda membantu dalam pengembangan proyek.

  • Saat membuka permintaan tarik dan melakukan kontribusi Anda, disarankan untuk menggunakan komit semantik dengan format berikut: <type>(<scope>): <subject>. <scope> bersifat opsional. Untuk penggunaan yang lebih detail, silakan merujuk ke Conventional Commits.

Lisensi

Dengan berkontribusi pada Casbin, Anda menyetujui bahwa kontribusi Anda akan dilisensikan di bawah Lisensi Apache.