组织介绍

欢迎使用elsfs-cloud

Elsfs Cloud 1.2.0-SNAPSHOT

Enterprise level safety function system

企业级安全功能系统

Coverage Status Downloads Downloads

系统说明

  • 基于 Spring Cloud 2025、Spring Boot 4.0、Spring Cloud Alibaba 2025
  • spring-oauth2-authorization-server 的 RBAC 权限管理系统
  • 前端采用 Next.js + React + Tailwind CSS 技术栈
  • 提供对常见容器化支持 Docker、Kubernetes、Rancher2 支持(待实现)

使用文档

Elsfs Cloud 提供了详尽的部署文档 👉 https://doc.jglab.org.cn,涵盖开发环境配置、服务端启动、前端运行等关键步骤。

重要的事情说三遍:

快速开始

快速体验

# 可用内存大于4G
# 1. clone仓库
git clone https://github.com/elsfs/elsfs-cloud.git
cd elsfs-cloud

# 2. 导入sql 到数据库
mysql -uroot -p < doc/db/mysql/*.sql
# 3. 修改配置文件数据库用户名密码 webapps/system-application/src/main/resources/config/application.yml
# 4. 构建
mvn clean install
# 5. 启动
java -jar webapps/system-application/target/system-application-1.2.0-SNAPSHOT.jar

核心依赖

依赖 版本
Spring Cloud 2025.1.x
Spring Cloud Alibaba 2025.1.0.x
Spring Authorization Server 1.5.x
Mybatis Plus 3.5.16
Spring Boot 4.0.x

模块说明

elsfs-cloud

├─── api -- api接口相关
     ├── api-config -- 配置api
     ├── api-security -- 安全api
     ├── api-tenant -- 租户api
     ├── api-validation -- 验证api
└── framework -- 系统公共基础模块
     ├── framework-annotations -- 通用注解
     ├── framework-core -- 系统公共核心
     ├── framework-mybatis -- mybatis配置
     ├── framework-mybatis-ext -- mybatis扩展
     ├── framework-pay -- 支付配置
     ├── framework-security -- 认证授权通用模块
     ├── framework-sms -- 短信通用配置定义
     ├── framework-util -- 工具类
     ├── framework-validation -- validation验证相关
     ├── framework-web -- web公共配置
├── biz-modules -- 业务模块预留目录
├── domain-module -- 领域模块
     ├── domain-api -- 领域api
     ├── domain-biz -- 领域业务
└──  doc
     ├── db  -- 数据库脚本
     ├── virtualization -- 虚拟化相关
├── framework-platform 框架依赖信息 相当于mavenpom.xml
├──  gradle -- 框架相关
     ├──  pmd -- pmd 规则
     ├──  style -- 代码规范
├──  libs -- 外部包相关     
└── module -- 业务相关
     ├── ai -- ai 实现相关
     ├── cms -- cms 实现相关
     ├── config -- config 实现相关
     ├── datasource -- datasource 实现相关
     ├── dict -- dict 实现相关
     ├── oss -- oss 实现相关
     ├── permission -- permission 实现相关
     ├── school-classes -- 班级管理实现相关
     ├── system -- system 实现相关
     ├── tenant -- tenant 实现相关
└── starter  -- spring starter
     ├── authorizationserver-server-boot-starter  -- oauth2 授权服务器启动
     ├──  elsfs-screw-spring-starter -- screw 启动
     ├──  excel-spring-boot-starter -- excel 启动
     ├──  login-spring-boot-starter -- login 启动
└── webapps  -- 启动类
     ├── auth-application -- 认证授权服务
     ├── front-application -- 前端服务
     ├── gateway-application -- 网关服务
     ├── monitor-application -- 监控服务
     ├── nacos-dashboard -- nacos dashboard
     ├── sentinel-dashboard -- sentinel 启动
     ├── system-application -- 系统服务
├── you -- 前端Next.js项目

使用说明

  1. clone 项目
平台 地址
gitee https://gitee.com/jglab/elsfs-cloud
github https://github.com/elsfs/elsfs-cloud
文档贡献 https://gitee.com/jglab/elsfs-cloud-doc
文档地址 https://doc.jglab.org.cn
前端代码 本项目内 you/ 目录(Next.js)
  1. 构建项目
cd elsfs-cloud
# 代码格式化
mvn spotless:apply
# 构建代码
mvn clean install

业务依赖层次

依赖约定

  1. 一级为基础层,二级为基础业务层,三级为业务层
  2. 平级可以相互依赖,但是不能循环依赖,标注依赖不能逆依赖
  3. system模块不能被同级依赖
  4. 下级可以依赖上级
  5. 上级不能依赖下级
  6. 同级之间只能依赖api子模块
  7. 业务层必须包含api子模块 ,biz子模块和sys子模块可选,如果有其他特殊业务需要定义模块的,子模块可以自定义(通车是业务的首字母或者有明确的业务单纯)
graph TB
    subgraph L1 [<font color=red size=5>L1 </font> 基础隔离层 Tenant&DataSource Layer]
        tenant[tenant<br/>租户]
        datasource[datasource<br/>数据源]
    end
 
    subgraph L2 [<font color=red size=5>L2 </font>  基础业务层 Base Business Layer]
        dict[dict<br/>字典/主数据]
        config[config<br/>配置]
        oss[oss<br/>文件存储]
        pay[pay<br/>支付]
    end

    subgraph L3[<font color=red size=5>L3 </font>  应用模块层 Application Modules]
        permission[permission<br/>权限管理]
        system[system<br/>系统管理]
        cms[cms<br/>内容管理]
        school_classes[school_classes<br/>班级管理]
    end

%% 连接关系
    tenant --> datasource
    datasource --> dict
    datasource --> config
    datasource --> oss
    datasource --> pay
    dict --> cms
    oss --> cms
    oss --> school_classes
    dict --> school_classes
    dict --> system
    config --> system
    oss --> system
    pay --> system
    permission --> system
    dict --> permission
    config --> permission
    cms --> system
    school_classes --> system
%% 样式定义
  classDef appLayer fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
  classDef baseLayer fill:#e8f5e8,stroke:#43a047,stroke-width:2.5px
  classDef infraLayer fill:#e1f5fe,stroke:#0288d1,stroke-width:3px


%% 应用样式
  class permission,system,cms,school_classes appLayer
  class oss,dict,pay,config baseLayer
  class tenant,datasource infraLayer
  style L1 fill:none,stroke:#0288d1,stroke-width:2px,stroke-dasharray:10
  style L2 fill:none,stroke:#43a047,stroke-width:2px,stroke-dasharray:10
  style L3 fill:none,stroke:#7b1fa2,stroke-width:2px,stroke-dasharray:10

标注依赖

graph LR
    permission--> system

参与贡献

  1. 欢迎提交 PR, 代码规范 google-java-format

    代码规范说明
    1. 由于 google-java-format 强制所有代码按照指定格式排版,未按此要求提交的代码将不能通过合并(打包)
    2. 具体配置参考csdn 使用谷歌 Java 开发规范
    3. 其他开发工具,请参考 google-java-format 说明,或提交代码前在项目根目录运行下列命令进行代码格式化
       # 代码格式化
       mvn spotless:apply
  2. 欢迎提交 issue,请写清楚遇到问题的原因、开发环境、复显步骤。

  3. 联系作者 mailto:maicaii@vip.qq.com

成就
118
Star
9
Fork
成员(1)
12722352 elsfs 1703599382
elsfs

搜索帮助