1,绪论
1.1 开发目的
本课题主要目标是设计并能够实现一个基于web网页的电影院购票选座系统,整个网站项目使用了B/S架构,基于SpringBoot框架下开发;管理员通过后台管理系统实现管理影院信息,电影信息,用户角色,角色权限,查看订单信息等功能;用户通过登录网站,查询用户浏览电影信息,电影分类查看,搜索查看,购票操作,超时取消订单等。
1.2 开发意义
电影院购票选座系统是计算机技术与影院管理相结合的产物,通过影院售票系统实现了对影院的高效管理。随着计算机技术的不断提高,计算机已经深入到社会生活的各个角落。而采用人工售票的方法,不仅效率低,易出错,手续繁琐,而且耗费大量人力。为了满足售票人员对售票,订票,选座位等进行高效的管理,在工作人员的具备一定的计算机操作能力的前提下,特编此影院售票系统软件以提高影院的管理效率。
2,需求分析
2.1 管理员功能需求
管理员理应拥有系统的全部功能权限。如下为管理员的功能设计:
- 电影管理:实现对电影信息的增删改查,预览、类型分配等功能
- 排片管理:给电影添加播放场次,对影院场次排布的增删改查,座位情况查看
- 活动管理:给系统添加优惠活动和优惠券,起到电影票推广的功能
- 影院管理:对用户可见排片日期、用户退票策略、影厅信息、影厅座位等信息进行增删改查
- 会员管理:管理员可在此实现对会员卡的增删改查等功能
- 影院统计:系统会自动统计今日排片率、所有电影票房、每日客单间、上座率、近期最受欢迎的电影
- 用户管理:管理员可以为系统内添加其他角色账号,也可对已有账号进行修改删除,并可对系统用户赠送优惠券
2.2 用户功能需求
- 首页浏览:在首页,系统会展示最热门电影的海报,鼠标悬停在海报上方会显示电影的详情信息,点击海报则会进入到电影详情页
- 电影列表:展示系统内所有电影,用户可对电影进行搜索,点击“详情”按钮,即可进入电影详情页
- 电影票购买:系统设计了完整的订票流程,下单,选座位,付款,付款成功一应俱全
- 想看:用户可在电影详情页点击“想看”按钮,为电影提升热度
- 我的电影票:此页面可查看用户购买的所有电影票
- 榜单:系统按照系统内所售金额对影片进行了排序
- 我的卡包:此页面会显示用户的会员卡和优惠券信息,并可在此页面充值自己的会员卡
- 消费记录:此页面可查看用户所有的电影票购买订单
3,技术分析
后端技术
技术 | 说明 | 官网 |
---|---|---|
SpringBoot | Web应用开发框架 | https://spring.io/projects/spring-boot |
SpringSecurity | 认证和授权框架 | https://spring.io/projects/spring-security |
MyBatis | ORM框架 | http://www.mybatis.org/mybatis-3/zh/index.html |
MyBatisGenerator | 数据层代码生成器 | http://www.mybatis.org/generator/index.html |
Druid | 数据库连接池 | https://github.com/alibaba/druid |
JWT | JWT登录支持 | https://github.com/jwtk/jjwt |
Lombok | Java语言增强库 | https://github.com/rzwitserloot/lombok |
PageHelper | MyBatis物理分页插件 | http://git.oschina.net/free/Mybatis_PageHelper |
Swagger-UI | API文档生成工具 | https://github.com/swagger-api/swagger-ui |
前端技术
技术 | 说明 | 官网 |
---|---|---|
Thymeleaf | 现代的服务器端Java模板引擎 | https://www.thymeleaf.org/ |
Bootstrap | CSS/HTML框架 | https://www.bootcss.com/ |
Swiper | 特效插件 | https://www.swiper.com.cn/ |
Element | 前端UI框架 | https://element.eleme.io |
Axios | 前端HTTP框架 | https://github.com/axios/axios |
Chart.js | 图表工具 | 📣 有源码 获取源码 |
AdminLTE | 管理模板 | https://adminlte.io/ |
4,用户端页面展示
登录
管理员和用户都在此登录,系统会自动删选用户角色并分配页面