一、项目简介
美妆商品推荐系统是一套面向美妆电商场景的前后端分离平台。后端采用 Flask、Flask-SQLAlchemy、MySQL、JWT、scikit-learn 与 TensorFlow,前端采用 Vue 3、Element Plus、Pinia 和 Vue Router;系统围绕美妆商品、用户行为、收藏、订单和推荐模型构建个性化商品推荐服务。
项目后端核心文件包括应用入口 app.py、数据模型 models.py、推荐算法 recommendation.py、配置 config.py 与初始化脚本 init_data.py。前端分为用户布局和管理员布局,实际包含商品、商品详情、收藏、订单、个人中心及后台商品、用户、订单、看板页面。
二、系统功能
1.1 用户端功能
注册登录与身份认证
用户可注册和登录平台。后端通过 Flask-JWT-Extended 为登录用户生成令牌,受保护的收藏、订单和个人资料等接口仅允许登录用户访问。
商品浏览、检索与详情查看
用户可在商品列表浏览美妆商品,并根据名称、分类或相关条件检索目标商品。Products.vue 和 ProductDetail.vue 分别用于列表和详情展示,商品详情关联商品基础资料、评论或互动信息。
个性化推荐
系统由 recommendation.py 提供推荐服务,结合用户、商品、收藏或订单等行为数据生成推荐结果。项目同时具备协同过滤、数据处理和深度学习模型依赖,可用于生成候选商品并完成个性化排序。
收藏与订单管理
用户可将感兴趣的商品加入收藏,在 Favorites.vue 中集中查看和管理;用户可完成模拟购买并在 Orders.vue 查看个人订单记录和订单详情。
个人中心
用户可在 Profile.vue 维护个人资料,查看与个人账号相关的商品收藏、订单和推荐内容。
1.2 管理员端功能
数据看板
管理员可在 Dashboard.vue 查看用户、商品、订单等运营数据概览,为商品运营和推荐模型维护提供数据参考。
用户、商品与订单管理
管理员可通过 Users.vue、Products.vue、Orders.vue 分别维护用户资料、商品数据与订单记录。商品管理支持新增、编辑、删除和查询等基础运营操作。
推荐数据与模型维护
管理员可使用初始化数据和平台业务数据维护推荐所需的数据基础。项目提供 TensorFlow、Keras、Pandas、NumPy 和 scikit-learn 依赖,用于推荐相关的数据处理、训练和预测流程。
三、技术栈
| 层级 | 技术 | 说明 |
|---|---|---|
| 后端 | Python、Flask、Flask-CORS | API 服务与跨域支持 |
| 数据访问 | Flask-SQLAlchemy、PyMySQL | ORM 与 MySQL 连接 |
| 身份认证 | Flask-JWT-Extended | JWT 登录鉴权 |
| 数据处理 | Pandas、NumPy、scikit-learn | 推荐数据处理与相似度计算 |
| 深度学习 | TensorFlow、Keras | 推荐模型训练与预测 |
| 前端 | Vue 3、Element Plus、Pinia、Vue Router、Axios | 用户端与后台管理端 |
| 数据库 | MySQL | 用户、商品、收藏、评论和订单数据存储 |
四、项目结构
c113/
├── backend/
│ ├── app.py # Flask 应用入口与接口注册
│ ├── models.py # 用户、商品、收藏、订单等数据模型
│ ├── recommendation.py # 推荐算法与推荐服务
│ ├── config.py # 数据库、JWT 等配置
│ ├── init_data.py # 初始化数据脚本
│ └── requirements.txt # 后端依赖
├── frontend/src/
│ ├── layouts/
│ │ ├── UserLayout.vue # 用户端布局
│ │ └── AdminLayout.vue # 管理端布局
│ ├── views/
│ │ ├── user/ # 首页、商品、详情、收藏、订单、个人中心
│ │ └── admin/ # 看板、商品、用户和订单管理
│ ├── router/index.js # 路由配置
│ └── main.js # 前端入口
├── data/ # 商品与评论数据文件
└── README.md
五、环境要求
- Python 3.8+
- MySQL 5.7+
- Node.js 16+
- pip、npm
六、数据库初始化
创建 beauty_recommendation 数据库,并在 backend/config.py 或环境配置中修改本机数据源连接。随后执行初始化脚本写入商品和业务基础数据。
cd backend
python init_data.py
七、后端启动
cd backend
pip install -r requirements.txt
python app.py
八、前端启动
cd frontend
npm install
npm run serve
九、默认账号
项目未提供可确认的默认账号,请以 init_data.py 写入的初始化数据为准。
十、业务流程说明
9.1 用户推荐与购买流程
用户注册登录后浏览商品、查看详情、收藏商品或提交模拟订单。系统保存用户与商品之间的行为数据,推荐模块读取这些数据并计算候选商品,前端首页或商品页面向用户展示个性化推荐结果。
用户可继续将推荐商品加入收藏或购买,新增行为会成为后续推荐数据的一部分,使浏览、收藏、订单和推荐形成连续闭环。
9.2 商品与模型运营流程
管理员在后台维护商品、用户和订单基础数据。初始化脚本或已有业务数据为推荐算法提供训练与计算基础;管理员查看看板数据后可根据商品和用户行为情况调整运营内容,并更新推荐相关数据或模型。
十一、交付内容
- 项目完整源码,包含 Flask 后端、Vue 前端和推荐模块代码。
- 商品与评论数据、数据库初始化脚本及配置文件。
- 项目说明文档,包含功能说明、运行环境、初始化和启动步骤。
本项目为个人原创,结构清晰,功能完整,适合课程设计、毕业设计和个人学习使用。如需购买项目成品或定制化需求可以联系作者。