ข้ามไปยังเนื้อหาหลัก

Contributing

Casbin เป็นไลบรารีการอนุญาตที่ทรงพลังซึ่งรองรับโมเดลการควบคุมการเข้าถึงด้วยการนำไปใช้ในหลายภาษาการเขียนโปรแกรม หากคุณมีความชำนาญในภาษาการเขียนโปรแกรมใด ๆ คุณสามารถมีส่วนร่วมในการพัฒนา Casbin ผู้มีส่วนร่วมใหม่ ๆ ยินดีต้อนรับเสมอ

ปัจจุบันมีโปรเจ็กต์หลักสองประเภท:

  • โปรเจ็กต์ที่เน้นอัลกอริทึม - โปรเจ็กต์เหล่านี้เกี่ยวข้องกับการนำอัลกอริทึมไปใช้ในภาษาการเขียนโปรแกรมต่าง ๆ Casbin รองรับภาษาต่าง ๆ มากมาย รวมถึง Golang, Java, C++, Elixir, Dart และ Rust พร้อมกับผลิตภัณฑ์ที่เกี่ยวข้อง
golangjavanodejsphp
CasbinjCasbinnode-CasbinPHP-Casbin
พร้อมใช้งานจริงพร้อมใช้งานจริงพร้อมใช้งานจริงพร้อมใช้งานจริง
pythondotnetc++rust
PyCasbinCasbin.NETCasbin-CPPCasbin-RS
พร้อมใช้งานจริงพร้อมใช้งานจริงพร้อมใช้งานจริงพร้อมใช้งานจริง
  • โปรเจ็กต์ที่เน้นการประยุกต์ใช้ - โปรเจ็กต์เหล่านี้เกี่ยวข้องกับแอปพลิเคชันที่สร้างขึ้นบนพื้นฐานของ Casbin
โปรเจ็กต์ตัวอย่างการใช้งานรายละเอียดสกิลที่ต้องการ
CasdoorCasdoorCasdoor เป็นแพลตฟอร์มการรับรองความถูกต้อง/Single-Sign-On (SSO) ที่เน้น UI และใช้ OAuth 2.0/OIDCJavaScript + React และ Golang + Beego + SQL
CasnodeCasbin ForumCasnode เป็นซอฟต์แวร์ฟอรัมรุ่นถัดไปJavaScript + React และ Golang + Beego + SQL
Casbin OAระบบ OACasbin-OA เป็นระบบการจัดการ, การประเมิน และการแสดงผลของต้นฉบับอย่างเป็นทางการสำหรับนักเขียนเทคนิคของ CasbinJavaScript + React และ Golang + Beego + MySQL
Casbin EditorCasbin EditorCasbin-editor เป็นเว็บเบสเดอร์สำหรับแก้ไขโมเดลและนโยบายของ CasbinTypeScript + React

การมีส่วนร่วม

มีหลายวิธีที่จะมีส่วนร่วมกับ Casbin นี่คือบางไอเดียเพื่อเริ่มต้น:

  • ใช้ Casbin และรายงานปัญหา! เมื่อใช้ Casbin, รายงานปัญหาที่คุณพบเพื่อช่วยส่งเสริมการพัฒนาของ Casbin ไม่ว่าจะเป็นบั๊กหรือข้อเสนอแนะ, การยื่นปัญหาบน GitHub ถูกแนะนำ อย่างไรก็ตาม, จะดีกว่าหากมีการพูดคุยก่อนบน Discord หรือ GitHub Discussions ก่อนที่จะยื่นปัญหา

    หมายเหตุ: เมื่อรายงานปัญหา, กรุณาใช้ภาษาอังกฤษในการอธิบายรายละเอียดของปัญหาของคุณ

  • ช่วยเหลือกับเอกสาร! การมีส่วนร่วมกับเอกสารเป็นจุดเริ่มต้นที่ดีสำหรับการมีส่วนร่วมของคุณ

  • ช่วยแก้ไขปัญหา! เราได้เตรียมตารางที่มีงานง่ายๆ ที่เหมาะสำหรับผู้เริ่มต้น, พร้อมด้วยระดับความท้าทายที่แตกต่างกันและมีป้ายกำกับที่แตกต่างกัน คุณสามารถตรวจสอบตารางได้ ที่นี่

Pull Requests

Casbin ใช้ GitHub เป็นแพลตฟอร์มการพัฒนา, ดังนั้น pull requests เป็นวิธีหลักในการมีส่วนร่วม

ก่อนที่จะเปิด pull request, มีสิ่งที่คุณต้องรู้บางอย่าง:

  • อธิบายว่าทำไมคุณถึงส่ง pull request และมันจะทำอะไรให้กับ repository

  • ตรวจสอบให้แน่ใจว่า pull request ทำเพียงหนึ่งอย่างเท่านั้น หากมีการเปลี่ยนแปลงหลายอย่าง, กรุณาแยกพวกเขาออกเป็น pull requests แยกต่างหาก

  • หากคุณกำลังเพิ่มไฟล์ใหม่, กรุณาใส่ใบอนุญาต Casbin ที่ด้านบนของไฟล์ใหม่

    // 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.
  • ในโปรเจ็กต์เช่น Casdoor, Casnode, และ Casbin OA, คุณอาจจำเป็นต้องตั้งค่าตัวอย่างการใช้งานเพื่อแสดงให้ผู้ดูแลเห็นว่า pull request ของคุณช่วยพัฒนาโปรเจ็กต์ได้อย่างไร

  • เมื่อเปิด pull request และส่งมอบการมีส่วนร่วมของคุณ, แนะนำให้ใช้ semantic commits ด้วยรูปแบบต่อไปนี้: <type>(<scope>): <subject> <scope> เป็นตัวเลือก สำหรับการใช้งานที่ละเอียดยิ่งขึ้น, กรุณาอ้างอิงไปที่ Conventional Commits

ใบอนุญาต

โดยการมีส่วนร่วมกับ Casbin, คุณยอมรับว่าการมีส่วนร่วมของคุณจะได้รับใบอนุญาตภายใต้ใบอนุญาต Apache