一.项目介绍
本项目为基于SpringBoot框架开发的校园点餐系统。项目分为商户端和用户端,商户端实现了对员工、菜品、套餐的管理以及订单的处理与分析;用户端基于微信小程序实现了在线点餐、下单等功能。
图1 管理端(左)与用户端(右)界面
二.项目地址
1.商户端:https://foodchest.xuejian.online
2.用户端:微信扫一扫下方二维码进行体验(由于个人开发者无权发布电商项目的小程序,因此无法直接搜索使用,仅能使用体验版)
图2 小程序二维码
三. 涉及技术
SpringBoot、MyBatis、MySQL、Redis、JWT、WebSocket、HttpClient、Docker、Nginx
四. 主要功能
1.基于JWT令牌实现用户登录及身份验证,通过ThreadLocal和拦截器进行token校验完成用户认证,解决HTTP请求无状态的问题。
2.使用Redis对菜品进行缓存,缓解高并发下频繁访问数据库导致性能下降的问题。
3.通过WebSocket进行商户端与服务端的长连接,实现来单提醒以及客户催单功能。
4.使用HttpClient实现微信用户登录、微信支付、百度地图等接口的调用。
5.使用SpringTask实现订单状态的定时处理、订单超时取消等功能。
6.使用Nginx部署商户端应用及SSL证书,并配置反向代理转发请求,实现前后端分离架构。
7.使用docker容器化部署服务端应用及MySQL、Redis。
图3 项目结构
五. 项目展示
1.商户端界面展示
图4 商户端-工作台
图5 商户端-数据统计
图6 商户端-订单管理
图7 商户端-菜品管理
图8 商户端-新建套餐
图9 商户端-员工管理
2.用户端界面展示
图10 用户端界面 (a)点餐界面 (b)购物车 (c)下单界面 (d)地址管理 (e)订单详情 (f)历史订单