Contributing
Casbin là một thư viện ủy quyền mạnh mẽ hỗ trợ các mô hình kiểm soát truy cập với các triển khai trong nhiều ngôn ngữ lập trình. Nếu bạn giỏi bất kỳ ngôn ngữ lập trình nào, bạn có thể đóng góp vào sự phát triển của Casbin. Luôn chào đón những người đóng góp mới.
Hiện tại, có hai loại dự án chính:
- Dự án hướng đến thuật toán - Những dự án này liên quan đến việc triển khai các thuật toán trong các ngôn ngữ lập trình khác nhau. Casbin hỗ trợ một loạt các ngôn ngữ, bao gồm Golang, Java, C++, Elixir, Dart, và Rust, cùng với các sản phẩm liên quan của chúng.
Casbin | jCasbin | node-Casbin | PHP-Casbin |
Sẵn sàng cho sản xuất | Sẵn sàng cho sản xuất | Sẵn sàng cho sản xuất | Sẵn sàng cho sản xuất |
PyCasbin | Casbin.NET | Casbin-CPP | Casbin-RS |
Sẵn sàng cho sản xuất | Sẵn sàng cho sản xuất | Sẵn sàng cho sản xuất | Sản xuất sẵn sàng |
- Dự án hướng ứng dụng - Những dự án này liên quan đến các ứng dụng xây dựng trên nền tảng Casbin.
Dự án | Demo | Chi tiết | Kỹ năng và Công nghệ |
---|---|---|---|
Casdoor | Casdoor | Casdoor là một nền tảng xác thực tập trung/Đăng nhập một lần (SSO) dựa trên OAuth 2.0/OIDC, ưu tiên giao diện người dùng. | JavaScript + React và Golang + Beego + SQL |
Casnode | Diễn đàn Casbin | Casnode là phần mềm diễn đàn thế hệ tiếp theo. | JavaScript + React và Golang + Beego + SQL |
Casbin OA | Hệ thống OA | Casbin-OA là hệ thống xử lý, đánh giá và hiển thị bản thảo chính thức cho các nhà viết kỹ thuật của Casbin. | JavaScript + React và Golang + Beego + MySQL |
Trình soạn thảo Casbin | Trình soạn thảo Casbin | Casbin-editor là một trình soạn thảo dựa trên web cho mô hình và chính sách của Casbin. | TypeScript + React |
Tham gia vào dự án
Có nhiều cách để đóng góp cho Casbin. Dưới đây là một số ý tưởng để bắt đầu:
Sử dụng Casbin và báo cáo vấn đề! Khi sử dụng Casbin, hãy báo cáo bất kỳ vấn đề nào bạn gặp phải để giúp thúc đẩy sự phát triển của Casbin. Cho dù đó là một lỗi hay một đề xuất, việc đăng một vấn đề trên GitHub được khuyến khích. Tuy nhiên, sẽ tốt hơn nếu có một cuộc thảo luận trước trên Discord hoặc GitHub Discussions trước khi đăng một vấn đề.
Lưu ý: Khi báo cáo một vấn đề, vui lòng sử dụng tiếng Anh để mô tả chi tiết vấn đề của bạn.
Giúp đỡ với tài liệu! Đóng góp vào tài liệu là một điểm khởi đầu tốt cho sự đóng góp của bạn.
Giúp giải quyết vấn đề! Chúng tôi đã chuẩn bị một bảng chứa các nhiệm vụ đơn giản phù hợp cho người mới bắt đầu, với các mức độ thách thức khác nhau được gắn nhãn khác nhau. Bạn có thể xem bảng tại đây.
Pull Requests
Casbin sử dụng GitHub làm nền tảng phát triển, do đó pull requests là cách chính để đóng góp.
Trước khi mở một pull request, có một vài điều bạn cần biết:
Giải thích tại sao bạn gửi pull request này và nó sẽ mang lại lợi ích gì cho kho lưu trữ.
Đảm bảo rằng pull request chỉ làm một việc. Nếu có nhiều thay đổi, vui lòng chia chúng thành các pull requests riêng biệt.
Nếu bạn thêm các tệp mới, vui lòng bao gồm giấy phép Casbin ở đầu tệp mới(s).
// 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.Trong các dự án như Casdoor, Casnode, và Casbin OA, bạn có thể cần thiết lập một bản demo để chỉ cho người bảo trì thấy pull request của bạn giúp ích như thế nào cho việc phát triển dự án.
Khi mở một pull request và commit đóng góp của bạn, nên sử dụng semantic commits với định dạng sau:
<type>(<scope>): <subject>
.<scope>
là tùy chọn. Để biết thêm chi tiết về cách sử dụng, vui lòng tham khảo Conventional Commits.
Giấy phép
Bằng cách đóng góp cho Casbin, bạn đồng ý rằng những đóng góp của bạn sẽ được cấp phép dưới Giấy phép Apache.