23网络工程 尹智灏
基于 Spring Boot 3.5 + Thymeleaf + Spring Security + JPA + Flyway + MySQL 8.4 的电商实验项目。
核心功能:
- 用户注册/登录(含省份城市画像)、商品浏览与购物车、下单/支付/取消(含库存扣减与乐观锁)、三级角色权限(CUSTOMER / SALES / ADMIN)。
- Sales 支持商品与类目 CRUD、CSV 导出、操作日志查看;Admin 管理 Sales 账号、订单管理、批量数据导入导出(CSV/TOML/ZIP)、数据分析中心(RFM 画像、趋势预测、异常监控、排行榜)、推荐系统(浏览关联 + Item-Based CF)。
已实现阶段:
- Phase 1-5:用户认证授权、角色权限、商品类目管理、订单工作流、行为数据采集
- Phase 6:数据分析与推荐系统 — RFM 用户画像、销售趋势与预测、异常检测、排行榜、浏览关联推荐 + Item-Based 协同过滤、ECharts 可视化大屏
- Phase 7:完整数据导入/导出(13 种数据,含 6 张分析结果表),批量 ZIP 导出/导入,TOML 映射导入
- Phase 8:质量门禁与上线验收 — 权限回归测试(134 tests, 0 failures)、部署配置(华为云 ECS)、演示脚本
演示地址: http://122.8.150.192:54321
| 角色 | 用户名 | 密码 |
|---|---|---|
| 管理员 | admin | 123456 |
| 销售人员 | sales | 123456 |
| 普通用户 | testuser | 123456 |
src/main/java/org/self4215/
├── config/ # SecurityConfig、MethodSecurity、GlobalControllerAdvice
├── controller/ # MVC 控制器 + REST API(15 Controller)
├── entity/ # JPA 实体(14 Entity,含 6 张分析结果表)
├── exception/ # AppException + AppErrorCode
├── repository/ # Spring Data JPA 仓库(13 Repository,含分页与分析查询)
├── service/ # 业务逻辑(9 Service,含 Analytics、Recommendation、DataImport)
└── util/ # ClientIpResolver(X-Forwarded-For 反向代理支持)
src/main/resources/
├── db/migration/ # Flyway 迁移脚本 (V1~V9)
├── import-templates/# CSV/TOML 导入模板(13 种数据)
├── templates/ # Thymeleaf 模板(23 页面:顾客端、admin/、sales/、error/、fragments)
└── application.properties
-
拉取镜像
在已配置好 Docker 的终端中运行以下命令:
docker pull ghcr.io/self4215/javawebdesignlesson_exp_ecommerce_02:latest
-
获取部署配置文件
在本项目的 GitHub 仓库的
/deploy文件夹中,下载启动所需的docker-compose.yml和.env.example文件。curl -O https://raw.githubusercontent.com/Self4215/JavaWebDesignLesson_Exp_Ecommerce_02/refs/heads/master/deploy/docker-compose.yml && curl -O https://raw.githubusercontent.com/Self4215/JavaWebDesignLesson_Exp_Ecommerce_02/refs/heads/master/deploy/.env.example将
.env.example复制为.env文件并编辑,修改密码和端口等配置:cp .env.example .env
# 务必在生产环境中修改以下两项密码 MYSQL_ROOT_PASSWORD=your_secure_password DB_PASSWORD=your_secure_password # 网站对外访问端口(默认 8080,可按需修改如 80/8081/54321) APP_PORT=8080
另外服务器安全组需要开放上述
APP_PORT端口以供访问。 -
启动服务
在该目录下,运行以下命令:
docker-compose up -d
-
访问项目
等待服务启动完成后,访问地址:
http://<服务器 IP>:<开放的端口>
本项目采用 MIT 许可证。