orange-admin

中台化代码生成器
授权协议 Apache
开发语言 Java
所属分类 程序开发、 代码生成工具
软件类型 开源软件
地区 国产
投 递 者 解阳泽
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

经过多年大型企业中台化改造项目的积累,我们逐步完善并沉淀出一套行之有效的设计理念。基于先代码后 SQL 的原则,通过统一服务内与服务间的数据组装接口,使得我们的基础架构可以快速有效的应对微服务系统的不断拆分与再合并。在此基础之上,通过组合完整的主流技术栈,我们开发出了简单易用的中台化代码生成器。开发者可根据实际需求创建业务微服务,配置服务内与服务间的数据模型关系、字典表和静态字典数据,便可一键生成 70% 的适用于微服务架构的高质量范式化工程级代码。

橙单简介

如果说基础框架是技术轮子,那么我们就是生产线。不仅可以造出各种尺寸的轮子,通过我们的在线配置工具,还能生成更多实际业务所需,如:

  • 创建多个数据库链接,并从中导入数据表。
  • 创建多个微服务,再关联到一到多个数据库链接。
  • 数据表之间可建立**服务内和跨服务**的“一对一、一对多、多对多、字典和分组聚合计算”等关联关系。
  • 生成 Job 业务代码,目前已支持“全量同步、增量同步、增量分组聚合转换同步”等代码模板。
  • 创建表单并对接后台接口,操作并显示后台数据。
  • 在创建项目时,下图所示的微服务组件可正交化组合。生成后的工程不仅可用于企业中台化改造,同样也适用于开发者进行微服务全技术栈的快速学习。

在线资源

以下资源完全免费、公开、可用,无需任何注册登录。

我们的优势

  • 真正的代码生成器,而非脚手架,可生成相对复杂的中台化业务代码。
  • 完整的主流技术栈任意组合,开发者通过可视化配置,即可快速生成全栈微服务工程。
  • 开源版工程具备极高的代码质量,以及专业、详尽、完善和暗黑护眼的开发文档。
  • 合理、超低价的教学版和企业版商业授权。(其实就是撸顿串的价格)

基础功能

  • 前端框架:单页面、多标签、多栏目和子路由,多套高颜值样式模式可供选择。
  • 前端能力:列表编辑、统计图表、明细数据下钻、上传下载、数据导出、自定义打印样式模板、富文本等。
  • 页面布局:支持基于 Fragment 和 Block 的灵活布局方式,通过配置即可生成多样化的表单页面,并可预览。
  • 接口规范:微服务和单体服务的接口命名规则和参数定义完全一致,便于日后的平滑升级。
  • 后台架构:分布式锁、分布式 Id 生成器、分布式缓存、分布式事务、分布式限流和灰度发布等,按需集成。
  • 用户管理:支持基于JWT + OAuth2的单点登录,对微服务集成极为友好。
  • 操作权限:前端控制可精确到按钮级的操作和标签级的显示,后台统一拦截验证更加安全。
  • 数据权限:基于 Mybatis 拦截器 + JSqlParser 的实现方式,配置更灵活,代码侵入性更低。
  • 多数据源:可根据配置动态生成,路由策略灵活可扩展。
  • 数据组装:Java 注解方式实现数据组装,支持统一接口的**服务内和跨服务**的一对一、一对多、多对多、字典、聚合计算等关系数据组合。
  • 定时任务:我们不仅提供了 Job 基础框架的集成,更能生成灵活可配、高度优化、便于二次开发的 Job 业务逻辑代码。
  • 系统监控:基于 Kafka + ELK 的日志收集,基于 PinPoint/SkyWalking 的服务链路跟踪,基于 GPE 的服务性能指标监控。

技术选型

  • 前端: Element (Vue) / Ant Design (React) + ECharts / AntV + Axios + Webpack。
  • 后端: Spring Boot / Spring Cloud / Spring Cloud Alibaba + Spring Security OAuth2 + Mybatis + Jwt。
  • 工具库: Hutool + Guava + Caffeine + Lombok + MapStruct + 通用Mapper。
  • 服务组件: Redis + Zookeeper + Consul + Apollo + XXL-Job + Kafka + Nacos + Sentinel + Seata + Nepxion Discovery。
  • 系统监控: ELK + PinPoint / SkyWalking + Grafana + Prometheus。

设计理念

  • 前沿的单表组合式设计,使业务服务的拆分与再合并 SO EASY。
  • 先代码,后SQL的原则,让服务横向扩充更具弹性。
  • 标准化的服务间调用接口,使业务服务组合更具正交性。
  • 前后端基于约定各司其职,默契配合,让系统运行飞起来。
  • 可平滑的逐步演化为云原生架构。

代码质量

  • 无任何二次封装,只生成您最懂的代码。
  • 遵循阿里巴巴标准的代码规范,扫描后无任何警告。
  • SonarQube 基于最严格检测规则的代码扫描。
  • 产品级代码质量,层次清晰、滴水不漏。
  • 近乎于 0 的代码重复率,35% 以上的注释覆盖率。
  • 15 年以上经验的前后端架构师优化的每一处细节。

有图有真相

1. 在线演示

2. 集成中间件

  • 欢迎使用Orange,使用过程中如碰到问题,请到Github进行提问。 https://github.com/sumory/orange/ 关于Orange的公开分享请参看OpenResty Con 2016。 关于 Orange是一个基于OpenResty的API Gateway,提供API及自定义规则的监控和管理,如访问统计、流量切分、API重定向、API鉴权、WEB防火墙等功能。Orange

  • 一、 安装lor # git clone https://github.com/sumory/lor.git # cd lor # make install 二、 导入orange的数据库 orange项目install文件下有orange的数据库sql文件,选择最新版本导入到本地mysql git clone https://github.com/sumory/orange.git

  • <?php /** * 管理菜单 * */ class App_Helper_Admin_Menu { const quuid = 'q'; const qargs = 'args'; const qtitle = 'title'; const qtype = 'type'; const qparent = 'parent'; /** * 扩展选项,如 style c

  • 工具:win32 cygwin 镜像源:http://mirrors.163.com/cygwin/x86 需要安装的工具:openssl、pcre、libcrypt、zlib、make、perl、 readline 参考: http://blog.csdn.net/herro/article/details/16986477 openresty没有对Cygwin做兼容,我们需要自己来修改文件 O

 相关资料
  • 我正在根据参考指南学习使用Map结构。日食验证是 面向Web开发人员的Eclipse Java EE IDE。版本:开普勒服务版本2 pom。xml如下所示,与参考指南相同 它表示在构建项目时将生成实现代码。但是,它似乎不会在目标/生成的源文件夹下生成

  • Jboot 内置了一个简易的代码生成器,可以用来生成model层和Service层的基础代码,在生成代码之前,请先配置jboot.properties关于数据库相关的配置信息,Jboot 代码生成器会通过该配置去链接数据库。 jboot.datasource.type=mysql jboot.datasource.url=jdbc:mysql://127.0.0.1:3306/jbootdemo

  • 遵照此规范,在实际操作中,有许多重复。接下来推荐一款专为本规范量身定做的代码生成器 Laravel 5.x Scaffold Generator。 本扩展支持 5.1 ~ 5.5 版本的 Laravel。 只需要一个命令: 即可生成: $ php artisan make:scaffold Projects --schema="name:string:index,description:text:

  • Sergen 有一些额外的配置选项,你可以通过解决方案目录下的配置文件(Serenity.CodeGenerator.config)设置。 这是所有的配置选项: public class GeneratorConfig { public List<Connection> Connections { get; set; } public string KDiff3Path { get

  • 我使用jOOQ程序代码生成数据库,但现在我遇到了一些问题。在数据库中,我有表A和表B。第一次都生成了pojo、dao、接口等。经过一段时间的开发,我发现表A需要添加一些字段或修改一些字段,所以我不得不再次编码,然后jOOQ代码生成器将覆盖现有的代码,这让我很难过。当我在排除表的情况下使用“排除A”时,发现只生成了表A的数据,表B将被删除。我不知道如何处理这个问题。我的代码生成器如下:

  • 根据数据库表生成对应的增,删,改,查功能,和 js 验证功能! 目前支持的是oracle 数据库,写自行修改 项目本身可以做为PHP新手的入门程序!