Перейти к основному контенту

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Редактор CasbinCasbin-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.