docs: 完善项目模块描述,重构 README 项目结构,再度降低上手难度

This commit is contained in:
Charles7c 2024-01-12 19:28:13 +08:00
parent cc34abc40c
commit ac0608f371
5 changed files with 145 additions and 165 deletions

258
README.md
View File

@ -50,9 +50,9 @@ ContiNew AdminContinue New Admin持续迭代优化的前后端分离中后
2. 对于初始使用似乎过度设计,上手困难?或是功能不全,全在专业版(收费)?更甚者,代码阅读性差,文档还要收费
3. 好不容易找到一些相较合适的,没过“多久”,部分作者可能谈恋爱了,没法对外发“电”了
4. 提 PR 可能又和原作者理念不一致,对部分框架进行二开,但又会囿于原始设计
5. 在工作中,很多想法/设计受限于客户需求、开发工期,必须优先以交付为导向,想要依靠工作来完善一个脚手架,也不美妙
5. 在工作中,很多想法/设计受限于客户需求、开发工期,必须优先以交付为导向,想要依靠工作来完善一个脚手架,既不现实也不美妙
最终,我选择自己从头写一个试试,从添加每一个依赖开始,我希望它能持续的迭代优化、演进,所以我把它命名为 **ContiNewContinue New**。我希望它不仅仅能吸收我的需求,而是依托开源协作模式,接受更多的可能性,沉淀更优秀的思考,设计。另外,开源出来,如果能为更广泛的小伙伴提供舒适的开发体验那就更好了。
最终,我选择自己在业余时间从头写一个试试,从添加每一个依赖开始,我希望它能持续的迭代优化、演进,所以我把它命名为 **ContiNewContinue New**。我希望它不仅仅能吸收我的需求,而是依托开源协作模式,接受更多的可能性,沉淀更优秀的思考,设计。另外,开源出来,如果能为更广泛的小伙伴提供舒适的开发体验那就更好了。
## 项目源码
@ -63,7 +63,7 @@ ContiNew AdminContinue New Admin持续迭代优化的前后端分离中后
## 主要特性
- :fire: 下方部分通用基础能力及配置,已抽取到 [ContiNew Starter](https://github.com/Charles7c/continew-starter) 项目,现已发布到 Maven 中央仓库,为 Spring Boot Web 项目开发提供更灵活的助力
- :fire: 下方部分通用基础能力及配置,已抽取到 [ContiNew Starter](https://github.com/Charles7c/continew-starter) 项目,现 [已发布至 Maven 中央仓库](https://central.sonatype.com/search?q=continew-starter),为 Spring Boot Web 项目开发提供更灵活的助力
- 精选技术栈:使用综合考虑成熟度、流行性、发展潜力较佳的技术栈,包括 Spring Boot、MyBatis Plus、Sa-Token、Hutool 等
- 高效率开发:后端提供了 CRUD 组件,在 Controller 中只需添加一个注解,即可自动生成增、删、改、查、分页、列表、树列表等 API
- 提供代码生成功能,根据用户提供的项目信息和配置,自动生成前后端项目结构、代码文件和部分逻辑代码,提高开发效率
@ -79,7 +79,7 @@ ContiNew AdminContinue New Admin持续迭代优化的前后端分离中后
## 系统功能
> **Note**
> [!TIP]
> 更多功能和优化正在赶来💦,最新项目计划、进展请进群或关注 [任务清单](https://doc.charles7c.top/admin/intro/require.html#任务清单) 和 [更新日志](https://doc.charles7c.top/admin/other/changelog.html)。
- 个人中心:支持基础信息修改、安全设置(密码修改、邮箱绑定、手机号绑定(并提供行为验证码、短信限流等安全处理)、第三方账号绑定/解绑)、头像裁剪上传、个人操作日志查看
@ -99,7 +99,7 @@ ContiNew AdminContinue New Admin持续迭代优化的前后端分离中后
## 系统截图
> **Note**
> [!TIP]
> 受篇幅长度及功能更新频率影响,下方仅为系统 **部分** 功能于 **2023年11月4日** 进行的截图,更多新增功能及细节请登录演示环境或 clone 代码到本地启动查看。
<table border="1" cellpadding="1" cellspacing="1" style="width: 500px">
@ -173,7 +173,7 @@ ContiNew AdminContinue New Admin持续迭代优化的前后端分离中后
## 快速开始
> **Note**
> [!TIP]
> 更详细的流程,请查看在线文档[《快速开始》](https://doc.charles7c.top/admin/intro/quick-start.html)。
```bash
@ -202,8 +202,8 @@ git clone https://github.com/Charles7c/continew-admin.git
## 核心技术栈
| 名称 | 版本 | 简介 |
| :----------------------------------------------------------- |:---------------| :----------------------------------------------------------- |
| [ContiNew Starter](https://github.com/Charles7c/continew-starter) | 1.2.0-SNAPSHOT | ContiNew StarterContinue New Starter是一种特殊类型的 Spring Boot Starter其作用与常规的 Starter 类似,基于“约定优于配置”的理念,再次精简常规配置,提供一个更为完整的配置解决方案,帮助开发人员更加快速的集成常用第三方库或工具到 Spring Boot Web 应用程序中。 |
| :----------------------------------------------------------- |:---------------|:---------------------------------------------------------------------------------------------------------------------------|
| [ContiNew Starter](https://github.com/Charles7c/continew-starter) | 1.2.0-SNAPSHOT | ContiNew Starter 包含了一系列经过企业实践优化的依赖包(如 MyBatis-Plus、SaToken可轻松集成到应用中为开发人员减少手动引入依赖及配置的麻烦为 Spring Boot Web 项目的灵活快速构建提供支持。 |
| <a href="https://spring.io/projects/spring-boot" target="_blank">Spring Boot</a> | 3.1.7 | 简化 Spring 应用的初始搭建和开发过程基于“约定优于配置”的理念使开发人员不再需要定义样板化的配置。Spring Boot 3.0 开始,要求 Java 17 作为最低版本) |
| <a href="https://undertow.io/" target="_blank">Undertow</a> | 2.3.10.Final | 采用 Java 开发的灵活的高性能 Web 服务器,提供包括阻塞和基于 NIO 的非堵塞机制。 |
| <a href="https://sa-token.dev33.cn/" target="_blank">Sa-Token + JWT</a> | 1.37.0 | 轻量级 Java 权限认证框架,让鉴权变得简单、优雅。 |
@ -230,138 +230,118 @@ git clone https://github.com/Charles7c/continew-admin.git
采用按功能拆分模块的开发方式,项目目录结构如下:
> **Note**
> [!TIP]
> 下方项目目录结构是按照模块的层次顺序进行介绍的,实际 IDE 中 `continew-admin-common` 模块会因为字母排序原因排在上方。
```bash
continew-admin # 全局通用项目配置及依赖版本管理
├─ continew-admin-webapi # API 模块(存放 Controller 层代码,打包部署的模块)
│ └─ src
│ └─ main
│ ├─ java # 工程源文件代码目录
│ │ └─ top
│ │ └─ charles7c
│ │ └─ continew
│ │ └─ admin
│ │ ├─ webapi
│ │ │ ├─ auth # 认证相关 API
│ │ │ ├─ common # 公共相关 API例如验证码 API 等)
│ │ │ ├─ monitor # 系统监控相关 API
│ │ │ ├─ system # 系统管理相关 API
│ │ │ └─ tool # 系统工具相关 API
│ │ └─ ContinewAdminApplication.java # 启动入口
│ └─ resources # 工程配置目录
│ ├─ db.changelog # 数据库脚本文件
│ │ ├─ v1.0.0 # v1.0.0 版本数据库脚本文件
│ │ ├─ v1.1.0 # v1.1.0 版本数据库脚本文件
│ │ ├─ v1.2.0 # v1.2.0 版本数据库脚本文件
│ │ └─ v1.3.0 # v1.3.0 版本数据库脚本文件
│ └─ templates # 模板文件
│ └─ mail # 邮件模板
├─ continew-admin-monitor # 系统监控模块(存放系统监控模块相关功能,例如:日志管理、服务监控等)
│ └─ src
│ └─ main
│ ├─ java # 工程源文件代码目录
│ │ └─ top
│ │ └─ charles7c
│ │ └─ continew
│ │ └─ admin
│ │ └─ monitor
│ │ ├─ annotation # 系统监控相关注解
│ │ ├─ config # 系统监控相关配置
│ │ │ └─ properties # 系统监控相关配置属性
│ │ ├─ enums # 系统监控相关枚举
│ │ ├─ filter # 系统监控相关过滤器
│ │ ├─ interceptor # 系统监控相关拦截器
│ │ ├─ mapper # 系统监控相关 Mapper
│ │ ├─ model # 系统监控相关模型
│ │ │ ├─ entity # 系统监控相关实体对象
│ │ │ ├─ query # 系统监控相关查询条件
│ │ │ └─ resp # 系统监控相关响应对象Response
│ │ └─ service # 系统监控相关业务接口及实现类
│ │ └─ impl # 系统监控相关业务实现类
│ └─ resources # 工程配置目录
│ └─ mapper # MyBatis Mapper XML 文件目录
├─ continew-admin-system # 系统管理模块(存放系统管理模块相关功能,例如:部门管理、角色管理、用户管理等)
│ └─ src
│ └─ main
│ ├─ java # 工程源文件代码目录
│ │ └─ top
│ │ └─ charles7c
│ │ └─ continew
│ │ └─ admin
│ │ ├─ auth # 系统认证相关业务及配置
│ │ │ ├─ config # 系统认证相关配置
│ │ │ │ └─ satoken # Sa-Token 配置
│ │ │ ├─ model # 系统认证相关模型
│ │ │ │ ├─ query # 系统认证相关查询条件
│ │ │ │ ├─ req # 系统认证相关请求对象
│ │ │ │ └─ resp # 系统认证相关响应对象
│ │ │ └─ service # 系统认证相关业务接口及实现类
│ │ │ └─ impl # 系统认证相关业务实现类
│ │ └─ system # 系统管理相关业务及配置
│ │ ├─ enums # 系统管理相关枚举
│ │ ├─ mapper # 系统管理相关 Mapper
│ │ ├─ model # 系统管理相关模型
│ │ │ ├─ entity # 系统管理相关实体对象
│ │ │ ├─ query # 系统管理相关查询条件
│ │ │ ├─ req # 系统管理相关请求对象
│ │ │ └─ resp # 系统管理相关响应对象
│ │ └─ service # 系统管理相关业务接口及实现类
│ │ └─ impl # 系统管理相关业务实现类
│ └─ resources # 工程配置目录
│ └─ mapper # MyBatis Mapper XML 文件目录
├─ continew-admin-tool # 系统工具模块(存放系统工具模块相关功能,例如:代码生成、文件管理等)
│ └─ src
│ └─ main
│ ├─ java # 工程源文件代码目录
│ │ └─ top
│ │ └─ charles7c
│ │ └─ continew
│ │ └─ admin
│ │ └─ tool
│ │ ├─ config # 系统工具相关配置
│ │ │ └─ properties # 系统工具相关配置属性
│ │ ├─ enums # 系统工具相关枚举
│ │ ├─ mapper # 系统工具相关 Mapper
│ │ ├─ model # 系统工具相关模型
│ │ │ ├─ entity # 系统工具相关实体对象
│ │ │ ├─ query # 系统工具相关查询条件
│ │ │ ├─ req # 系统工具相关请求对象
│ │ │ └─ resp # 系统工具相关响应对象
│ │ └─ service # 系统工具相关业务接口及实现类
│ │ └─ impl # 系统工具相关业务实现类
│ └─ resources # 工程配置目录
│ ├─ mapper # MyBatis Mapper XML 文件目录
│ └─ templates # 模板文件
│ └─ generator # 代码生成器模板
├─ continew-admin-common # 公共模块(存放公共工具类,公共配置等)
│ └─ src
│ └─ main
│ └─ java # 工程源文件代码目录
│ └─ top
│ └─ charles7c
│ └─ continew
│ └─ admin
│ └─ common
│ ├─ annotation # 公共注解
│ ├─ base # 公共基类
│ ├─ config # 公共配置
│ │ ├─ easyexcel # Easy Excel 配置
│ │ ├─ jackson # Jackson 配置
│ │ ├─ mybatis # MyBatis Plus 配置
│ │ └─ properties # 公共配置属性
│ ├─ constant # 公共常量
│ ├─ enums # 公共枚举
│ ├─ handler # 公共处理器
│ ├─ model # 公共模型
│ │ ├─ dto # 公共 DTOData Transfer Object
│ │ ├─ req # 公共请求对象
│ │ └─ resp # 公共响应对象
│ ├─ service # 公共业务接口
│ └─ util # 公共工具类
│ ├─ helper # 公共 Helper助手
│ └─ holder # 公共 Holder持有者
```
continew-admin
├─ continew-admin-webapiAPI 及打包部署模块)
│ ├─ src
│ │ ├─ main
│ │ │ ├─ java/top/charles7c/continew/admin
│ │ │ │ ├─ webapi
│ │ │ │ │ ├─ auth系统认证相关 API
│ │ │ │ │ ├─ common通用相关 API
│ │ │ │ │ ├─ monitor系统监控相关 API
│ │ │ │ │ ├─ system系统管理相关 API
│ │ │ │ │ └─ tool系统工具相关 API
│ │ │ │ └─ ContiNewAdminApplication.javaSpring Boot 启动程序)
│ │ │ └─ resources
│ │ │ ├─ config核心配置目录
│ │ │ │ ├─ application-dev.yml开发环境配置文件
│ │ │ │ ├─ application-prod.yml生产环境配置文件
│ │ │ │ └─ application.yml通用配置文件
│ │ │ ├─ db/changelogLiquibase 数据脚本配置目录)
│ │ │ ├─ templates模板配置目录例如邮件模板
│ │ │ ├─ banner.txtBanner 配置文件)
│ │ │ └─ logback-spring.xml日志配置文件
│ │ └─ test测试相关代码目录
│ └─ pom.xml包含打包相关配置
├─ continew-admin-monitor系统监控模块存放系统监控相关业务功能例如在线用户、日志管理等
│ ├─ src
│ │ ├─ main
│ │ │ ├─ java/top/charles7c/continew/admin/monitor
│ │ │ │ ├─ config系统监控相关配置
│ │ │ │ ├─ enums系统监控相关枚举
│ │ │ │ ├─ mapper系统监控相关 Mapper
│ │ │ │ ├─ model系统监控相关模型
│ │ │ │ │ ├─ entity系统监控相关实体对象
│ │ │ │ │ ├─ query系统监控相关查询条件
│ │ │ │ │ └─ resp系统监控相关响应对象Response
│ │ │ │ └─ service系统监控相关业务接口及实现类
│ │ │ └─ resources
│ │ │ └─ mapper系统监控相关 Mapper XML 文件目录)
│ │ └─ test测试相关代码目录
│ └─ pom.xml
├─ continew-admin-system系统管理模块存放系统管理相关业务功能例如部门管理、角色管理、用户管理等
│ ├─ src
│ │ ├─ main
│ │ │ ├─ java/top/charles7c/continew/admin
│ │ │ │ ├─ auth系统认证相关业务
│ │ │ │ │ ├─ config系统认证相关配置
│ │ │ │ │ ├─ model系统认证相关模型
│ │ │ │ │ │ ├─ query系统认证相关查询条件
│ │ │ │ │ │ ├─ req系统认证相关请求对象Request
│ │ │ │ │ │ └─ resp系统认证相关响应对象Response
│ │ │ │ │ └─ service系统认证相关业务接口及实现类
│ │ │ │ └─ system系统管理相关业务
│ │ │ │ ├─ config系统管理相关配置
│ │ │ │ ├─ enums系统管理相关枚举
│ │ │ │ ├─ mapper系统管理相关 Mapper
│ │ │ │ ├─ model系统管理相关模型
│ │ │ │ │ ├─ entity系统管理相关实体对象
│ │ │ │ │ ├─ query系统管理相关查询条件
│ │ │ │ │ ├─ req系统管理相关请求对象Request
│ │ │ │ │ └─ resp系统管理相关响应对象Response
│ │ │ │ └─ service系统管理相关业务接口及实现类
│ │ │ └─ resources
│ │ │ └─ mapper系统管理相关 Mapper XML 文件目录)
│ │ └─ test测试相关代码目录
│ └─ pom.xml
├─ continew-admin-tool系统工具模块存放系统工具相关业务功能例如代码生成等
│ ├─ src
│ │ ├─ main
│ │ │ ├─ java/top/charles7c/continew/admin/tool
│ │ │ │ ├─ config系统工具相关配置
│ │ │ │ ├─ enums系统工具相关枚举
│ │ │ │ ├─ mapper系统工具相关 Mapper
│ │ │ │ ├─ model系统工具相关模型
│ │ │ │ │ ├─ entity系统工具相关实体对象
│ │ │ │ │ ├─ query系统工具相关查询条件
│ │ │ │ │ ├─ req系统工具相关请求对象Request
│ │ │ │ │ └─ resp系统工具相关响应对象Response
│ │ │ │ └─ service系统工具相关业务接口及实现类
│ │ │ └─ resources
│ │ │ ├─ templates/generator代码生成相关模板目录
│ │ │ └─ generator.properties代码生成类型映射配置文件
│ │ └─ test测试相关代码目录
│ └─ pom.xml
├─ continew-admin-common公共模块存放公共工具类公共配置等
│ ├─ src
│ │ ├─ main/java/top/charles7c/continew/admin/common
│ │ │ ├─ config公共配置
│ │ │ ├─ constant公共常量
│ │ │ ├─ enums公共枚举
│ │ │ ├─ model公共模型
│ │ │ │ ├─ dto公共 DTOData Transfer Object
│ │ │ │ ├─ req公共请求对象Request
│ │ │ │ └─ resp公共响应对象Response
│ │ │ └─ util公共工具类
│ │ └─ test测试相关代码目录
│ └─ pom.xml
├─ .giteeGitee 相关配置目录,实际开发时直接删除)
├─ .githubGitHub 相关配置目录,实际开发时直接删除)
├─ .idea
│ └─ icon.pngIDEA 项目图标,实际开发时直接删除)
├─ .image截图目录实际开发时直接删除
├─ .style代码格式相关配置目录实际开发时根据需要取舍删除时注意删除 spotless 插件配置)
├─ .gitignoreGit 忽略文件相关配置文件)
├─ docker项目部署相关配置目录实际开发时可备份后直接删除
├─ LICENSE开源协议文件
├─ CHANGELOG.md更新日志文件实际开发时直接删除
├─ README.md项目 README 文件,实际开发时替换为真实内容)
├─ lombok.configLombok 全局配置文件)
└─ pom.xml包含版本锁定及全局插件相关配置
```
## 贡献指南
@ -392,7 +372,7 @@ ContiNew Admin 的分支目前分为下个大版本的开发分支和上个大
请记住,如果您有任何疑问或需要帮助,我们将随时提供支持。
> **IMPORTANT**
> [!IMPORTANT]
> 欢迎大家为 ContiNew Admin 贡献代码,我们非常感谢您的支持!为了更好地管理项目,维护者有一些要求:
>
> 1. 请确保代码、配置文件的结构和命名规范良好,完善的代码注释甚至包括接口文档参数示例,并遵循阿里巴巴的 <a href="https://github.com/Charles7c/continew-admin/blob/dev/.style/Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C(%E9%BB%84%E5%B1%B1%E7%89%88).pdf" target="_blank">《Java开发手册(黄山版)》</a> 中的代码规范,保证代码质量和可维护性

View File

@ -13,7 +13,7 @@
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>系统监控模块(存放系统监控模块相关功能,例如:日志管理、服务监控等)</description>
<description>系统监控模块(存放系统监控相关业务功能,例如:在线用户、日志管理等)</description>
<dependencies>
<!-- ContiNew Starter 日志模块 - HttpTraceProSpring Boot Actuator HttpTrace 定制增强版) -->

View File

@ -13,7 +13,7 @@
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>系统管理模块(存放系统管理模块相关功能,例如:部门管理、角色管理、用户管理等)</description>
<description>系统管理模块(存放系统管理相关业务功能,例如:部门管理、角色管理、用户管理等)</description>
<dependencies>
<!-- 公共模块(存放公共工具类,公共配置等) -->

View File

@ -13,7 +13,7 @@
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>系统工具模块(存放系统工具模块相关功能,例如:代码生成、文件管理等)</description>
<description>系统工具模块(存放系统工具相关业务功能,例如:代码生成等)</description>
<dependencies>
<!-- 公共模块(存放公共工具类,公共配置等) -->

View File

@ -13,7 +13,7 @@
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>API 模块(存放 Controller 层代码,打包部署的模块)</description>
<description>API 及打包部署模块</description>
<properties>
<!-- ### 打包配置相关 ### -->