1, 概述
1.1 项目背景
传统的外卖方式就是打电话预定,然而,在这种方式中,顾客往往通过餐厅散发的传单来获取餐厅的相关信息,通过电话来传达自己的订单信息,餐厅方面通过电话接受订单后,一般通过手写来记录,最后通过口头确认才算完成一份订单的提交,之后就是订单的完成和食品的递交。
显然,在传统外卖流程中,顾客通过传单来接收信息,所能获得的信息太少,而且印发传单成本高昂,无疑那些面对大众的中低档餐厅不会或者很少印发传单;其次通过电话来接收订单,效率很低,耗时至少5到10分钟;最后,口头确认存在出错的风险,无法保证订单的有效性。而网上订餐系统或称之为网上外卖系统,将完美的解决以上的所有问题。
1.2 开发现状
经过几年的发展,许多被消费者认可的网上购物中心已经出现在国内外。这些网上购物中心的内容是多样化的,它们包含的功能相对完善,包括注册用户、搜索商品、管理订单、介绍商品细节以及在线留言。如今,互联网的广泛使用在一定程度上导致了国内外在线购物中心的发展,只要企业通过这个平台在线打字,就可以随时管理系统的内容。通过展示菜品内容和发布公告,鼓励消费者订餐和进行在线交易。
2,系统设计
3,主要技术
3.1 后端技术
| 技术 | 说明 | 官网 |
|---|---|---|
| Spring | J2EE应用程序框架 | https://spring.io/projects/spring |
| SpringMVC | 全功能 MVC 模块 | https://www.tutorialspoint.com/spring/spring_web_mvc_framework.htm |
| 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 |
3.2 前端技术
| 技术 | 说明 | 官网 |
|---|---|---|
| JSP | 动态网页技术标准 | https://www.jsp.com/ |
| 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,需求分析
4.1 前台用户功能
- 登录:根据账号密码进行登录操作
- 注册账号:用户填写个人信息后开始注册
- 维护个人信息:用户因个人信息的变更可以随时修改自己注册信息
- 浏览评论信息:选中某个菜品可查看其用户的评论
- 评论:用户在下订单之后可以对订单菜品进行评论
- 购物车:用户可以把想吃的东西添加到购物车后在进行购买,也可以选择直接购买
- 订单管理:用户可以查看自己以往点餐订单的信息
- 在线支付:用户根据自己的需求选中某个菜品进行点餐在线支付操作
- 校园资讯:用户可在此发布自己的问题,管理员审核通过后进行显示
- 常见问题:用户对于系统的一些常见疑问可以在这里得到解决
4.2 管理员功能
- 用户管理:对系统内用户账号作出管理,并可以将他们的提升为会员
- 商品列表:对商品信息实现增删改查
- 商品分类管理:管理商品分类信息
- 评论管理:管理商品评论
- 订单管理:查看系统内所有订单,实现配货、出库操作
- 角色管理:管理系统内角色、权限列表
- 权限管理:管理后台菜单权限
- 管理员管理:管理系统管理员
- 咨询管理:对用户提出的问题作出审核和管理
5,订餐页面展示
5.1 登录 / 注册
5.2 首页
5.3 商品分类浏览
5.4 商品搜索
5.5 商品详情页
5.6 商品评价
5.7 购物车
5.8 我的订单
点击定位图标即可查看订单详情信息
5.9 校园咨询
5.10 常见问题
6,后台管理页面展示
6.1 登录
6.2 用户管理
6.3 商品管理
6.4 商品分类管理
6.5 评论管理
6.6 订单管理
订单详情
6.7 角色管理
添加角色
角色编辑