跳到主要内容
探微编程

// case · thesis

潮汐数智 · 电商实时行为分析与销售预测系统

基于 Kafka + Spark Streaming 的电商实时行为分析与销售预测系统,含 8 大模块、可视化大屏与开箱即用的近期测试数据。

毕业设计支持2026.10.24·10 tech stack

项目简介

「潮汐数智」是一套面向电商场景的实时用户行为分析与销售预测系统。系统以 Kafka 承接行为事件,Spark Structured Streaming 按小时窗口完成 PV / UV / 加购 / 收藏 / 成交 / 销售额聚合,再通过滞后特征线性回归预测销售额走势,前端以暗色数据看板与可视化大屏呈现。

项目内置 1.6 万条行为事件、28 位用户、20 件商品、6 个品类与 200+ 个小时窗口,导入脚本即可看到完整图表,适合作为大数据、数据分析、软件工程方向的毕业设计参考。

技术架构

  • 前端:Vue 3 + Vite 6 + Element Plus + ECharts + Pinia,路由懒加载,全站统一暗色设计系统
  • 后端:FastAPI 0.115 + SQLAlchemy 2.0 + PyMySQL + Pydantic 2,JWT 登录鉴权
  • 实时计算:Kafka 2.0 + PySpark 3.5 Structured Streaming(小时滚动窗口)
  • 预测模型:scikit-learn 线性回归,特征为 lag1 / lag2 / lag3 / hour
  • 存储:MySQL 8.0(库名 db_ecommerce,表名统一 t_ 前缀)
  • 部署:Nginx + Uvicorn,前后端分离,/api 与 /uploads 反向代理
行为事件 → Kafka(user_behavior) → Spark Streaming → MySQL
                                        ↓
                                scikit-learn 预测 → RMSE / MAE / MAPE
                                        ↓
                            FastAPI → Vue3 后台 / 可视化大屏

核心功能

  1. 数据总览:今日销售额、浏览量、成交单量与环比,24 小时销售/流量走势、品类结构、转化漏斗、实时行为流
  2. 经营分析:RFM 用户价值分层、高价值用户榜、性别/年龄/城市画像、近 7 天 × 24 小时行为热力、品类转化表现
  3. 行为流水:按行为类型、日期区间、用户/商品关键词组合筛选,支持 CSV 导出
  4. 商品中心:商品与品类增删改查、图片上传、商品行为详情(浏览量 / 加购 / 收藏 / 成交 / 转化率)
  5. 实时统计:窗口趋势、最新窗口指标、自动刷新,可手动启动模拟链路
  6. 销售预测:真实值/预测值对比、残差分布、误差收敛趋势、未来 6 小时预测区间
  7. 可视化大屏:独立全屏页面,3 秒轮询,销售趋势、转化漏斗、Top 商品、地区分布与实时事件流
  8. 个人中心:头像上传、昵称维护、密码修改

关键设计

  • 自动降级:未安装 Kafka 或 Java 时,后端自动切换为 Python 模拟链路(pandas + numpy 复现窗口统计),保证演示不中断
  • 数据一致性:窗口键统一为 YYYY-MM-DD HH:00:00,历史非标准格式在接口与前端合并处理,避免同一小时重复计数
  • 可视编码克制:全站只保留一个品牌强调色,其余颜色仅用于区分数据维度;数字统一等宽字体,便于横向比较
  • 开箱数据:建库脚本同时包含基础数据与 2026-10-18~24 的近期测试数据,导入后立即有图可看

交付内容

  • 完整前后端源码(含 client/dist 构建产物)
  • 数据库脚本 db_ecommerce.sql:建库建表 + 初始数据 + 近期测试数据
  • 使用必看.txt:环境要求、数据库初始化、前后端启动、Nginx 部署、常见问题排查
  • 默认管理员:tanwei / 123456(首次登录后请修改)

运行环境

组件版本 / 说明
Python3.10 ~ 3.12
Node.js18+(建议 20 LTS)
MySQL8.0,默认端口 3308
Kafka / Spark可选,不装自动降级

快速启动

# 1. 初始化数据库(脚本会自动建库)
cd server && python init_db.py

# 2. 启动后端
python -m uvicorn main:app --port 8000 --reload

# 3. 启动前端
cd client && npm install && npm run dev
# 浏览器打开 http://localhost:5173

© 2026 探微编程原创,源码仅供学习交流,请勿用于商业售卖。

// contact

有需求?先聊聊你的项目

不管是一次技术支持、一个完整项目,还是想补一段工程能力,都可以先沟通。我们会先了解需求并给出判断,再谈方案与报价。

wechat
Trdfyl
qq
2356245930
探微编程 微信二维码

扫码添加微信