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.
Casbin | jCasbin | node-Casbin | PHP-Casbin |
Siap produksi | Siap produksi | Siap produksi | Siap produksi |
PyCasbin | Casbin.NET | Casbin-CPP | Casbin-RS |
Siap untuk produksi | Siap untuk produksi | Siap untuk produksi | Siap produksi |
- Proyek berorientasi aplikasi - Proyek-proyek ini terkait dengan aplikasi yang dibangun di atas Casbin.
Proyek | Demo | Detail | Tumpukan Keterampilan |
---|---|---|---|
Casdoor | Casdoor | Casdoor adalah platform autentikasi terpusat/Single-Sign-On (SSO) yang berbasis UI pertama berdasarkan OAuth 2.0/OIDC. | JavaScript + React dan Golang + Beego + SQL |
Casnode | Forum Casbin | Casnode adalah perangkat lunak forum generasi berikutnya. | JavaScript + React dan Golang + Beego + SQL |
Casbin OA | Sistem OA | Casbin-OA adalah sistem resmi untuk pengolahan naskah, evaluasi, dan tampilan bagi penulis teknis Casbin. | JavaScript + React dan Golang + Beego + MySQL |
Editor Casbin | Editor Casbin | Casbin-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.