项目文档:电影院售票系统
1. 项目介绍
电影院售票系统采用了SpringBoot作为后端框架,Vue作为前端框架,实现了用户和管理员两个角色的功能分工。
用户功能
用户登录系统后可以进行以下操作:
- 查看电影列表及分类查看。
- 对电影进行搜索。
- 选择影片、选座购票,并模拟生成订单并支付。
- 查看和修改个人信息。
- 查看自己的订单。
- 单个用户单次最多购买5张票。
管理员功能
管理员拥有系统的全面管理权限,包括以下功能:
- 影院管理:管理影院的基本信息,如名称、开放时间、影厅类型、介绍等。
- 影片管理:对电影进行新增、修改、搜索、删除,管理电影的类别。
- 影厅管理:管理电影院的影厅,包括新增、修改、删除影厅、座位管理(设置座位是否可用)、根据名称、类别进行搜索。
- 场次管理:管理影厅上映的电影场次,包括新增、修改、删除场次以及查看座位预定情况。
- 订单管理:对用户订单进行管理,包括查看订单信息。
- 用户管理:管理电影院系统所有用户的信息。
- 角色权限管理:管理角色信息和权限信息。
2. 技术选型
-
项目环境:
- 数据库:MySQL 5.7
- Java版本:JDK 1.8
- 开发工具:IntelliJ IDEA 2020.3
- 前端环境:Node.js 14.21.3
-
服务端技术选型:
- 后端框架:Spring Boot,用于快速开发Java应用。
- 持久层框架:MyBatis,与MySQL数据库进行交互。
- 权限框架:Shiro,用于身份认证和权限控制。
- JWT:用于生成和验证身份认证的token。
- 定时任务:Quartz,用于管理定时任务。
- 数据库连接池:Druid,管理数据库连接。
-
前端技术及所用js库:
- 前端框架:Vue.js,用于构建用户界面的JavaScript框架。
- UI库:ElementUI,提供丰富的UI组件。
- 状态管理:Vuex,用于集中管理Vue应用的所有组件的状态。
- HTTP库:axios,用于前后端的数据交互。
- 日期处理库:moment.js,处理日期和时间的JavaScript库。
- 进度条库:nprogress,用于显示页面加载进度条。
数据模型
系统的数据模型主要包括以下实体及其关系:
- 用户(User)
- 电影(Movie)
- 电影类别(Movie Category)
- 影院(Cinema)
- 影厅(Hall)
- 座位(Seat)
- 场次(Session)
- 订单(Order)
每个实体都有相应的属性和关联关系,用于支持系统的各项功能需求,如电影管理、影院管理、订单管理等。
成果展示
用户登录
系统首页
电影榜单
影片分类
影片详情
选座购票
订单详情
个人中心->我的订单
个人中心->基本信息
后台管理系统
用户登录
主页
影院管理->影院信息管理
影片管理->电影信息管理
影片管理->电影信息管理->修改电影信息
影片管理->电影类别管理
影片管理->电影类别管理->修改类别
影厅管理-影厅信息管理
影厅管理-影厅信息管理->修改影厅
影厅管理-影厅信息管理->安排座位
影厅管理-场次信息管理
影厅管理-场次信息管理->查看座位
订单管理
用户管理
角色权限管理->角色信息管理
角色权限管理->角色信息管理->分配权限
角色权限管理->权限信息管理
结论
本项目文档详细介绍了基于SpringBoot+Vue的电影院售票系统的功能设计、技术选型及数据模型设计。通过这些技术的应用和角色权限的划分,系统能够有效支持电影院内的售票业务管理,提升了用户的使用体验和管理员的管理效率。