UNPKG

visop

Version:

A simple CLI for scaffolding visible operation projects.

81 lines (56 loc) 4.7 kB
# visop [![Build Status](https://img.shields.io/circleci/project/zhenyuan2015/visop/master.svg)](https://circleci.com/gh/zhenyuan2015/visop) [![npm package](https://img.shields.io/npm/v/vue-cli.svg)](https://www.npmjs.com/package/vue-cli) `Vis`ible `Op`erate。一个可视化管理代码或其他资源的工具,通过 `界面<=>json文件<=>钩子代码<=>代码(资源)` 的方式来实现. ### 工具的术语 - `要素`:代码里的最小功能模块,比如后端的一个接口,前端的一个页面,一个组件,一个数据库表等等,是软件管理的基本单位。一个代码可能有多种类型要素。要素之间没有直接关联。 - `配置文件`:管理要素的json文件,在代码根目录下的visop里,一个代码可能有多个配置文件组成,每个配置文件管理某一类型的要素。 - `钩子文件`:每个配置文件都有一个钩子文件,内容是一些nodejs代码,用于在增删该查某个配置文件时,触发某些对实际资源操作(比如从模板文件拷贝到代码目录里,修改代码的配置,修改数据库配置等等)。在使用本工具管理资源之前,需要先编写`钩子文件`**接入**- `要素模板`:钩子文件里的代码使用模板来创建要素。 ### 工具解决的问题 - `降低软件复杂度`。通过可视化管理代码的方式,80%复杂的代码不需要大部分人了解,一般开发人员只需要关注业务部分即可。 - `降低使用软件或框架的难度`。将软件或框架20%关键业务抽象成要素,在界面增删改查,新增加功能和业务,只需要简单的在界面点击即可,不需要一开始就面对复杂的代码逻辑。 - `经验复用`。将开发过程中的精华经验固化到要素模板里,其他人可以直接使用,而不是在去重新读开发文档或者过多的沟通交流。 - `提高开发和维护的效率`。通过积累要素和模板,使得后续开发可以直接复用已有的要素和模板,提高开发效率。要素化代码本质上类似于微服务的概念,新增要素不影响已有要素的功能,结合每个要素后续会实现自动化测试,保证修改的要素功能正常,从而使得代码维护起来更加方便。 - `降低软件开发成本`。由于软件开发和维护的效率太低,导致现在开发一个软件的成本很高,另外很多软件在升级时比较困难。希望后面能够通过积累不同的要素、组件、系统和框架,来快速开发一个可以方便维护的软件。 - `创造更美好的软件世界`。这个有点虚,也许最终能够实现。重新梳理现有软件,要素化和重新编织组合,将开发者从重复繁琐的码农工作中解放出来,这些重复性工作通过界面点击就可以完成,让程序员去研究和探索新的技术,去发挥自己的创造性价值。让软件对于普通人不再神秘,普通人也可以像使用视频软件一样去编辑一个软件,通过软件去解决现实问题。 ### 工具的原则 - `简单方便`。使用简单,接入方便,扩展改造方便。 - `开放开源`。可以与任何技术和系统对接。 - `解决问题`。不是为了做而做,而是为了解决软件开发过程中的问题。 ### 安装 Prerequisites: [Node.js](https://nodejs.org/en/) (>=6.x, 8.x preferred), npm version 4+ and [Git](https://git-scm.com/). ``` bash $ npm install -g visop ``` ### Usage ``` bash $ visop start -p /home/codepath ``` Example: ``` bash $ cd /home/codepath $ visop start ``` ### visop目录结构 ### 管理界面操作指导 - 打开管理界面,默认为[http://localhost:8050](http://localhost:8050) - 默认进入配置管理界面,管理当前项目所有配置文件,每个配置文件管理项目的某一类`要素` - 每个配置文件对应侧边栏的一个子菜单项。每个配置文件的管理界面由三部分组成:数据管理,字段管理,配置管理。数据管理页面中的表格,每一行对应项目的一个`要素`### visop使用案例 - express后端接口管理,待完成 - [vue前端路由管理](https://github.com/zhenyuan2015/visop-vue) ### visop接入指南 - 待补充 ### 后续开发计划 - 账户管理 - 权限管理 - 管理多个项目 - 管理mysql数据库的模板 - 管理docker部署的模板 - 自动化测试 - 自动化接口文档 - 微服务 - 前端组件积累和管理 - 拖拽开发前端组件和页面 - 管理端除了表格外其他呈现方式 ### License [MIT](http://opensource.org/licenses/MIT)