餐饮外卖系统(胜强外卖)

餐饮外卖系统(胜强外卖)为餐饮企业提供一款软件 实现一个外卖管理业务操作系统 分为管理端和用户端 餐饮系统

文章目录

    • 需求分析
    • 整体技术选型
    • 设计特点
    • 系统功能
    • 功能实现
    • 测试分析加效果展示
    • 总结与反思
    • 借鉴参考出处

一、需求分析

为餐饮企业提供一款软件,实现一个外卖管理业务操作系统,分为管理端和用户端。

二、整体技术选型

三、设计特点

项目结构:

表的设计:

四、系统功能

管理端:

用户端:

五、功能逻辑实现

首先将管理端和用户端发起的请求路径做出路径区别  /admin     /user 。

管理端

1.管理端先向nginx服务器发起请求,之后将请求再转接到服务端上spring内置tomcat服务器上,首先由自定义的拦截器interceptor拦截请求路径,对于静态页面和login请求不处理,其他都会拦截。

2.用户首先是登录,如果登录失败直接返回401错误码,如果登录成功,下发jwt令牌,每次发起请求都会携带jwt令牌,服务端的拦截器都会先校验jwt令牌是否合法,不合法就无法访问对应页面。

3.合法令牌校验成功后,首先会去访问controller层,拦截后将对应的请求转到service逻辑处理层,再后来就是转到mapper层来访问MySQL数据库,数据库将对应的数据返回给管理端页面。

用户端

1.基于微信小程序实现登录,用户端先向nginx服务器发起请求,之后将请求再转接到服务端上spring内置tomcat服务器上,首先由自定义的拦截器interceptor拦截请求路径,对于静态页面和login请求不处理,其他都会拦截。

2.用户首先是登录,首先是判断该用户是否是合法用户,是否拿到openid,如果用户不合法,登录失败。如果登录成功,下发jwt令牌,每次发起请求都会携带jwt令牌,服务端的拦截器都会先校验jwt令牌是否合法,不合法就无法访问对应页面。

3.合法令牌校验成功后,首先会去访问controller层,拦截后将对应的请求转到service逻辑处理层。

4.对于查询请求在这会先到redis数据库查看有无菜品缓存信息,如果有直接返回。如果没有,才转到mapper层来访问MySQL数据库,数据库将对应的数据先存储再一份到redis数据库,然后才返回给用户端。

5.对于其他类型请求,在这会先到redis数据库,清除对应的菜品信息,等到下一次查询操作再存储新数据,让数据保持着最新。然后转到mapper层来访问MySQL数据库,直接返回给用户端。

六、测试分析加效果展示

胜强(餐饮)外卖系统

七、总结与反思

亮点:

1.redis内存型缓存

2.nginx实现前后端分离

3.全局异常处理器

4.Git代码多版本控制

5.Swagger,postman中间件

6.Spring task定时任务

7.对于excel报表的POI

8.基于注解开发

9.websocket的双向网络连接

不足之处:

在数据库层面:

对于数据库,可以实现多加一台从库,主从库能确保在主库访问异常时,也能对从库进行访问,同时对于数据库的读写分离也能大大提高用户的访问速度。

在服务器层面:

可以将服务搭建在多个服务器上,使用nginx实现负载均衡,减轻单台服务器的压力。

八、借鉴参考出处

有需要我的源码可以在Gitcode上搜索Sky Take Out或者有相关的问题可以加我的vx:hsq  非常乐意帮忙大家!

思路来源:哔哩哔哩动画 bilibili.com 博主:黑马程序员
视频资源:关键词【苍穹外卖】超友情分享给你!
B站学习课程链接:黑马程序员Java项目实战《苍穹外卖》,最适合新手的SpringBoot+SSM的企业级Java项目实战_哔哩哔哩_bilibili
 

如果想转发和使用请加上作者和网址,谢谢!
如果发现文章有问题请指出,谢谢!
后续会继续与大家分享Java学习路上的一些相关内容,如果感兴趣可以关注我哈!
————————————————

今天的文章 餐饮外卖系统(胜强外卖)分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2025-01-03 07:51
下一篇 2025-01-03 07:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/100760.html