基于springboot+vue电影网站系统
一、项目概述
1.1 项目背景
随着影视行业快速发展,影迷需要一个集中浏览电影资讯、查看影片信息、交流影评的线上平台。传统影视资讯平台架构臃肿、操作复杂,普通爱好者无法便捷检索影片、发布影评、收藏感兴趣的电影。
为满足影迷线上浏览影片、查看资讯、发表影评、收藏电影的需求,开发基于 SpringBoot 的电影网站系统。系统采用 SpringBoot + Vue 前后端分离架构,分为前台影迷门户与后台管理系统,实现电影信息展示、电影资讯推送、电影长评、用户评论、电影收藏等一体化功能,打造轻量化影视交流网站。
1.2 项目目标
前台普通用户(影迷):注册登录系统、浏览网站首页轮播、查看电影资讯、浏览全部电影信息、查看电影详情、收藏电影、发布影片评价、浏览电影长评文章。
后台管理员:管理电影分类、电影信息、首页轮播图、电影资讯、电影长评、前台用户账号;支持电影新增、编辑、删除,查看所有用户影评,维护网站基础数据。
搭建前后端分离架构,实现影片信息数字化展示,搭建影迷线上交流平台,便于管理员统一维护网站全部影视资源。
1.3 技术选型
后端技术栈
核心框架:SpringBoot 2.7.x
ORM 持久层:MyBatis / MyBatis-Plus
数据库:MySQL 8.0
工具包:Lombok、Hutool
文件上传:电影海报、首页轮播图、用户头像存储
权限认证:Token 令牌登录鉴权
项目构建:Maven
前端技术栈
基础框架:Vue2/Vue3
UI 组件库:Element UI / Element Plus
HTTP 请求:Axios
路由管理:Vue Router
配套组件:图片上传、富文本编辑器、分页检索组件
部署环境
SpringBoot 内置 Tomcat;前端打包 dist 静态资源部署 Nginx,通过反向代理解决前后端跨域;支持 Windows、Linux 服务器部署。
1.4 系统角色划分
前台用户(影迷)
前台页面注册账号、登录;浏览首页、电影资讯、电影列表;查看电影详情、收藏电影、发布影片评价、浏览电影长评。后台管理员
独立后台登录入口,拥有完整后台权限:电影分类管理、电影信息管理、轮播图管理、电影资讯管理、电影长评管理、前台用户管理,可查看所有用户影评内容。
二、系统功能需求分析
2.1 前台影迷门户功能
顶部导航栏:首页、电影资讯、电影长评、电影信息
用户注册模块
用户填写账号、密码、确认密码、用户姓名,上传头像,选择性别,填写手机号、联系地址、邮箱,完成账号注册。用户登录模块
账号密码登录前台网站,支持记住密码;未登录用户无法进行收藏、发表评价操作。首页模块
顶部轮播大图展示;分区展示电影长评推荐、电影信息卡片,快速跳转对应电影详情页面。电影信息模块
展示全部电影卡片;点击进入电影详情页面,查看海报、电影名称、分类、导演、主演、上映日期、制片国家、评分、片长、简介;支持收藏电影、发布影片评价。电影资讯模块
展示影视行业新闻、新片预告、影视热点资讯文章。电影长评模块
展示长篇影评文章,供用户阅读交流。个人中心
查看个人资料、我的收藏电影、我发布的影片评价。
2.2 后台管理系统功能
后台左侧菜单栏功能清单:
首页:后台欢迎首页
电影信息管理
电影分类:维护影片分类(文艺片、科幻片等);新增、修改、删除、查询分类;
电影信息:电影列表,支持按电影名称、主演、上映日期区间检索;表格展示海报、名称、分类、导演、主演、上映日期、国家、评分、片长;支持新增、修改、删除电影,查看详情、查看所有用户影评。
管理员管理:维护后台管理员登录账号。
轮播图管理:管理前台首页轮播海报,新增、编辑、删除轮播图。
电影资讯管理:发布、编辑、删除前台展示的影视资讯。
电影长评管理:管理长篇影评文章,支持新增、修改、删除长评内容。
用户管理:管理前台注册影迷账号,查询、启用 / 禁用用户。
三、数据库核心表设计
(1) user 前台用户表
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键自增 |
| username | varchar | 用户登录账号(唯一) |
| password | varchar | 登录密码 |
| name | varchar | 用户姓名 |
| avatar | varchar | 头像图片地址 |
| gender | varchar | 性别 |
| phone | varchar | 手机号码 |
| address | varchar | 联系地址 |
| varchar | 邮箱 | |
| create_time | datetime | 注册时间 |
(2) admin 管理员表
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| username | varchar | 管理员账号 |
| password | varchar | 密码 |
| real_name | varchar | 管理员名称 |
(3) movie_type 电影分类表
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| type_name | varchar | 分类名称(文艺片、科幻片、动作片) |
| remark | varchar | 备注信息 |
(4) movie 电影信息表
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| movie_name | varchar | 电影名称 |
| type_id | bigint | 电影分类 ID |
| poster | varchar | 电影海报地址 |
| director | varchar | 导演 |
| actor | varchar | 主演 |
| release_date | date | 上映日期 |
| country | varchar | 制片国家 / 地区 |
| score | varchar | 影片评分 |
| duration | varchar | 片长 |
| review | text | 官方影评 / 简介 |
| collect_num | int | 收藏总数量 |
| content | text | 电影详细简介 |
(5) movie_collect 电影收藏表
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| user_id | bigint | 用户 ID |
| movie_id | bigint | 电影 ID |
| create_time | datetime | 收藏时间 |
(6) movie_comment 用户影片评价表
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| user_id | bigint | 评价用户 ID |
| movie_id | bigint | 电影 ID |
| comment | text | 评价内容 |
| create_time | datetime | 评价时间 |
(7) swiper 轮播图表
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| img_url | varchar | 轮播图片地址 |
| link_url | varchar | 跳转链接 |
| sort | int | 排序序号 |
(8) movie_news 电影资讯表
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| title | varchar | 资讯标题 |
| img | varchar | 资讯封面图 |
| content | text | 资讯正文 |
| publish_time | datetime | 发布时间 |
(9) movie_long_comment 电影长评表
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | bigint | 主键 |
| title | varchar | 长评标题 |
| cover | varchar | 长评封面 |
| content | text | 长评正文 |
| publish_time | datetime | 发布时间 |
四、系统业务流程设计
4.1 前台用户浏览与交互流程
用户访问电影网站首页,未注册用户先完成账号注册,登录系统。
用户浏览首页轮播、推荐电影、推荐长评;可进入【电影信息】页面查看全部影片。
用户点击电影卡片,进入电影详情页面,查看影片全部信息。
用户可执行操作:收藏电影(收藏数量自动累加)、发布影片评价。
用户浏览【电影资讯】查看影视新闻;浏览【电影长评】阅读长篇影评文章。
4.2 管理员后台业务流程
管理员登录后台管理系统。
基础数据维护:新增电影分类、上传首页轮播图、发布影视资讯、录入电影长评。
影片运营管理:新增电影信息,上传海报,填写导演、主演、评分、简介等资料;随时修改、删除影片信息,查看所有用户影评。
用户管理:查看所有前台影迷账号,对违规账号进行禁用处理。
五、页面原型说明
5.1 前台影迷页面
前台首页
顶部导航栏,首页大幅轮播海报;下方分为电影长评展示区、电影信息展示区,卡片形式展示影片。用户注册页面
表单填写账号、密码、姓名、头像、性别、手机号、地址、邮箱,完成注册。前台登录页面
账号密码输入框,支持记住密码选项,登录进入网站首页。电影信息列表页面
卡片布局展示所有电影海报、名称、导演、主演、评分。电影详情页面
展示电影海报、名称、分类、导演、主演、上映日期、国家、评分、片长、简介;右上角收藏按钮,底部评价按钮,查看全部用户影评。电影资讯、电影长评页面
展示资讯 / 长评列表,点击进入详情阅读文章。
5.2 后台管理页面
后台登录页面
管理员账号密码登录入口,进入后台主界面。后台首页
左侧功能菜单栏,欢迎页面。电影信息列表页面
支持多条件检索(电影名称、主演、上映日期区间);表格展示电影海报、基础信息;提供新增、详情、修改、删除、查看评论功能。新增电影弹窗页面
录入电影名称、上传海报、选择电影分类、填写导演、主演、上映日期、国家、评分、片长、影评、详细简介。电影分类管理页面
管理影片分类数据,支持增删改查。轮播图、资讯、长评、用户管理页面
对应维护前台展示内容以及影迷账号信息。
六、核心接口设计
6.1 用户注册登录接口
POST /api/user/register 用户前台注册 POST /api/user/login 用户前台登录 POST /api/admin/login 管理员后台登录 GET /api/user/info 获取登录用户信息6.2 电影与分类接口
GET /api/movie/type/list 获取电影分类列表 GET /api/movie/list 前台电影列表查询 GET /api/movie/{id} 获取电影详情 POST /admin/movie/save 后台新增电影 PUT /admin/movie/update 修改电影信息 DELETE /admin/movie/{id} 删除电影6.3 收藏与影评接口
POST /api/movie/collect 收藏电影 POST /api/movie/uncollect 取消收藏 GET /api/user/collect/list 获取我的收藏 POST /api/movie/comment/save 用户发布影片评价 GET /admin/movie/comment/{id} 后台查看电影所有评价6.4 资讯、长评、轮播图接口
GET /api/news/list 前台获取电影资讯列表 GET /api/longcomment/list 前台获取电影长评列表 GET /api/swiper/list 前台获取首页轮播图 POST /admin/swiper/save 后台新增轮播图6.5 用户管理接口
GET /admin/user/list 后台查询所有前台用户 PUT /admin/user/status 启用/禁用用户账号七、系统部署方案
数据库部署
安装 MySQL8.0,执行项目 SQL 初始化脚本,创建数据表,初始化测试账号。后端部署
SpringBoot 项目打包 Jar 包,执行java -jar xxx.jar启动;配置 yml 文件数据库连接、图片上传路径。前端部署
Vue 项目执行npm run build打包 dist 静态文件,部署至 Nginx;配置反向代理转发后端接口,解决跨域。文件存储
电影海报、轮播图、用户头像默认本地存储,可扩展阿里云 OSS 对象存储。
八、系统测试要点
功能测试
用户注册登录、电影浏览、收藏、发表评价完整流程;后台电影 CRUD、分类管理、资讯长评发布功能正常;图片上传、多条件搜索、分页功能正常。业务逻辑测试
收藏电影自动累加收藏数量;未登录用户无法收藏、发表评价;管理员可以查看所有用户影评。权限测试
前台普通用户无法访问后台管理地址;未登录用户仅能浏览影片,不能交互操作。兼容性测试
前台网站、后台管理系统兼容 Chrome、Edge 主流浏览器。
九、系统扩展方向
增加影片预告视频播放功能
增加影评点赞、回复评论功能
增加电影评分星级投票功能
增加影片标签、地区、年代多维度筛选
后台增加数据看板:热门电影排行、收藏统计、访问量统计
增加影片预约提醒、上新通知功能
开发小程序版本,实现移动端观影资讯浏览
十、项目总结
基于 SpringBoot 的电影网站系统采用前后端分离架构,分为前台影迷门户网站与后台管理平台两大模块。系统包含前台影迷、后台管理员两种角色,覆盖电影分类管理、电影信息维护、首页轮播、影视资讯、电影长评、影片收藏、用户影评交流、用户账号管理等核心功能。
系统搭建了轻量化线上影视交流平台,影迷可以便捷浏览影片资料、发表影评、收藏喜爱电影;管理员集中统一维护全部影视资源与网站内容。本系统操作简单、业务清晰,适合小型影视资讯网站、校园影视交流平台使用,具备良好的实用价值。
十一、项目资料
👇🏻 精彩专栏推荐订阅👇🏻 在下方专栏👇🏻不然下次找不到哟
《Java精品推荐项目》
《springboot+vue项目100套》
《ssm项目100套》
《微信小程序合集》