{"id":13844020,"url":"https://github.com/casbin/Summer2022","last_synced_at":"2025-07-11T21:32:30.801Z","repository":{"id":40507514,"uuid":"486624696","full_name":"casbin/Summer2022","owner":"casbin","description":"开源软件供应链点亮计划-暑期2022 for Casbin 【学生报名请加QQ群：540163681】","archived":false,"fork":false,"pushed_at":"2022-05-04T10:43:21.000Z","size":74,"stargazers_count":3,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-29T10:08:36.024Z","etag":null,"topics":["casbin","casdoor","casnode","gsoc","ospp","ospp2022","summer2022"],"latest_commit_sha":null,"homepage":"https://summer-ospp.ac.cn","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/casbin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-28T14:19:07.000Z","updated_at":"2023-08-22T04:42:51.000Z","dependencies_parsed_at":"2022-08-09T22:22:22.178Z","dependency_job_id":null,"html_url":"https://github.com/casbin/Summer2022","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casbin%2FSummer2022","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casbin%2FSummer2022/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casbin%2FSummer2022/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casbin%2FSummer2022/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/casbin","download_url":"https://codeload.github.com/casbin/Summer2022/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224511590,"owners_count":17323452,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["casbin","casdoor","casnode","gsoc","ospp","ospp2022","summer2022"],"created_at":"2024-08-04T17:02:32.774Z","updated_at":"2024-11-21T16:30:24.137Z","avatar_url":"https://github.com/casbin.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"## 开源软件供应链点亮计划-暑期2022\n\n### 开源软件供应链点亮计划-暑期2022”是什么？\n\n“开源软件供应链点亮计划-暑期2022”（以下简称 暑期2022）是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动，旨在鼓励在校学生积极参与开源软件的开发维护，促进国内优秀开源软件社区的蓬勃发展。\n\n该计划将联合各大开源社区，针对重要开源软件的开发与维护提供项目，并向全球高校学生开放报名。学生可自主选择感兴趣的项目进行申请，并在中选后获得该软件资深维护者（社区导师）亲自指导的机会。根据项目的难易程度和完成情况，参与者还将获取“开源软件供应链点亮计划-暑期2022”活动奖杯和奖金。\n\n暑期 2020 活动信息请查阅：https://summer-ospp.ac.cn/2020/\n\n暑期 2021 活动信息请查阅：https://summer-ospp.ac.cn/2021/\n\n**“暑期2022”项目在今年（2022）第三次举办，与Google Summer of Code类似，可以看做中国版的GSoC。**\n\n1. 官网：https://summer-ospp.ac.cn/\n2. 新闻：https://segmentfault.com/a/1190000041695372\n\n### 活动的组织方有哪些\n\n本次活动由中国科学院软件研究所、openEuler 社区主办，当前是第三届。\n\n### 活动的参与方以及角色有哪些\n\n活动参与方主要角色为学生、社区和导师。\n\n1. 学生：学生自由选择项目，与社区导师沟通实现方案并撰写项目计划书。被选中的学生将在社区导师指导下，按计划完成开发工作，并将成果贡献给社区。社区评估学生的完成度，主办方根据评估结果发放资助金额给学生。\n2. 社区：社区提供项目列表和描述，并安排项目对应的导师，导师与申请者沟通方案、并从申请者中选中一位承接项目。在为期三个月的开发周期中，导师指导学生进行对应项目的开发工作。\n3. 导师：社区针对每一个项目指定一个社区导师，与学生一起制定合适的开发计划和方案，指导学生按计划完成开发。\n\n### 项目的奖金是多少\n\n学生可获得的奖金：\n\n1. 进阶：奖金人民币 12000 元：优化类的任务，例如提高时间、降低内存占用、提供性能等\n2. 基础：奖金人民币 8000 元：功能类的任务，例如为本社区开源项目增加一个或若干个重要特性等\n\n难度分级由社区根据项目任务决定。\n\n对于导师而言，无论何种难度，导师的奖金为每个项目税前 3000 元人民币，每位导师最多负责 1 个项目，即奖金最多为税前 3000 元人民币。\n\n## Casbin开源项目介绍\n\nCasbin是一个强大的、高效的开源访问控制框架。涉及到Go, Java, Node.js, Javascript (React), Python, PHP, .NET, Delphi, Rust等多种语言。Casbin由北京大学罗杨博士创立于2017年，核心维护团队有数十人。Casbin在业界具有广泛影响力。目前已经被Intel、VMware、Orange、RedHat、T-Mobile等公司开源使用，被腾讯云、Cisco、Verizon等公司闭源使用。具体详见Casbin主页。Casbin Go主项目目前GitHub 8800+ stars，加上所有语言的实现、插件等可达到15000+ stars。Casbin曾经在国际上多次宣讲：\n\n1. 新加坡政府技术部门Open Government Products：https://www.youtube.com/watch?v=OTT84oplR9o\n2. 俄罗斯最大在线旅游平台tutu.ru：https://www.youtube.com/watch?v=Z5dUxH4PqYM\n\n具体请了解Casbin官网：https://casbin.org/\n\n## 可选项目列表\n\n下列所有项目都与Casbin一致，采用开源协议：[Apache 2.0 license](LICENSE)\n\n- [Casbin核心权限库改进（Go + Java）](#casbin核心权限库改进go--java)\n- [Casbin核心权限库改进（Go + .NET）](#casbin核心权限库改进go--net)\n- [Casbin/Casdoor 文档优化](#casbincasdoor-文档优化)\n- [Casdoor单点登录系统、Casnode社区系统（前端React + JS，后端Go）](#casdoor单点登录系统casnode社区系统前端react--js后端go)\n- [Python/PHP-Casbin 在分布式系统和主流框架下的应用扩展开发（Python/PHP）](#pythonphp-casbin-在分布式系统和主流框架下的应用扩展开发pythonphp)\n- [SwiftCasbin 开发（Swift)或Casdoor单点登录系统大前端支持](#swiftcasbin-开发swift或casdoor单点登录系统大前端支持)\n\n### Casbin核心权限库改进（Go + Java）\n1. 项目名称：Casbin（Go + Java）\n2. 项目主导师：[唐阳 (Yang Tang)](https://github.com/tangyang9464), tangyang9464 (AT) 163.com\n3. 项目描述：Casbin采用独特的PERM模型语法（model）来实现强大、灵活的访问控制。Casbin Golang版本作为Casbin的第一个语言实现，拥有最多的用户以及最先进的feature。我们希望在Casbin Golang上： 1）增强Casbin语法的表达能力，满足用户多样化的策略制定需求； 2）优化Casbin在大规模规则集上（百万以上）的策略评估性能。 jCasbin是Casbin的Java版本，它需要及时跟踪Golang Casbin主库的最新feature并移植到Java版本中来。同时维护Java特有的生态\n4. 项目难度：进阶\n5. 涉及技术领域标签：Authorization\n6. 编程语言标签：Go, Java\n7. 项目产出要求：\n   - 增强Casbin语法的表达能力，满足用户多样化的策略制定需求\n   - 优化Casbin在大规模规则集上（百万以上）的策略评估性能\n   - 跟踪Casbin-Go最新特性并移植到jCasbin，如实现WatcherEx:[casbin#943](https://github.com/casbin/casbin/issues/943)\n   - 维护完善jCasbin的Java特有生态，如实现Play框架中间件：[jcasbin#104](https://github.com/casbin/jcasbin/issues/104)\n   - 解决Casbin-Go和jCasbin以及相关仓库中的issues：[Casbin-Go](https://github.com/casbin/casbin/issues) \u0026 [jCasbin](https://github.com/casbin/jcasbin/issues)\n8. 项目技术要求：\n   - 熟悉Golang或Java语言\n   - 熟悉Git、GitHub相关操作\n9. 项目成果仓库：\n   - https://github.com/casbin/casbin\n   - https://github.com/casbin/jcasbin\n\n\n### Casbin核心权限库改进（Go + .NET）\n1. 项目名称：Casbin（Go + .NET）\n2. 项目主导师：[汤贤赫 (Sagilio)](https://github.com/sagilio), sagilio (AT) outlook.com\n3. 项目描述：Casbin采用独特的PERM模型语法（model）来实现强大、灵活的访问控制。Casbin Golang版本作为Casbin的第一个语言实现，拥有最多的用户以及最先进的feature。我们希望在Casbin Golang上： 1）增强Casbin语法的表达能力，满足用户多样化的策略制定需求； 2）优化Casbin在大规模规则集上（百万以上）的策略评估性能。 Casbin.NET是Casbin的.NET版本，它需要及时跟踪Golang Casbin主库的最新feature并移植到.NET版本中来。并维护.NET特有的生态\n4. 项目难度：进阶\n5. 涉及技术领域标签：Authorization\n6. 编程语言标签：Go, C#(.NET)\n7. 项目产出要求：\n   - 增强Casbin语法的表达能力，满足用户多样化的策略制定需求\n   - 优化Casbin在大规模规则集上（百万以上）的策略评估性能\n   - 跟踪Casbin-Go最新特性与BUG修复，并同步到Casbin.NET，如重构的RoleManager:[Casbin.NET#250](https://github.com/casbin/Casbin.NET/issues/250)\n   - 完善Casbin.NET的特有生态, 1) 完善现有的aspnetcore中间件：https://github.com/casbin-net/casbin-aspnetcore; 2) 完善Casdoor.SDK的.NET版本: https://github.com/casdoor/casdoor-dotnet-sdk\n   - 解决Casbin-Go和Casbin.NET以及相关仓库中的issues：[Casbin-Go](https://github.com/casbin/casbin/issues) \u0026 [Casbin.NET](https://github.com/casbin/Casbin.NET/issues)\n8. 项目技术要求：\n   - 熟悉Golang或C#语言\n   - 熟悉Git、GitHub相关操作\n9. 项目成果仓库：\n   - https://github.com/casbin/casbin\n   - https://github.com/casbin/Casbin.NET\n\n### Casbin/Casdoor 文档优化\n\n1. 项目标题：Casbin/Casdoor 文档优化\n2. 项目主导师：[刘子轩 (nodece)](https://github.com/nodece), nodeces (AT) gmail.com\n3. 项目描述：Casbin和Casdoor是Casbin社区的出色项目，他们的官网和文档都是使用[Docusaurus](https://docusaurus.io/)框架进行搭建，文档翻译是使用[CrowdIn](https://crowdin.com/)在线翻译平台进行众包翻译，随着项目的不断发展，文档与代码会存在一定的落差。文档是软件的重要组成部分，改进文档提升用户体验是不可或缺的部分。\n4. 项目难度：基础\n5. 涉及技术领域标签：Authorization, Authentication\n6. 编程语言标签：JavaScript, Golang\n7. 项目产出要求：\n   - 同步Casbin以支持的语言的management API和rabc API到Casbin文档中的API模块\n   - 改进Casdoor文档整体体验，梳理Casdoor各个功能，对文档内容和布局进行优化\n   - 对Casbin文档进行英译汉，当前进度86%，目标进度100%\n   - 对Casdoor文档进行英译汉，当前进度80%，目标进度100%\n   - （有时）撰写、编辑Casbin社区推广（如Casbin官方微信公众号）文章\n8. 项目技术要求：\n   - 热爱并有能力撰写技术博客、文章\n   - 了解Git、GitHub相关操作\n   - 了解Casbin的工作原理\n   - 了解Casdoor的工作原理\n9. 项目成果仓库：\n   - https://github.com/casbin/casbin-website\n   - https://github.com/casdoor/casdoor-website\n\n### Casdoor单点登录系统、Casnode社区系统（前端React + JS，后端Go）\n\n1. 项目名称：Casdoor单点登录系统、Casnode社区系统（前端React + JS，后端Go）\n2. 项目主导师：[罗杨 (hsluoyz)](https://github.com/hsluoyz), hsluoyz (AT) gmail.com\n3. 项目描述：Casdoor是一套基于基于OAuth 2.0 / OIDC协议的统一身份认证（单点登录）系统。其支持多种第三方登录方式，如QQ、微信、Google, GitHub等。Casdoor具有Web管理界面，可以用来管理用户、角色、权限（基于Casbin）。Casbin社区目前采用QQ群（中文），Gitter（英文）进行社区交流，交流渠道比较有限。我们打算开发一个同时面向Casbin开发者和用户的官方论坛：casnode（https://github.com/casbin/casnode ）。该论坛开源，因此也欢迎其他开源社区使用。\n4. 项目难度：进阶\n5. 涉及技术领域标签：Micro Service\n6. 编程语言标签：Go, JavaScript\n7. 项目产出要求：\n   - 扩展架构，添加更多的第三方登录支持\n   - 优化、美化Web界面\n   - 支持Casbin权限管理\n   - 继续维护该项目，添加features，解决bugs，完善其邮件列表功能\n   - 解决Casdoor主仓库\u0026相关仓库中的issues：https://github.com/casbin/casdoor/issues\n   - 解决Casnode\u0026相关仓库中的issues：https://github.com/casbin/casnode/issues\n8. 项目技术要求：\n   - 熟悉React、Javascript语言（前端）\n   - 熟悉Golang语言（后端）\n   - 熟悉Git、GitHub相关操作\n9. 项目成果仓库：\n   - https://github.com/casdoor/casdoor\n   - https://github.com/casbin/casnode\n\n### Python/PHP-Casbin 在分布式系统和主流框架下的应用扩展开发（Python/PHP）\n\n1. 项目名称：Python/PHP-Casbin 生态完善（Python/PHP）\n2. 项目主导师：[李强 (Jon Lee)](https://github.com/leeqvip), leeqvip (AT) gmail.com\n3. 项目描述：Casbin 是一个强大的、高效的开源访问控制框架，对主流语言都有相关实现，包括Python、PHP版本的Casbin。Casbin在业界具有广泛影响力，社区活跃。目前，目前PyCasbin/PHP-Casbin主库主要功能虽然相对完善和稳定，但仍然需要不断迭代演进，特别是对Python和PHP生态内各种框架、插件的集成，代码质量和性能还有调优的可能，所以我们希望对主库及其周边生态系统进行完善和优化，以增强Casbin在脚本语言Python和PHP领域的应用场景，提高外部系统接入Casbin效率和成本，进而扩大Casbin在Python和PHP领域的生态圈，使其能更好更快的发展。\n4. 项目难度：进阶\n5. 涉及技术领域标签：Authorization、API\n6. 编程语言标签：Python，PHP，Go\n7. 项目产出要求：\n   - 对分布式存储系统`ETCD`的适配`etcd-adapter`\n   - 完善Py/PHP-Casbin的对Redis（`redis-adapter`）适配器\n   - 对权限决策`enforce()`的过程做基准测试、弱点分析、性能优化\n   - 增加`addPermissionsForUser()` API.\n   - 增加对`g`方法的缓存, 参考: https://github.com/casbin/casbin/blob/master/util/builtin_operators.go#L333.\n   - 实现和完善[WatcherEx](https://casbin.org/docs/en/watchers#watcherex)\n   - 引入Casbin核心引擎[Casbin Core Engine (Golang)](https://github.com/casbin/casbin/releases)中的新功能\n   - 对主流框架的支持增强，例如：如果在Python的`Django`的扩展中, 需要引入Django的`Middleware`, `Caching`, `Logging`, 集成`Django`的认证系统（authentication system）；而PHP主流框架Laravel中已有[Laravel-Authz](https://github.com/php-casbin/laravel-authz)，但需要引入Laravel的[Gates](https://laravel.com/docs/9.x/authorization#gates)等\n   - 解决[PyCasbin](https://github.com/casbin/pycasbin)或[PHP-Casbin](https://github.com/php-casbin/php-casbin)主库以及相关仓库中的issues\n8. 项目技术要求：\n   - 熟悉Python、PHP任意一种语言即可\n   - 熟悉Git、GitHub相关操作\n9. 项目成果仓库：\n   - https://github.com/casbin/pycasbin\n   - https://github.com/pycasbin\n   - https://github.com/php-casbin/php-casbin\n   - https://github.com/php-casbin\n\n### SwiftCasbin 开发（Swift）或Casdoor单点登录系统大前端支持\n\n1. 项目名称：SwiftCasbin 开发（Swift）SwiftCasbin 开发（Swift)或Casdoor单点登录系统大前端支持。\n2. 项目主导师：[孟祥文 (xiaobeiswift)](https://github.com/xiaobeiswift) cit117 (AT) me.com\n3. 项目描述：开发Swift版本的Casbin，支持iOS App、Swift服务器端应用等生态。Casdoor单点登录系统大前端应用 ios、安卓、flutter、uinapp、小程序等sdk的开发\n4. 项目难度：进阶\n5. 涉及技术领域标签：Authorization,SDK,Casdoor,App\n6. 编程语言标签：swift,dart,java,kotlin,js\n7. 项目产出要求：\n   - 实现 Casbin 的 Swift 版本\n   - 实现纯数据库驱动的 adapter: PostgresQL, Mysql, Microsoft SQL Server, Oracle, SQLite, IBM Db2.\n   - 解决 SwiftCasbin 主仓库\u0026相关仓库中的 issues：https://github.com/casbin/SwiftCasbin/issues\n   - 设计前端友好的casdoor api,完成安卓，ios，flutter，uniapp，小程序的sdk\n   - 每个sdk演示app的开发及文档完善。\n8. 项目技术要求：\n   - 熟悉 Swift/Dart/Java/Kotlin/js 语言的一种\n   - 熟悉 iOS/andriod/flutter一种原生开发或小程序/uniapp框架的使用\n   - 了解Oauth2流程\n   - 熟悉 Git、GitHub 相关操作\n9. 项目成果仓库：\n   - https://github.com/casbin/SwiftCasbin\n   - https://github.com/SwiftCasbin\n   - https://github.com/casdoor/casdoor-ios-sdk\n   - https://github.com/casdoor/casdoor-android-sdk\n   - https://github.com/casdoor/casdoor-dart-sdk\n\n所有可选项目详见：https://github.com/casbin/Summer2022#可选项目列表\n\n## 候选人要求\n\n### 工作职责：\n\n- 每周与项目导师进行线上讨论，完成项目规定的开发任务。项目导师由开源项目创始人或其他核心成员担任；\n- 积极参与开源社区的建设，参与代码提交、解决Issue、审核PR等日常工作；\n- 配合完成官方要求的材料提交等事项，包括项目申请书撰写、社区反馈任务完成度追踪等。\n\n### 职位要求：\n\n- 本科、硕士或博士在读（已毕业、工作的无法参加）；\n- 对开源软件、开源社区感兴趣；\n- 熟悉一种或多种编程语言，有较强的工程能力，代码格式清晰规范，善于团队协作；\n- 有一定英文读写能力，能够熟练运用英语在GitHub进行开发、协作；\n- 较强的沟通能力和逻辑表达能力。\n\n### 具有以下条件者优先：\n\n- 熟悉计算机网络、网络安全，有相关项目经验；\n- 熟悉Go, Rust等语言、分布式系统、微服务架构，有相关项目经验；\n- 在GitHub较为活跃，有自己的开源项目，或参与过知名开源项目；\n- 可以在项目结束后继续长期参与开源社区的开发、建设或维护。\n\n\n## 投递要求\n\n申请学生需要同时完成以下“联系社区”和“官网投递”两个环节：\n\n### 1. 联系社区（即日起至2022年6月4日）\n\n1. 发送【中文简历PDF】至Casbin社区官方邮箱：admin (AT) casbin.org \n2. 加入《Casbin访问控制社区群》（QQ大群）：[546057381](https://shang.qq.com/wpa/qunwpa?idkey=8ac8b91fc97ace3d383d0035f7aa06f7d670fd8e8d4837347354a31c18fac885)\n3. 加入《Casbin明日之星预选生-Talent 2022-群》（QQ小群）：[540163681](https://qm.qq.com/cgi-bin/qm/qr?k=5MjIdZuPmAio6lfAr-NTxBY0CcoGL1yl\u0026jump_from=webapi) ，联系导师，与导师沟通项目细节和方案，完善项目申请书\n4. 选择技术写作题目“Casbin文档中文翻译 + 官网优化”的同学，还需要加入《Casbin文档题目申请》（QQ文档群）：[714309545](https://qm.qq.com/cgi-bin/qm/qr?k=T-hOJN1IzKN638y2N9rJJDdIT1fqpfua\u0026jump_from=webapi)，并仔细阅读群公告，联系导师沟通项目细节\n\n### 2. 官网投递（2022年5月21日至2022年6月4日）\n\n详见：https://summer-ospp.ac.cn/help/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasbin%2FSummer2022","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcasbin%2FSummer2022","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasbin%2FSummer2022/lists"}