2 Star 1 Fork 104

捷码开源(GEMOS) / gem

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

Gem架构

架构简介

  • GemFrame基于SpringCloud、SpringBoot、MyBatis及周边的生态技术开发。是一款稳定,高效的企业级微服务架构,更是致力面向中小型企业提供的一套全面微服务架构的解决方案。并且其具有代码规范,学习成本极低,开箱即用等特点,方便开发者快速上手。官方网址:http://www.gemframework.com

  • 服务治理监控:Gem架构封装了SpringCloud提供的负载,降级,监控和统一配置等服务,可实现对应用、服务、链路、性能、响应率、成功率、可用率等基础监控与预警,并且集成了一些优秀的开源监控组件,对系统进行多维度监控,为企业系统保驾护航,让监控都变得如此简单。

  • 基础能力建设:精细化权限管理,安全身份认证,即时通讯,文件服务,消息队列,工作流等。官方提供完善的API文档、部署文档、架构介绍文档以及视频教程帮助您快速学习入门,快速上手使用。

  • GemFrame是为企业提供全面的微服务基础架构解决方案,也是您学习Java微服务平台的最佳案例。

最新动态

SpringBoot2.2版本Gem全新权限系统

软件架构

业务模块

  • gem-work-sso 单点登录
  • gem-work-role 授权业务
  • gem-work-sys 系统设置
  • gem-work-bean 对象模型po,vo
  • gem-work-jpa 对象映射
  • gem-work-xxxx 自定义业务

服务模块

  • gem-server-admin 服务监控
  • gem-server-config 配置中心
  • gem-server-eureka 注册中心
  • gem-server-logs 日志模块
  • gem-server-sleuth 链路监控
  • gem-server-socket 即时通讯
  • gem-server-task 任务调度
  • gem-server-zuul 注册网关

工具模块(未来开发计划)

  • gem-utils-build 代码构建工具

服务治理

  • 网关路由代理调用:Spring Cloud Netflix Zuul
  • 服务治理注册与发现:Spring Cloud Netflix Eureka
  • 服务容错保护限流降级:Spring Cloud Netflix Hystrix
  • 服务负载均衡器:Spring Cloud Netflix Ribbon
  • 声明式服务调用:Spring Cloud OpenFeign
  • 日志收集与链路监控:Spring Cloud Sleuth
  • 分布式统一配置中心:Spring Cloud Config
  • 异构平台整合( 挎斗模式):Spring Cloud Sidecar

Gem架构图

cmd-markdown-logo

项目特点

  • 基于最新的SpringCloud、Spring Boot生态技术,高度整合封装稳定、高效、安全的微服务解决方案
  • 采用主流的VUE、Layui等前端模版框架,上手简单、美观大气、交互体验更完美
  • 多数据源驱动支持,可接入MySQL、Oracle、SQL Server等主流数据库
  • Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。
  • 集成Swagger模块,自定义注解使用代码侵入性极低,测试Api更简单
  • 持久层实体类采用@Table注解配置,集成JAP模块正向生成表结构
  • 完善的安全体系,身份认证、密码策略、安全审计、日志收集
  • 代码风格优雅简洁、通俗易懂,符合《阿里巴巴JAVA开发手册》规范要求,可作为企业代码规范

技术选型

前端
  • Vue2.x
  • Layui 单页版
  • Bootstrap v3.3.6
  • jQuery v2.1.4
  • bootstrap-table v1.9.0
  • layer v2.1
  • zTree core v3.5.28
  • WebUploader 0.1.5
后端
  • SpringCloud Edgware.SR4
  • SpringBoot 1.5.3.RELEASE
  • MyBatis 3.4.4
  • Spring 4.3.8.RELEASE
  • ActiveMQ 5.15.8.RELEASE
  • Kafka 2.1.0
  • Redis 3.3.1
  • FastFs 1.2.31
  • Druid 1.1.8

集成技术栈

  • lcn
  • jpa
  • redis
  • druid
  • kafka
  • lombok
  • zipkin
  • sleuth
  • socket
  • quartz
  • swagger
  • mongodb
  • elasticsearch

开发工具

前端代码

  • 前端演示地址:

http://demo.gemframe.cn/gemadmin/start (admin/admin)

  • 前端代码下载:

https://gitee.com/gemteam/gemadmin-layui

系统截图

登录页 首页 首页换肤 角色管理 用户管理 添加用户 编辑用户 资源管理 添加按钮 字典维护 字典维护 SQL监控 服务监控 接口调试

内置功能

  • 资源管理:系统中的菜单,按钮,列表字段,查询条件等元素统称为资源。
  • 角色管理:角色进行精细化资源授权,实现菜单,按钮,列表以及数据控制。
  • 账户管理:登录系统的帐号称作“账户”,账户可以选择一个或多个角色。
  • 人员管理:公司人员,通常指使用账户登录系统的人,人员可以与账户绑定。
  • 部门管理:部门也可以称为“组织”,是将人员进行组织划分的模块。
  • 字典管理:系统字典管理,常量管理。
  • 日志管理:系统业务操作日志,API调用日志,用户登录日志等。
  • 监控管理:系统链路监控,服务TPS,QPS监控,SQL监控等。
  • 代码生成:使用GemFrame的专属代码生成器,减少80%重复工作量。

功能特点

  • 强大的角色能力,菜单级,按钮级,表单级,数据级进行精细化权限控制
  • 丰富的报表形式,通过快速配置,实现曲线图,柱状图,饼状图等数据报表
  • 支持多种文件格式处理能力,实现上传,下载,播放加载,导入导出等功能
  • 灵活的日志管理,含登录日志、操作日志、异常日志,主便审计及BUG定位
  • 采用开源Activiti流程引擎,在线流程设计能力,实现网页在线设计流程,流程表单无缝对接

安装教程

  • 通过git下载源码
  • 创建数据库gemframedb,数据库编码为UTF-8
  • 修改application.properties/application.yml文件,更新MySQL账号和密码
  • 运行gem-work-jpa即可生成数据库表结构
  • 执行db/gemframe-init.sql文件,初始化表数据
  • 在gemframe目录下,执行mvn clean install
  • Eclipse、IDEA打开项目
    • 运行gem-server-eureka中的EurekaServerApplication.java
    • 运行gem-server-zuul中的ZullServerApplication.java
    • 运行gem-item-xxx中的XxxServerApplication.java,即可启动项目相关业务服务
  • Eureka注册中心地址:http://localhost:9999 可看到相关服务状态
  • WebStrom运行gem-admin-layui前端代码运行start下的index.html
  • gem-admin访问地址:http://localhost:xxxx/gem-admin/index.html
  • 账号密码:admin/123456
  • swagger接口测试:http://localhost:[业务端口]/swagger-ui.html

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request
  5. 码云官方提供的使用手册 https://gitee.com/help
  6. GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目

如何交流、反馈?

The MIT License (MIT) Copyright (c) 2018 Gem Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Gem架构是基于Java开发的开源的微服务架构,内置强大基础业务能力,完善的服务治理与监控,高效稳定底层支撑,除此之外,其具有代码规范,学习成本极低,开箱即用等特点;官方提供完善的项目文档,视频教程等可帮助您快速学习入门。GemFrame是为企业提供全面的微服务基础架构解决方案,也是您学习Java微服务平台的最佳项目案例。【QQ群:909147770】新项目维护地址: 展开 收起
Java
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/gemos/gem.git
git@gitee.com:gemos/gem.git
gemos
gem
gem
master

搜索帮助