Bỏ qua đến nội dung chính

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.
golangjavanodejsphp
CasbinjCasbinnode-CasbinPHP-Casbin
Sẵn sàng cho sản xuấtSẵn sàng cho sản xuấtSẵn sàng cho sản xuấtSẵn sàng cho sản xuất
pythondotnetc++rust
PyCasbinCasbin.NETCasbin-CPPCasbin-RS
Sẵn sàng cho sản xuấtSẵn sàng cho sản xuấtSẵn sàng cho sản xuấtSả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ự ánDemoChi tiếtKỹ năng và Công nghệ
CasdoorCasdoorCasdoor 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
CasnodeDiễn đàn CasbinCasnode là phần mềm diễn đàn thế hệ tiếp theo.JavaScript + React và Golang + Beego + SQL
Casbin OAHệ thống OACasbin-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 CasbinTrình soạn thảo CasbinCasbin-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.