Files
makemd/docs/00_Project_Overview.md
2026-03-30 16:55:04 +08:00

91 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目概览
## 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 的环境中。详细的部署方法请参考部署文档。