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

This commit is contained in:
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. 对于初始使用似乎过度设计,上手困难?或是功能不全,全在专业版(收费)?更甚者,代码阅读性差,文档还要收费 2. 对于初始使用似乎过度设计,上手困难?或是功能不全,全在专业版(收费)?更甚者,代码阅读性差,文档还要收费
3. 好不容易找到一些相较合适的,没过“多久”,部分作者可能谈恋爱了,没法对外发“电”了 3. 好不容易找到一些相较合适的,没过“多久”,部分作者可能谈恋爱了,没法对外发“电”了
4. 提 PR 可能又和原作者理念不一致,对部分框架进行二开,但又会囿于原始设计 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 等 - 精选技术栈:使用综合考虑成熟度、流行性、发展潜力较佳的技术栈,包括 Spring Boot、MyBatis Plus、Sa-Token、Hutool 等
- 高效率开发:后端提供了 CRUD 组件,在 Controller 中只需添加一个注解,即可自动生成增、删、改、查、分页、列表、树列表等 API - 高效率开发:后端提供了 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)。 > 更多功能和优化正在赶来💦,最新项目计划、进展请进群或关注 [任务清单](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 代码到本地启动查看。 > 受篇幅长度及功能更新频率影响,下方仅为系统 **部分** 功能于 **2023年11月4日** 进行的截图,更多新增功能及细节请登录演示环境或 clone 代码到本地启动查看。
<table border="1" cellpadding="1" cellspacing="1" style="width: 500px"> <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)。 > 更详细的流程,请查看在线文档[《快速开始》](https://doc.charles7c.top/admin/intro/quick-start.html)。
```bash ```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://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://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 权限认证框架,让鉴权变得简单、优雅。 | | <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` 模块会因为字母排序原因排在上方。 > 下方项目目录结构是按照模块的层次顺序进行介绍的,实际 IDE 中 `continew-admin-common` 模块会因为字母排序原因排在上方。
```bash ```
continew-admin # 全局通用项目配置及依赖版本管理 continew-admin
├─ continew-admin-webapi # API 模块(存放 Controller 层代码,打包部署模块) ├─ continew-admin-webapiAPI 及打包部署模块)
─ src ─ src
─ main ─ main
├─ java # 工程源文件代码目录 ├─ java/top/charles7c/continew/admin
top webapi
charles7c auth系统认证相关 API
│ │ └─ continew ├─ common通用相关 API
admin monitor系统监控相关 API
├─ webapi │ │├─ system系统管理相关 API
auth # 认证相关 API tool系统工具相关 API
common # 公共相关 API例如验证码 API 等) │ │ ContiNewAdminApplication.javaSpring Boot 启动程序)
monitor # 系统监控相关 API │ │ resources
│ │ ├─ system # 系统管理相关 API │ ├─ config核心配置目录
tool # 系统工具相关 API │ │ application-dev.yml开发环境配置文件
└─ ContinewAdminApplication.java # 启动入口 ├─ application-prod.yml生产环境配置文件
│ └─ resources # 工程配置目录 │ │ └─ application.yml通用配置文件
├─ db.changelog # 数据脚本文件 ├─ db/changelogLiquibase 数据脚本配置目录)
├─ v1.0.0 # v1.0.0 版本数据库脚本文件 ├─ templates模板配置目录例如邮件模板
│ ├─ v1.1.0 # v1.1.0 版本数据库脚本文件 │ │├─ banner.txtBanner 配置文件
│ ├─ v1.2.0 # v1.2.0 版本数据库脚本文件 │ │└─ logback-spring.xml日志配置文件
│ └─ v1.3.0 # v1.3.0 版本数据库脚本文件 │ └─ test测试相关代码目录
└─ templates # 模板文件 └─ pom.xml包含打包相关配置
│ └─ mail # 邮件模板 ├─ continew-admin-monitor系统监控模块存放系统监控相关业务功能例如在线用户、日志管理等
├─ continew-admin-monitor # 系统监控模块(存放系统监控模块相关功能,例如:日志管理、服务监控等) ├─ src
src main
└─ main │ │├─ java/top/charles7c/continew/admin/monitor
├─ java # 工程源文件代码目录 │ │ ├─ config系统监控相关配置
│ │ top enums系统监控相关枚举
└─ charles7c │ │├─ mapper系统监控相关 Mapper
└─ continew │ │├─ model系统监控相关模型
admin entity系统监控相关实体对象
monitor query系统监控相关查询条件
├─ annotation # 系统监控相关注解 └─ resp系统监控相关响应对象Response
config # 系统监控相关配置 service系统监控相关业务接口及实现类
│ │ │ └─ properties # 系统监控相关配置属性 │ │ │ └─ resources
enums # 系统监控相关枚举 │ │ mapper系统监控相关 Mapper XML 文件目录)
│ ├─ filter # 系统监控相关过滤器 │ └─ test测试相关代码目录
│ ├─ interceptor # 系统监控相关拦截器 └─ pom.xml
│ │ ├─ mapper # 系统监控相关 Mapper ├─ continew-admin-system系统管理模块存放系统管理相关业务功能例如部门管理、角色管理、用户管理等
│ ├─ model # 系统监控相关模型 ├─ src
│ │ │ ├─ entity # 系统监控相关实体对象 │ │ ├─ main
│ │ ├─ query # 系统监控相关查询条件 │ │ ├─ java/top/charles7c/continew/admin
resp # 系统监控相关响应对象Response │ │auth系统认证相关业务
└─ service # 系统监控相关业务接口及实现类 ├─ config系统认证相关配置
│ │ └─ impl # 系统监控相关业务实现类 ├─ model系统认证相关模型
└─ resources # 工程配置目录 │ ││ │ │ ├─ query系统认证相关查询条件
└─ mapper # MyBatis Mapper XML 文件目录 │ │ │ ├─ req系统认证相关请求对象Request
├─ continew-admin-system # 系统管理模块(存放系统管理模块相关功能,例如:部门管理、角色管理、用户管理等) │ │ │ │ │ └─ resp系统认证相关响应对象Response
│ └─ src │ │ │ │ │ └─ service系统认证相关业务接口及实现类
└─ main │ │ └─ system系统管理相关业务
├─ java # 工程源文件代码目录 │ ││ ├─ config系统管理相关配置
│ └─ top │ │ │├─ enums系统管理相关枚举
└─ charles7c ├─ mapper系统管理相关 Mapper
└─ continew ├─ model系统管理相关模型
└─ admin ├─ entity系统管理相关实体对象
├─ auth # 系统认证相关业务及配置 ├─ query系统管理相关查询条件
│ ├─ config # 系统认证相关配置 │ ├─ req系统管理相关请求对象Request
│ └─ satoken # Sa-Token 配置 └─ resp系统管理相关响应对象Response
│ ├─ model # 系统认证相关模型 └─ service系统管理相关业务接口及实现类
│ │ │ ├─ query # 系统认证相关查询条件 │ │ └─ resources
├─ req # 系统认证相关请求对象 └─ mapper系统管理相关 Mapper XML 文件目录)
│ │ │ │ └─ resp # 系统认证相关响应对象 │ │ └─ test测试相关代码目录
│ │ │ └─ service # 系统认证相关业务接口及实现类 │ └─ pom.xml
│ │ │ └─ impl # 系统认证相关业务实现类 ├─ continew-admin-tool系统工具模块存放系统工具相关业务功能例如代码生成等
│ └─ system # 系统管理相关业务及配置 ├─ src
│ │ ├─ enums # 系统管理相关枚举 │ │ ├─ main
│ ├─ mapper # 系统管理相关 Mapper │ │ ├─ java/top/charles7c/continew/admin/tool
├─ model # 系统管理相关模型 │ │ ├─ config系统工具相关配置
│ │ │ ├─ entity # 系统管理相关实体对象 │ │ │ │ ├─ enums系统工具相关枚举
│ ├─ query # 系统管理相关查询条件 │ ├─ mapper系统工具相关 Mapper
│ │ │ ├─ req # 系统管理相关请求对象 │ │ │ │ ├─ model系统工具相关模型
resp # 系统管理相关响应对象 │ │ │ │ │ entity系统工具相关实体对象
│ │ └─ service # 系统管理相关业务接口及实现类 ├─ query系统工具相关查询条件
└─ impl # 系统管理相关业务实现类 │ │ ├─ req系统工具相关请求对象Request
└─ resources # 工程配置目录 │ ││ │ └─ resp系统工具相关响应对象Response
└─ mapper # MyBatis Mapper XML 文件目录 └─ service系统工具相关业务接口及实现类
├─ continew-admin-tool # 系统工具模块(存放系统工具模块相关功能,例如:代码生成、文件管理等) │ │ └─ resources
└─ src │ │ ├─ templates/generator代码生成相关模板目录
│ └─ main └─ generator.properties代码生成类型映射配置文件
java # 工程源文件代码目录 test测试相关代码目录
│ │ └─ top │ └─ pom.xml
│ │ └─ charles7c ├─ continew-admin-common公共模块存放公共工具类公共配置等
│ └─ continew ├─ src
│ └─ admin │ ├─ main/java/top/charles7c/continew/admin/common
└─ tool ├─ config公共配置
├─ config # 系统工具相关配置 ├─ constant公共常量
properties # 系统工具相关配置属性 enums公共枚举
├─ enums # 系统工具相关枚举 ├─ model公共模型
├─ mapper # 系统工具相关 Mapper ├─ dto公共 DTOData Transfer Object
├─ model # 系统工具相关模型 │ ├─ req公共请求对象Request
entity # 系统工具相关实体对象 │ │resp公共响应对象Response
query # 系统工具相关查询条件 util公共工具类
│ │ ├─ req # 系统工具相关请求对象 │ └─ test测试相关代码目录
│ │ │ └─ resp # 系统工具相关响应对象 │ └─ pom.xml
│ │ └─ service # 系统工具相关业务接口及实现类 ├─ .giteeGitee 相关配置目录,实际开发时直接删除)
│ │ └─ impl # 系统工具相关业务实现类 ├─ .githubGitHub 相关配置目录,实际开发时直接删除)
│ └─ resources # 工程配置目录 ├─ .idea
├─ mapper # MyBatis Mapper XML 文件目录 └─ icon.pngIDEA 项目图标,实际开发时直接删除)
│ └─ templates # 模板文件 ├─ .image截图目录实际开发时直接删除
│ └─ generator # 代码生成器模板 ├─ .style代码格式相关配置目录实际开发时根据需要取舍删除时注意删除 spotless 插件配置)
├─ continew-admin-common # 公共模块(存放公共工具类,公共配置等) ├─ .gitignoreGit 忽略文件相关配置文件)
│ └─ src ├─ docker项目部署相关配置目录实际开发时可备份后直接删除
│ └─ main ├─ LICENSE开源协议文件
│ └─ java # 工程源文件代码目录 ├─ CHANGELOG.md更新日志文件实际开发时直接删除
│ └─ top ├─ README.md项目 README 文件,实际开发时替换为真实内容)
│ └─ charles7c ├─ lombok.configLombok 全局配置文件)
│ └─ continew └─ pom.xml包含版本锁定及全局插件相关配置
│ └─ 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持有者
``` ```
## 贡献指南 ## 贡献指南
@@ -392,7 +372,7 @@ ContiNew Admin 的分支目前分为下个大版本的开发分支和上个大
请记住,如果您有任何疑问或需要帮助,我们将随时提供支持。 请记住,如果您有任何疑问或需要帮助,我们将随时提供支持。
> **IMPORTANT** > [!IMPORTANT]
> 欢迎大家为 ContiNew Admin 贡献代码,我们非常感谢您的支持!为了更好地管理项目,维护者有一些要求: > 欢迎大家为 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> 中的代码规范,保证代码质量和可维护性 > 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> <packaging>jar</packaging>
<name>${project.artifactId}</name> <name>${project.artifactId}</name>
<description>系统监控模块(存放系统监控模块相关功能,例如:日志管理、服务监控等)</description> <description>系统监控模块(存放系统监控相关业务功能,例如:在线用户、日志管理等)</description>
<dependencies> <dependencies>
<!-- ContiNew Starter 日志模块 - HttpTraceProSpring Boot Actuator HttpTrace 定制增强版) --> <!-- ContiNew Starter 日志模块 - HttpTraceProSpring Boot Actuator HttpTrace 定制增强版) -->

View File

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

View File

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

View File

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