# 项目概览 ## 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 的环境中。详细的部署方法请参考部署文档。