各位 v2er 大家新年好,今天想毛遂自荐一下自己写了蛮久的一个小框架 —— Leaf
Leaf 是我制作的一个微信商城框架,从有这个想法开始到现在有一个基础可用的模型花了有一年半的时间,期间经历过三、四次大范围重构。我一直的想法都是不求快速而希望提高代码质量,所以每一个子模块都会花比较长的时间去认真思考构建。
开发这个系统的初衷是想实现一个对普通用户易用、并且对开发者友好的 轻型 开源 CMS,这里的轻型指的是对小微企业 /组织 /个人用户足够好用的框架,因为我们不是人人都需要策划双 11 那种大型的系统,所以我更希望它是一个小而精的项目。
现在,它拥有 3.5k+左右的代码&2k+左右的注释,基于 Python3.5+ 构建,后端使用了 Flask + mongoengine 作为基础框架和 ORM。
我自己也是一个业余开发者,所以比较清楚各位 coder 们最不想看到的代码是什么样子的,所以我在开发的时候保持着对自己代码的一系列要求:
- 注释完备:我深知没有注释的代码等于天书这个道理,
Leaf从核心模块到视图函数都有详细的注释。 - 关于文档:我更希望
Leaf是一个高扩展性的系统,所以在项目中留下了很多可以扩展的点,这些都需要通过文档来与各位开发者沟通,所以我会为Leaf补充完善的二次开发文档。由于个人的精力有限,文档暂时还没有上线,但是我会尽快补全。 - 类型提示:上面说到项目基于
Python 3.5开发,这是因为从 3.5 开始引入了type hinting,这是我个人非常喜欢的一个功能,所以Leaf的全部代码都支持类型提示。 - 代码风格:我在整个开发过程中尽可能地维持一致的代码风格,使用
Pylint评分一直保持在 9 分之上。我知道分数不代表一切,但是希望能够做得更好。
下面再简单的说一些开发特性:
- 任务计划支持
- 事件与回调机制支持
- 完善的插件系统与插件热插拔支持
- 基于角色的动态用户权限控制
- 微信支付 /微信公众平台对接支持
- ...
现在项目仍然处在开发阶段,后端部分主要剩下了一些 CRUD 的部分,后期的开发计划具体可以查看readme中的 TODO。而前端部分想寻求有想法的前端小伙伴的帮助(因为我对前端知识了解甚少)。
因为本人水平有限,所以项目中难免有许多问题,如果有任何问题欢迎大家批评指正。也希望大家喜欢这个项目并持续关注,我会尽力做的更好。
再说点题外话:项目这两天在微信群和朋友圈进行了轻度的宣传,结果今天在 Traffic 中发现项目被 clone 了十多次,然而到现在为止只有 1 个 star 实在有点桑心~ 如果大家喜欢的话,请点个 star 给我支持哦~
最后贴上地址:Leaf - 一个开发友好、功能完备的开源微信商城框架