# ngcg **Repository Path**: zynabc/ngcg ## Basic Information - **Project Name**: ngcg - **Description**: 新一代通用代码生成器 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2018-03-29 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #TO DO ## 1. 项目模块 1. 保存项目 ------ ok 2. 支持打开多个项目 ------ ok 3. 修复treeview 文件重名bug------ cancel 4. 删除项目 5. 添加上下文菜单 ------- cancel -------------------------------------- #技术选型 - NodeJS - Electon - Nedb - Angularjs #需求 一名聪明的程序员:让代码生成器帮我们写代码,而我们的工作就是:“写代码生成器-->生成代码,然后,然后就是...泡妹纸” ![](leanote://file/getImage?fileId=5768a7bc93a2df1e38000001) >代码生成器的 *核心原理 *: 1. **`数据模型 + 模板 = 源码`** 2. **`当别人在编写重复性的代码的时候我们在泡妹纸,当别人很努力的在拿年薪10W的时候,我们轻松的拿30W年薪,并且还有很多妹纸 :)) ,这就是ngcg代码生成器牛逼的地方。不服都不行!~~!`** 3.` ngcg代码生成器 是万能生成器,神马语言,神马项目无所谓,通吃!` #功能架构 创建`数据模型`和`模板`,然后生成项目, 1. 数据模型可以根据数据库表结构生成(目前只支持mysql),也可以手写JSON数据 2. 编写代码模板,在生成代码的时候校验模板生成代码的存放路径 3. 生成代码:选择数据模型,选择模板,然后生成代码 #如何使用 只需要简单的4步 ``` 1. 新建一个项目 2. 然后创建一个DataModel(数据模型,json对象) 3. 然后新建模板 //----需要指定由该模板生成的代码存放在哪里 4. 然后生成原代码 ``` #数据建模 ### 1. projects.db 项目 ``` json { "_id": "XJhunfDo1u1aa7wv", "name": "jcms", "createDate": "2016-06-20 19:09:29", "descript": "",//项目描述,支持markdown语法 "images": [],//项目截图 "templates_id": "", "templateAndDir": [ { "temp_id": "", "dir": "" } ],//模板和其生成文件的存放路径 "dataModels_id": "" } ``` ### 2. dataModels.db ``` json dataModels:{ "_id":"", "createDate":"2016-06-20 19:09:29",//创建时间 "updateDate":"2016-06-20 19:09:29",//最后更新时间 "name":'mysql-jsmc', "type":"db", //db:数据库,json:json格式数据 "db:{ "type":"mysql", "url":"" }, "data":{...//具体的数据模型} } ``` ### 3. templates.db ``` json templates:[{ _id:'', name:'ngcg',//一套模板的名称 createDate:'2016-06-20 19:09:29',//创建时间 updateDate:'2016-06-20 19:09:29',//最后更新时间 templateFile{ id:'',//id 程序生成的模板文件唯一标识(注意:不是nedb生成的_id)。 genSrcDir:'生成源代码的保存路径', fileName:"dao.java", createDate:'2016-06-20 19:09:29',//创建时间 updateDate:'2016-06-20 19:09:29',//最后更新时间 content:""//模板内容 } },...] ```