Contributing
Casbin هي مكتبة تفويض قوية تدعم نماذج التحكم في الوصول مع تنفيذها في العديد من لغات البرمجة. إذا كنت متمكنًا من أي لغة برمجة، يمكنك المساهمة في تطوير Casbin. المساهمون الجدد مرحب بهم دائمًا.
حاليًا، هناك نوعان رئيسيان من المشاريع:
- مشاريع موجهة نحو الخوارزميات - تتضمن هذه المشاريع تنفيذ الخوارزميات في لغات برمجة مختلفة. Casbin تدعم مجموعة واسعة من اللغات، بما في ذلك Golang و Java و C++ و Elixir و Dart و Rust، إلى جانب منتجاتها ذات الصلة.
Casbin | jCasbin | node-Casbin | PHP-Casbin |
جاهز للإنتاج | جاهز للإنتاج | جاهز للإنتاج | جاهز للإنتاج |
PyCasbin | Casbin.NET | Casbin-CPP | Casbin-RS |
جاهز للإنتاج | جاهز للإنتاج | جاهز للإنتاج | جاهز للإنتاج |
- مشاريع موجهة نحو التطبيقات - هذه المشاريع متعلقة بالتطبيقات المبنية على أساس Casbin.
المشروع | العرض التوضيحي | التفاصيل | مجموعة المهارات |
---|---|---|---|
Casdoor | Casdoor | Casdoor هو منصة مركزية للمصادقة/تسجيل الدخول الفردي (SSO) تعتمد على OAuth 2.0/OIDC. | JavaScript + React و Golang + Beego + SQL |
Casnode | منتدى Casbin | Casnode هو برنامج منتدى من الجيل القادم. | JavaScript + React و Golang + Beego + SQL |
Casbin OA | نظام OA | Casbin-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.