91 lines
3.7 KiB
Markdown
91 lines
3.7 KiB
Markdown
# 项目概览
|
||
|
||
## 1. 项目简介
|
||
|
||
Crawlful Hub 是一个基于 Spring Boot 3.x 的后端服务,用于管理商品、订单、支付、物流等业务流程。本项目是从原有的 Node.js 后端平移而来,保持了与原系统的 API 兼容性,同时提供了更强大的性能和可扩展性。
|
||
|
||
## 2. 技术栈
|
||
|
||
- **框架**: Spring Boot 3.2.0
|
||
- **语言**: Java 17
|
||
- **数据库**: MySQL 8.0
|
||
- **缓存**: Redis
|
||
- **认证**: JWT
|
||
- **构建工具**: Maven
|
||
- **API 文档**: Springdoc OpenAPI
|
||
- **日志系统**: Logback
|
||
- **测试**: JUnit 5
|
||
|
||
## 3. 核心功能
|
||
|
||
- **用户认证与授权**: 基于 JWT 的身份验证和基于角色的访问控制
|
||
- **商品管理**: 商品的创建、查询、更新和删除
|
||
- **订单管理**: 订单的创建、查询、更新和状态管理
|
||
- **支付管理**: 支付的创建、查询、更新和状态管理
|
||
- **物流管理**: 物流的创建、查询、更新和状态管理
|
||
- **系统监控**: 系统健康状态、性能指标、服务状态等
|
||
- **告警管理**: 系统告警的创建、查询、更新和处理
|
||
- **审计日志**: 系统操作的审计记录
|
||
- **配置管理**: 系统配置的管理
|
||
- **数据管理**: 数据的导入、导出和处理
|
||
- **报表生成**: 系统报表的生成
|
||
|
||
## 4. 项目结构
|
||
|
||
```
|
||
serverjava/
|
||
├── src/
|
||
│ ├── main/
|
||
│ │ ├── java/
|
||
│ │ │ └── com/
|
||
│ │ │ └── crawlful/
|
||
│ │ │ └── hub/
|
||
│ │ │ ├── api/ # API 控制器
|
||
│ │ │ ├── config/ # 系统配置
|
||
│ │ │ ├── exception/ # 异常处理
|
||
│ │ │ ├── model/ # 数据模型
|
||
│ │ │ ├── service/ # 业务逻辑
|
||
│ │ │ ├── util/ # 工具类
|
||
│ │ │ └── Application.java # 应用入口
|
||
│ │ └── resources/
|
||
│ │ ├── db/ # 数据库迁移脚本
|
||
│ │ ├── i18n/ # 国际化资源
|
||
│ │ ├── application.yml # 应用配置
|
||
│ │ └── logback.xml # 日志配置
|
||
│ └── test/ # 测试代码
|
||
├── docs/ # 项目文档
|
||
├── README.md # 项目说明
|
||
├── index.md # 项目索引
|
||
└── pom.xml # Maven 配置
|
||
```
|
||
|
||
## 5. API 兼容性
|
||
|
||
本项目保持了与原 Node.js 后端的 API 兼容性,确保前端和客户端代码无需修改即可正常工作。API 路径、参数和返回格式都与原系统保持一致。
|
||
|
||
## 6. 性能优化
|
||
|
||
- **数据库连接池**: 使用 HikariCP 优化数据库连接管理
|
||
- **缓存**: 使用 Redis 缓存高频访问数据
|
||
- **分页查询**: 实现分页查询,避免一次性加载大量数据
|
||
- **索引优化**: 为数据库表添加适当的索引,提高查询性能
|
||
|
||
## 7. 安全增强
|
||
|
||
- **CSRF 保护**: 实现 CSRF 令牌验证
|
||
- **速率限制**: 限制 API 请求频率,防止恶意请求
|
||
- **密码加密**: 使用 BCrypt 加密用户密码
|
||
- **JWT 认证**: 使用 JWT 进行身份验证,确保 API 安全
|
||
|
||
## 8. 国际化支持
|
||
|
||
本项目支持国际化,提供了英文和中文的资源文件,可以根据请求的 Accept-Language 头自动切换语言。
|
||
|
||
## 9. 监控与告警
|
||
|
||
本项目实现了系统监控和告警功能,可以实时监控系统的健康状态、性能指标和服务状态,并在异常情况下生成告警。
|
||
|
||
## 10. 部署与运维
|
||
|
||
本项目使用 Maven 构建,可以部署到任何支持 Java 17 的环境中。详细的部署方法请参考部署文档。
|