التخطي إلى المحتوى الرئيسي

Contributing

Casbin هي مكتبة تفويض قوية تدعم نماذج التحكم في الوصول مع تنفيذها في العديد من لغات البرمجة. إذا كنت متمكنًا من أي لغة برمجة، يمكنك المساهمة في تطوير Casbin. المساهمون الجدد مرحب بهم دائمًا.

حاليًا، هناك نوعان رئيسيان من المشاريع:

  • مشاريع موجهة نحو الخوارزميات - تتضمن هذه المشاريع تنفيذ الخوارزميات في لغات برمجة مختلفة. Casbin تدعم مجموعة واسعة من اللغات، بما في ذلك Golang و Java و C++ و Elixir و Dart و Rust، إلى جانب منتجاتها ذات الصلة.
golangjavanodejsphp
CasbinjCasbinnode-CasbinPHP-Casbin
جاهز للإنتاججاهز للإنتاججاهز للإنتاججاهز للإنتاج
pythondotnetc++rust
PyCasbinCasbin.NETCasbin-CPPCasbin-RS
جاهز للإنتاججاهز للإنتاججاهز للإنتاججاهز للإنتاج
  • مشاريع موجهة نحو التطبيقات - هذه المشاريع متعلقة بالتطبيقات المبنية على أساس Casbin.
المشروعالعرض التوضيحيالتفاصيلمجموعة المهارات
CasdoorCasdoorCasdoor هو منصة مركزية للمصادقة/تسجيل الدخول الفردي (SSO) تعتمد على OAuth 2.0/OIDC.JavaScript + React و Golang + Beego + SQL
Casnodeمنتدى CasbinCasnode هو برنامج منتدى من الجيل القادم.JavaScript + React و Golang + Beego + SQL
Casbin OAنظام OACasbin-OA هو نظام رسمي لمعالجة وتقييم وعرض المخطوطات للكتاب الفنيين في Casbin.JavaScript + React و Golang + Beego + MySQL
Casbin Editorمحرر Casbinمحرر Casbin-editor هو محرر قائم على الويب لنماذج وسياسات Casbin.TypeScript + React

المشاركة

هناك العديد من الطرق للمساهمة في Casbin. إليك بعض الأفكار للبدء:

  • استخدم Casbin وأبلغ عن المشكلات! عند استخدام Casbin، أبلغ عن أي مشكلات تواجهها للمساعدة في تعزيز تطوير Casbin. سواء كانت مشكلة أو اقتراحًا، يُنصح بتقديم مشكلة على GitHub. ومع ذلك، سيكون من الأفضل إجراء مناقشة أولاً على Discord أو GitHub Discussions قبل تقديم مشكلة.

    ملاحظة: عند الإبلاغ عن مشكلة، يرجى استخدام اللغة الإنجليزية لوصف تفاصيل مشكلتك.

  • ساعد في التوثيق! المساهمة في التوثيق هي نقطة انطلاق جيدة لمساهمتك.

  • ساعد في حل المشكلات! لقد أعددنا جدولًا يحتوي على مهام سهلة مناسبة للمبتدئين، مع مستويات مختلفة من التحديات موسومة بعلامات مختلفة. يمكنك التحقق من الجدول هنا.

طلبات السحب

Casbin يستخدم GitHub كمنصة تطوير، لذلك طلبات السحب هي الطريقة الرئيسية للمساهمة.

قبل فتح طلب سحب، هناك بعض الأشياء التي تحتاج إلى معرفتها:

  • اشرح لماذا ترسل طلب السحب وماذا سيفعل للمستودع.

  • تأكد من أن طلب السحب يفعل شيئًا واحدًا فقط. إذا كانت هناك تغييرات متعددة، يرجى تقسيمها إلى طلبات سحب منفصلة.

  • إذا كنت تضيف ملفات جديدة، يرجى تضمين ترخيص 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، قد تحتاج إلى إعداد عرض توضيحي لإظهار الصيانة كيف يساعد طلب السحب الخاص بك في تطوير المشروع.

  • عند فتح طلب سحب وتقديم مساهمتك، يُنصح باستخدام الالتزامات الدلالية بالتنسيق التالي: <type>(<scope>): <subject>. <scope> اختياري. لمزيد من التفاصيل حول الاستخدام، يرجى الرجوع إلى Conventional Commits.

الترخيص

بالمساهمة في Casbin، فإنك توافق على أن مساهماتك ستكون مرخصة تحت ترخيص Apache.