1 Star 0 Fork 144

zclhl / godocms

forked from godo / godoOA 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

关于godocms

godocms是刚东科技开发的一套开源办公套件,遵从Apache License 2.0开源协议,非常适合二次开发,内含word/excel/ppt/pdf/svg/思维导图/流程图/日程管理等多个办公系统解决方案。godocms也是一套低代码开发套件,内含模块管理/接口管理/代码拖拽/数据库管理/表单管理等一套完善的低代码开发工具流。内含两套风格界面,win10和传统软件界面,可随时切换。

为什么做?

现在主流的办公套件要么不开源,要么需要授权,而且安装异常复杂。随着技术的日新月异,很多开源组件基本能够解决办公套件商用化的痛点甚至更好,但都是零碎的/单一的解决方案,为此我们沉心静气花耗半年时间打磨了这套产品。godocms基本实现了办公三套件(word/ppt/excel)的编辑流,无需服务器安装底层的模块。

低代码现在处在一个发展阶段,国内也涌现了一大批优秀的低代码套件,更接地气更平民化。但是要解决大型复杂的业务流时总是感觉有点力不从心,为什么呢?我们做了认真的思考和研究,发现很多低代码套件都忽视了软件开发的基本流程和本质,一套软件的开发流程包含很多,需求分析/架构设计/开发/测试/交付等,这是一个大工程,因为每个子流程里面又包含很多小流程。反过来想,如果把每个流程都加进去那就还是低代码吗?其实google走在最前面,他们开发了blockly。但是blockly在国内并没有得到大面积的推广?why?学习成本和开发成本!blockly不能拿过来直接上项目,很多公司的开发都有自己的底层平台,如果要用blockly那就要做二次开发。godocms基层很多模块都是用blockly开发的,并且完美的集成了进来。我们完全遵从控制层/模型层/逻辑层/服务层的基础软件开发流程,只要明白mvc的思想,就很容易上手。

为什么要用nodejs开发?godocms开发原则是“易上手,容易改”。前端工程师和后端工程师都可以上手,没有复杂的包,学习成本低,简单的做一下二次开发,可以实现大型的复杂项目。

项目地址

https://github.com/godocms/godocms

https://gitee.com/ruitao_admin/godocms

项目演示

https://demo.godocms.com

  • 登录名:admin

  • 密码 :admin

  • (因做了用户唯一登录限制,有时候登录测试时会被其他登录测试的人踢掉线,再次登录即可或下载本地安装测试,系统会定期还原数据,请务保存数据)

  • 联系方式:13885863355(手机/微信)

  • QQ交流群: 123699813

  • Email : xpbb@qq.com

看动图演示

1.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg 7.jpg 8.jpg 9.jpg 10.jpg 11.jpg 12.jpg 13.jpg 14.jpg 15.jpg 16.jpg 17.jpg 18.jpg 19.jpg 20.jpg 21.jpg 22.jpg 23.jpg 24.jpg 25.jpg 26.jpg 27.jpg 28.jpg 29.jpg 30.jpg 41.jpg 42.jpg 43.jpg 44.jpg 45.jpg 46.jpg 47.jpg 48.jpg 49.jpg 50.jpg 51.jpg 52.jpg 53.jpg 54.jpg 55.jpg 56.jpg

功能介绍

一 文档管理

文档管理可以理解成使用说明书/开发文档/文集的生成工具。集成了Docsify,可以自动生成,可以回写,可以书写多个说明文档,可以做为一个说明文档的管理工具使用。

二 数据库设计器

数据库设计器其实就是一个小型的navicat,是一个mysql数据库管理工具。支持数据备份还原;支持自动生成数据库设计文档,md 格式以及实时预览,可以下载成 pdf/word文件;支持数据表名/注释/autoid 的更改,支持优化表/修复表/删除表/清空表;可查看/编辑/新增/复制任意表数据;可更改字段名/注释/默认值/排序,可拖拽排序字段,可删除字段;支持连接/管理外部数据库,可通过ssh连接外部数据库;支持数据库表保护。

三 思维导图

一套完善的思维导图管理工具。支持增/删/改/查,进入后自动添加/自动保存文件;支持逻辑结构图、思维导图、组织结构图、目录组织图四种结构; 内置多种主题,允许高度自定义样式;支持快捷键;节点内容支持图片、图标、超链接、备注、标签;支持前进后退;支持拖动、缩放;支持右键多选;支持节点拖拽;支持 json 格式的导入导出,png/svg 导出。

四 excel表格管理

excel表格管理工具。支持增/删/改/查,导入/导出excel;格式设置:样式,条件格式,文本对齐及旋转,文本截断、溢出、自动换行,多种数据类型,单元格内多样式;单元格:拖拽,下拉填充,多选区,查找和替换,定位,合并单元格,数据验证;行和列操作:隐藏、插入、删除行或列,冻结,文本分列;操作体验:撤销、重做,复制、粘贴、剪切,快捷键,格式刷,选区拖拽;公式和函数:内置公式,远程公式,自定义公式;表格操作:筛选,排序。

五 ppt演示文稿

在线演示文稿(幻灯片ppt)应用。支持增/删/改/查,还原了大部分 Office PowerPoint 常用功能,支持文字、图片、形状、线条、图表、表格、视频、公式几种最常用的元素类型,每一种元素都拥有高度可编辑能力,同时支持丰富的快捷键和右键菜单,尽可能还原本地桌面应用的使用体验。内置了一些常用模版,支持导出 ppt 文件。

六 文档编辑器

不仅仅是word编辑器,也可以作为一个简单的pdf编辑器,还可以编辑md/rtf/text/html等文本文件,基于tesseract可以打开几乎任何的文档文件,支持ocr文字识别,可以打开png/jpg等图片文件,打开后直接显示为文字,无需第三方api,简洁实用。

七 流程图编辑器

项目经理的硬核工具,包含图形/拓扑图/图表/权限流/工作流五个流程图编辑工具,基于mxgraph,支持增/删/改/查,内置demo。更多功能请看演示。

八 文本编辑器

text文本编辑器,支持打开text/html/css/js/svg/xml/md等,支持预览/增/删/改/查,可以当作一个简单的在线editplus。

九 图片编辑器

一个在线图片编辑器,基于tui.image-editor。支持增/删/改/查,支持裁剪、翻转、旋转、绘图、形状、图标、文本、遮罩过滤器、图像过滤器。

十 svg编辑器

svg在线编辑器,基于svgedit。支持增/删/改/查,支持导入/导出svg,功能强大,具体可查看demo。

十一 甘特图

甘特图编辑器。支持增/删/改/查,支持自定义项目人员和角色,支持拖拽/管理分配(资源、角色、工作)等。

十二 日程计划

在线日程计划表。支持增/删/改。基于tui.calendar,支持各种视图类型:每日、每周、每月(6周、2周、3周);支持里程碑和任务计划的高效管理;支持周末宽度;支持更改一周的开始日期;支持自定义日期和日程信息界面(包括网格单元的页眉和页脚);支持通过鼠标拖动调整明细表。

十三 开发工具箱

开发工具箱,包含了很多有用的工具,如 QR 码生成器,QR 码解码、翻译,时间戳转换,源格式,JSON 管理工具,正则管理工具,图像 base64 字符编码等。

十四 接口开发工具

内置HTTP接口,WEBSOCKET接口,SOCKET.IO接口调试工具。开发工具利器。

十五 字体编辑器

在线字体编辑器,支持ttf, woff, woff2, otf, svg font, eot字体的编辑。

十六 办公白板工具

一个小型的办公白板工具。支持画笔/橡皮擦/便签等。

十七 录屏/截屏工具

一个实用的在线录屏工具。支持谷歌/火狐浏览器,直接生成gif。截屏工具快捷键command+j。

十八 其他小工具

便签/番茄时钟/计算器/万年历等。

十九 程序设计器

基于google的blockly,支持增删改查,支持类/函数/对象/数组,支持thinkjs的大部分内置对象拖拽,支持自动生成项目文件,内置demo。

二十 模块设计器

支持四层架构设计,支持一键生成curd,支持全局常量生成,是接口设计器的底层支撑。

二十一 接口设计器

一个模块就是一个文件或类,一个接口就是一个函数。可以理解为函数设计器。分为基本配置/入口参数/逻辑设计/测试管理四个部分。基本配置就是配置函数的名称及其方法,入口参数即该函数的logic层定义,可直接从数据库导入并自动识别类型。逻辑设计即函数的主体部分,采用blockly直接通过拖拽代码实现。测试管理包含入参/headers/预想/结果/备注五个部分,是一套完善的测试工具流,预想可直接从数据库导入数据结构以及数据深度测试,预想并未完成数据校验(第二期完成)

二十二 表单设计器

支持组件拖拽,支持表单回写,支持生成 html 以及代码预览,支持数据来源,支持自定义接收参数和发送附加参数。

二十三 其他

系统配置:基于表单生成器做的demo。 计划任务:系统的计划任务实现。 菜单管理:系统权限管理的核心部分。 角色管理:系统内置的角色权限管理。 部门管理:和角色管理类似。 公司管理:和角色管理类似。 岗位管理:和角色管理类似。 支持csrf,支持ratelimit 实现访问速率限制,保护程序免受暴力攻击,支持helmet,避免 XSS 跨站脚本攻击。

第二期开发计划

  1. 完成接口设计的测试工具。
  2. 完成表单设计器和接口设计器的对接。
  3. 基于接口设计器实现表格设计器。
  4. 完成ppt的导入。
  5. 完成聊天模块。
  6. 完成任务看板模块。
  7. 完成简单的原型设计模块。
  8. 完成文件夹管理。
  9. 修复系统bug。

开发环境

nodejs v16.13 mysql 5.7 redis5.03

项目解压到server根目录

cd server
npm i

初始化项目

用工具导入data/init.sql,然后更改src/common/config/config.js

mysql: {
    handle: mysql,
    database: 'godocms',//改成自己的数据库
    prefix: 'rt_',
    encoding: 'utf8',
    host: '127.0.0.1',
    port: '3306',
    user: 'root',//改自己的用户名
    password: 'root',//改密码
    dateStrings: true
  }

本地预览

通过运行 npm run dev 启动一个本地服务器。默认访问地址 http://localhost:8200

开发环境

npm run dev

正式环境

npm start

正式环境

pm2 start pm2.json

特别鸣谢

如对您有帮助,请高抬贵手Star!

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] 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.

简介

godocms是刚东科技开发的一套开源办公套件,遵从Apache License 2.0开源协议,非常适合二次开发,内含word/excel/ppt/pdf/svg/思维导图/流程图/日程管理等多个办公系统解决方案。godocms也是一套低代码开发套件,内含模块管理/接口管理/代码拖拽/数据库管理/表单管理等一套完善的低代码开发工具流。内含两套风格界面,win10和传统软件界面,可随时切换。 展开 收起
JavaScript
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/zclhl/godocms.git
git@gitee.com:zclhl/godocms.git
zclhl
godocms
godocms
master

搜索帮助