一、项目整体亮点:
【注:基于每个亮点,均有整理的相关知识,可在博客中查看】
1.数据库的设计采用RBAC(基于角色访问控制)的权限设计。
RBAC将权限授予角色,然后将用户分配给角色,从而简化了权限管理。这种方法使得权限管理更加模块化和可管理,有利于系统的安全性和可维护性。
2.前端发送的动态请求由nginx转发到后端服务器。
提高了访问速度、进行负载均衡、保证了后端安全。
3.员工表中密码是明文存储,安全性低。使用MD5加密方式对明文加密。
4.为了更好的进行后端的接口测试,采用Swagger框架的Knife4j【接口文档访问路径:http://localhost:8080/doc.html】进行访问查看。
-
Yapi 是设计阶段使用的工具,管理和维护接口
-
Swagger 在开发阶段使用的框架,帮助后端开发人员做后端的接口测试
5.对于公共字段的自动填充采用AOP切面编程,会让实现功能增强。
6.文件上传实现,有三种实现方法:①直接将图片保存到服务的硬盘②使用分布式文件系统进行存储③使用第三方的存储服务(OSS)这里采用阿里云的OSS
7.采用redis进行数据存储(①基于内存存储,读写性能高②适合存储热点数据③企业应用广泛)//店铺营业状态、缓存套餐和购物差车
redis是用C语言开发的一个高性能键值对数据库,官方提供的数据可以达到100000+的QPS(每秒内查询次数);它存储的value值比较丰富,也被成为结构化的NoSQL数据库。 NoSQL(not only SQL)不仅仅是SQL,泛指非关系型数据库,是关系型数据库的补充。
8.Spring Cache:(redis常用)
9.Spring Task是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。定时任务框架,定时自动执行某段Java代码只要是需要定时处理的场景都可以使用Spring Task【处理超时订单】
10.WebSocket: 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输。【来单提醒、客户催单】
11.Apache ECharts: 是一款基于 Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。【数据统计】
二、文件说明
各模块下每个包的作用:
数据库表说明: