diff --git a/README.md b/README.md index 16e55ff4b..2e8655134 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,11 @@ Why choose NocoBase - Progressive development, low start-up difficulty, friendly to newcomers - No abduction, no strong dependencies, can be used in any combination or extensions, can be used in existing projects +Architecture +---------- + +![](https://nocobase.oss-cn-beijing.aliyuncs.com/4fde069587182dacbdb00b020d914404.jpg) + Development ---------- diff --git a/README.zh-CN.md b/README.zh-CN.md index 23b551a84..2e35956bf 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -1 +1,122 @@ [English](./README.md) | 简体中文 + +![](https://nocobase.oss-cn-beijing.aliyuncs.com/b44a2146ad4c4b20e6f7fe52a0e8d04e.png) + + +说明 +---------- +NocoBase 仍处于早期开发阶段,仅用于预览,不适合在生产环境中使用。相对稳定以及包含完善文档的公开测试版预计将于 2021 年第三季度发布。 + +如果你希望加入我们一起开发 NocoBase,或者探讨 NocoBase 未来发展,或者需要提供 NocoBase 使用上的帮助,欢迎通过邮件联系我们:hello@nocobase.com + +NocoBase 是什么 +---------- +NocoBase 是一个开源免费的无代码开发平台。 +无论是不懂编程的业务主管,还是精通编程的开发人员,都可以快速搭建各类定制化、私有部署的协作平台、管理系统。 + +[https://www.nocobase.com/](https://www.nocobase.com/) + +哪些人适合使用 NocoBase +---------- +- 中小企业和组织 + - 精通所在组织或行业的业务 + - 希望搭建数字化系统 +- IT 服务商和外包团队 + - 为中小企业和组织提供数字化升级 + - 拥有系统开发能力 + +哪些场景适合使用 NocoBase +---------- +- 中小企业和组织为自己或者为所在行业搭建业务平台和管理系统 + - 希望价格足够低,甚至免费 + - 不懂编程也可以灵活定制 + - 需要完全掌控源代码和数据 + - 可以以自有产品的形态自由分发和销售 +- 服务商和外包团队为客户开发协作平台和管理系统 + - 希望尽可能降低开发成本 + - 需要极致友好的二次开发体验 + - 必须以独立产品的形态为客户私有部署 + - 客户可以自由分发和销售 + +为什么选择 NocoBase +---------- +- 开源免费 + - 采用 MIT 许可协议,不限制商业使用 + - 拥有全部代码,私有化部署,保障数据私有和安全 + - 针对实际需求自由扩展开发 + - 具备良好的生态支持 +- 无代码能力强 + - 灵活的“菜单→页面→视图→数据”架构,不懂编程也能做出强大的系统 + - 像创建文档一样无限制地创建页面,并通过不限层级的导航菜单灵活组织 + - 像输入文字一样向页面中添加表格、日历、表单、图表等各类视图并自由组合 + - 精确配置数据的操作权限、页面和菜单的访问权限 +- 对开发者友好 + - 微内核,灵活易扩展,具备健全的插件体系 + - 基于 Node.js,使用主流框架和技术,包括 Koa、Sequelize、React、Ant Design 等 + - 渐进式开发,上手难度低,对新人友好 + - 不绑架、不强依赖,可任意组合使用或扩展,可用于现有项目中 + +NocoBase 架构 +---------- +![](https://nocobase.oss-cn-beijing.aliyuncs.com/0ca81f8b33fb67871aae670899710d89.png) + +- **微内核** +NocoBase 采用微内核架构,框架只保留核心的概念,具体各类功能都以插件的形式扩展。各个包可以拆出来单独或组合使用,可用于现有项目中,这也是渐进式框架的意义所在。除此之外,我们也非常注重与现有技术框架融合,做连接现有生态的桥梁,而不是闭门造车。 + +- **插件化** +所有的功能需求都通过插件形式扩展,除了现有的几个核心插件以外,开发者还可以自由的扩展,包括但不局限于: + - Collection - 数据表 + - Relationship - 相关数据 + - Field - 字段 + - Model - 模型 + - Hook - 事件 + - Resource - 资源 + - Action - 操作方法 + - Middleware - 中间件 + - View - 视图 + - Page - 页面 + +- **配置化驱动** +配置化是常见的无代码/低代码技术方案,NocoBase 也是基于配置驱动的,为了方便各类配置需求,配置有三类写法: + - 直接写在代码里,多用于处理动态配置 + - 保存在文件里,多用于系统表配置或纯开发配置 + - 保存在数据表里,多用于业务表配置 + +Development +---------- + +Install Dependencies + +~~~shell +# Install dependencies for root project +npm i + +# Install dependencies for sub packages via lerna +npm run bootstrap +~~~ + +Set Environment Variables + +~~~shell +cp .env.example .env +~~~ + +Build + +~~~shell +# for all packages +npm run build + +# for specific package +npm run build ... +~~~ + +Test + +~~~ +# For all packages +npm test + +# For specific package +npm test packages/ +~~~