#天画-codeMaker
介绍
为大规模微服务构建而创建的代码生成工具,属于天画项目中的基础产品
天画项目链接:https://gitee.com/sky-painting
coderMaker 立足于低代码平台,致力于解决软件开发过程中的效率问题
- 不依赖任何代码生成工具
- 本身基于mysql + mybatis + spring boot生成项目增删改查等功能
- 项目工具目前主要是为了构建可复用的代码生成服务
- 总体目标是为构建大规模分布式应用的技术底座,提高开发效率,专注业务领域,数据模型。
- 为高并发,分布式,大数据等场景提供业务应用代码支持,辅助学习者方便快捷构建大量分布式微服务应用。
- 支持多框架应用+动态ddd+动态调用方法绘制的Java代码生成平台
设计理念
- 所建即所得,文档即代码
- 数据库模型与领域模型同步支持
- 不做任何脚手架,不依赖任何特定框架版本
- 按开发者习惯支持多模式生成
- 兼容并蓄,在codemaker的组件化架构设计中一切业务组件,中间件,脚手架都是组件都是可配置可融入到代码生成流程的。
- 生成即可运行
功能列表
- 提供数据库字段文本转sql脚本的能力
- 提供便捷的sql脚本(支持分库分表)生成服务,帮助初始化数据库
- 提供一键式的数据库e-r图生成服务,以及从plantUML-er图中解析还原到sql脚本的能力
- 提供基于springboot,cola,dubbo应用框架和架构下的应用级代码生成服务
- 提供基于plantuml类图的dynamic-ddd模块级的代码生成服务
- 支持基于数据库表的代码生成和支持plantuml领域文档的代码生成服务
- 支持基于数据库表+DDD+plantUML类图文档+plantUML调用时序文档的代码生成服务
- 支持可适配可拔插的组件化模块化代码生成
软件架构
1. 工程模块架构

- 粉红色为codeMaker提供的平台能力工程
- 浅蓝色为生成代码架构的模板工程
模块详细说明
2. 架构图
1. v1版本

2. v2版本

3. v3预览版本

3. v3版本

3. 使用流程图
1. v1版本

2. v2版本

技术文章
背景说明
天画总体技术背景
版本1的技术方案设计
codeMaker技术方案设计&背景
codeMaker-dbops技术方案设计&背景
codeMaker-er图生成技术设计与实现
版本2的技术方案设计
codeMaker-支持动态DDD代码生成
版本3的技术方案设计
codeMaker-支持动态调用时序代码生成
codeMaker-组件化架构升级实战
使用手册
codeMaker支持多模式进行代码生成,具体看下列文档
版本-1.0.0
简介: 实现codermaker-core代码生成功能
版本-1.0.1
简介: 实现数据库表e-r图生成功能
版本-1.0.2
简介: 实现代码生成极速模式
版本-1.0.3
简介: 实现dubbo应用的代码生成
版本-1.0.4
简介: 实现ddd业务模型的代码生成
版本-0.0.2
简介: 本次版本新增codemaker-dberparse模块,支持plantuml er图解析为sql ddl create语句,已集成到codemaker-dbops
模块中。
版本-1.1.0
简介: 实现springboot,cola,dubbo+ddd的代码生成
版本-1.2.0-alpha
简介: 实现springboot,cola,dubbo+ddd的代码生成的基础上增加解析调用时序图的逻辑,将调用时序代码逻辑融入到生成的代码方法里
版本-1.2.1-beta
简介: 重构codeMaker整体代码内容,降低代码复杂度,增强基于调用时序文档构建代码的能力
版本-1.2.2
简介: 进行组件化架构升级,开放低代码模型和扩展接口能力,重构codemaker-core模块,移动到codemaker-parent模块统一维护,
增加springcloud-feign应用框架代码生成能力
版本-1.3.0
简介: 以生成即可运行为目标完成组件化架构升级,以组件市场的方式融合各种java组件和技术栈,
增加两种生成模式,对接javsScript引擎细化生成逻辑
项目计划
- 参考todoList文件内容
- 参考changeList文件内容
配置文件说明
组件注册流程与二次开发说明文档
开发使用详细配置内容
构建DDD-plantUML领域文档使用说明
代码生成服务使用流程
1.应用级项目生成
- 配置codemaker-parent/codemaker-core的application.properties中的数据库访问配置项,配置需要生成的应用类型(application.type取值:支持springboot,dubbo,cola)
- 根据应用类型配置对应的projecttemplate-*.properties配置文件
- 配置完成之后启动codemaker-parent/codemaker-core工程,默认端口为8099
- 打开浏览器访问http://localhost:8099/makeall生成极简模式代码,生成的代码会放在codemaker-web下面的对应目录下
- 打开浏览器访问http://localhost:8099/makeallfast生成极速模式代码,生成的代码会放在codemaker-web下面的对应目录下
- 如有特殊需求进行定制则可通过codemaker-parent/codemaker-core工程中的resources/template模板进行调整
2.dynamicddd模块级代码生成
- 将项目的plantUML类图放到codemaker-parent/codemaker-core的resources下的ddd-plantuml文件夹
- 配置projecttemplate-dynamicddd.properties
- 启动服务,浏览器打开输入http://localhost:8099/makeddd
- 执行完毕查看codemaker-dynamicddd工程模块下的代码是否已经生成
3.接口文档
API.md