Contributing
Casbin est une puissante bibliothèque d'autorisation qui prend en charge les modèles de contrôle d'accès avec des implémentations dans de nombreux langages de programmation. Si vous maîtrisez un langage de programmation, vous pouvez contribuer au développement de Casbin. Les nouveaux contributeurs sont toujours les bienvenus.
Actuellement, il existe deux principaux types de projets :
- Projets orientés algorithmes - Ces projets impliquent la mise en œuvre d'algorithmes dans différents langages de programmation. Casbin prend en charge un large éventail de langages, y compris Golang, Java, C++, Elixir, Dart et Rust, ainsi que leurs produits associés.
Casbin | jCasbin | node-Casbin | PHP-Casbin |
Prêt pour la production | Prêt pour la production | Prêt pour la production | Prêt pour la production |
PyCasbin | Casbin.NET | Casbin-CPP | Casbin-RS |
Prêt pour la production | Prêt pour la production | Prêt pour la production | Prêt pour la production |
- Projets orientés application - Ces projets sont liés aux applications construites sur Casbin.
Projet | Démo | Détails | Compétences techniques |
---|---|---|---|
Casdoor | Casdoor | Casdoor est une plateforme d'authentification centralisée orientée UI/Single-Sign-On (SSO) basée sur OAuth 2.0/OIDC. | JavaScript + React et Golang + Beego + SQL |
Casnode | Forum Casbin | Casnode est un logiciel de forum de nouvelle génération. | JavaScript + React et Golang + Beego + SQL |
Casbin OA | Système OA | Casbin-OA est un système officiel de traitement, d'évaluation et d'affichage de manuscrits pour les rédacteurs techniques de Casbin. | JavaScript + React et Golang + Beego + MySQL |
Éditeur Casbin | Éditeur Casbin | Casbin-editor est un éditeur web pour les modèles et les politiques de Casbin. | TypeScript + React |
Participation
Il existe de nombreuses façons de contribuer à Casbin. Voici quelques idées pour commencer :
Utilisez Casbin et signalez les problèmes ! Lors de l'utilisation de Casbin, signalez tous les problèmes que vous rencontrez pour aider à promouvoir le développement de Casbin. Qu'il s'agisse d'un bug ou d'une proposition, il est recommandé de déposer un problème sur GitHub. Cependant, il serait préférable d'avoir d'abord une discussion sur Discord ou GitHub Discussions avant de déposer un problème.
Note : Lorsque vous signalez un problème, veuillez utiliser l'anglais pour décrire les détails de votre problème.
Aidez avec la documentation ! Contribuer à la documentation est un bon point de départ pour votre contribution.
Aidez à résoudre les problèmes ! Nous avons préparé un tableau contenant des tâches faciles adaptées aux débutants, avec différents niveaux de défis étiquetés avec différentes balises. Vous pouvez consulter le tableau ici.
Pull Requests
Casbin utilise GitHub comme plateforme de développement, donc les pull requests sont le principal moyen de contribuer.
Avant d'ouvrir une pull request, il y a quelques choses que vous devez savoir :
Expliquez pourquoi vous envoyez la pull request et ce qu'elle fera pour le dépôt.
Assurez-vous que la pull request ne fait qu'une seule chose. S'il y a plusieurs modifications, veuillez les diviser en pull requests séparées.
Si vous ajoutez de nouveaux fichiers, veuillez inclure la licence Casbin en haut du ou des nouveaux fichiers.
// 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.Dans des projets comme Casdoor, Casnode, et Casbin OA, vous devrez peut-être mettre en place une démo pour montrer au mainteneur comment votre pull request aide au développement du projet.
Lors de l'ouverture d'une pull request et de la validation de votre contribution, il est recommandé d'utiliser des commits sémantiques avec le format suivant :
<type>(<scope>): <subject>
. Le<scope>
est facultatif. Pour une utilisation plus détaillée, veuillez vous référer à Conventional Commits.
Licence
En contribuant à Casbin, vous acceptez que vos contributions soient licenciées sous la licence Apache.