一、项目介绍

  此项目是一个基于Flink的电影数据实时统计平台。

  项目前后端分离,前端项目为movie-web,后端项目为movie

  • movie-web:包含完整的Vue 2项目,在目录下使用npm run dev可直接运行
  • movie:集成了Maven,Spring Boot,Flink,JDBC,Kafka等技术的后端。包含三个入口类:
    • MovieApplication.java:启动Spring Boot程序,实现如下功能
      • 前端进行交互
      • MySQL查询数据
      • 将数据发送到Kafka
    • ServerApplication.javaFlink计算程序,用于从Kafka读取数据进行流计算,并将各项计算结果存储到MySQL
    • DataSimulator.java:评分数据模拟程序,可以完成两种任务:
      • init:初始化数据库
      • produce:模拟用户的评分行为,不断地产生大量的评分数据并发送到Kafka

  项目的用户接口:

  • 前台观影:
    • 电影首页:猜你喜欢(推荐系统)、最近热播(流计算)
    • 播放电影:播放电影(HTML video)、电影评分(Kafka
  • 数据查询:
    • 电影筛选(JDBCMySQL
    • 评分细查(JDBCMySQL
    • 可视化数据(流计算、JDBCMySQL
  • 用户中心
    • 用户信息

  由于时间原因,上述用户接口中的推荐系统和用户中心尚未实现,"猜你喜欢"目前使用的是随机伪推荐,用户中心页面则尚未构建。另外,播放电影使用的是HTML原生的video标签,性能较差,并且尚未实现后端的连接查询。

二、项目演示
2.1 前端观影/电影首页

  原本是个GIF,结果文件太大传不上来,具体演示还是查看上方的B站视频演示吧,这里只能放几张截图。主要功能是每日推荐以及最近热播的展示,每日推荐涉及推荐系统,由于时间原因尚未完善(课设deadline要到了。。。),最近热播则是每隔10s更新一次。
在这里插入图片描述
  10s后:
在这里插入图片描述

2.2 前端观影/播放电影

  此页面包含播放电影和电影评分功能。其中,播放电影由于不是此项目的重点所以做的比较随便,甚至没有连接后端。电影评分功能则需要提供电影ID、用户ID(没有做用户系统,所以无法自动获取)和评分数据。界面如下:
在这里插入图片描述

2.3 数据查询/电影筛选

  通过电影平均评分和评分次数对电影进行筛选,界面如下:
在这里插入图片描述

2.4 数据查询/评分细查

  细查每部电影的用户评分记录,界面如下:
在这里插入图片描述

2.5 数据查询/可视化数据

  提供了流计算多项统计指标结果的实时展示,包括最近10s内评分次数、历史评分次数变化、评分分布、Top榜等等。原本也是GIF,但文件过大无法上传,所以还是只能上截图,视频演示请移步B站

  “信息概览”Tab
在这里插入图片描述
  一段时间后:
在这里插入图片描述
  “电影数据”Tab
在这里插入图片描述
  一段时间后:
在这里插入图片描述

三、相关博客
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐