springboot+redis+mysql+vue入门项目(含调用阿里云SDK短信服务)

一、描述
此项目为个人和朋友合作的电脑波数据分析项目。分为以下几大部分:

硬件:CYTON板等进行脑电波的数据采集
边缘设备:IPAD以及IOS APP
边缘通信方式:蓝牙或WIFI
网站:采用Vue框架搭建,含Bootstrap、elementUI组件库进行美化,Nginx进行反向代理,
后端:采用springboot,redis做缓存,mysql存储(含分库分页处理),socket进行实时通信,Tomcat部署。
python进行电脑波数据处理。
SDK:阿里云短信服务

GITHUB地址:项目github地址
网站地址:http://www.smartehys.com/tgam_web/#/
账号密码:自行注册即可(但短信免费数有限,而且目前也没有做登录拦截,直接访问http://www.smartehys.com/tgam_web/#/content即可进入主页)

二、功能介绍

关于登录和账号基础功能就不再介绍,在第三部分会简述一下实现步骤。

1.登录功能
springboot+redis+mysql+vue入门项目(含调用阿里云SDK短信服务)_第1张图片
2.短信注册
springboot+redis+mysql+vue入门项目(含调用阿里云SDK短信服务)_第2张图片
3.账号设置
springboot+redis+mysql+vue入门项目(含调用阿里云SDK短信服务)_第3张图片
4.历史记录
springboot+redis+mysql+vue入门项目(含调用阿里云SDK短信服务)_第4张图片
历史记录采用一个日历和记录卡片进行布局。此功能是来展现驾车时采集的电脑波记录情况,包括开始时间和结束时间,一次记录使用一个卡片。由于一秒钟就有8个电脑波端以及附加信息,而且需要实时传输,因此在此处需要使用Redis来做缓存以及socket进行实时传输,和朋友进行 了直接使用post普通的传输方式达到2s以内就会出现数据读写问题,所以说下一步将会采用socket进行改进。

5.实时面板
springboot+redis+mysql+vue入门项目(含调用阿里云SDK短信服务)_第5张图片
实时面板的数据来源边缘设备APP,APP采集的数据将会同步到网站(后端相当于一个中转站)在此处可以查看有无设备正在记录数据以及正在记录的实时动态面板。
APP->Redis->MySQL->网站

三、功能实现简述

1.登录功能

登录功能很简单,主要是页面的美化。实现原理,
前端:Vue+ElementUI进行设计页面 ,axios进行交互(注意跨域问题的解决以及部署时的跨域解决办法)。
后端:配置properties的mybatis,然后采用controller =>service => dao(mapper使用XML进行配置),另外可以采用jwt或者shiro进行权限管理。

2.注册功能

首先在阿里云注册一个签名,然后在项目中进行写一个工具类直接进行调用即可。逻辑为,前端输入号码,调用后端发送短信接口,后端发送短信接口 随机生成一个数发送到该号码,此时可以采用redis进行存储此时的随机码(key:号码,val:随机码)并设置时效为1min,然后前端确定时则调用验证接口,获取redis的val值对比即可。

3.实时面板

查询是否在记录,后端设置一个flag属性进行判断是否在记录,当发送数据时,flag就变为1,发送结束就为0.另外根据前端上传数据的情况可以分为开始发送、正在发送、结束发送三个段位(为便于安全,commandBtye来表示 00000001,前两个字段用来表示发送情况)

MySQL的表为data表和info表,当发送数据时,先将数据写入redis,key设置为userId.date.index便于寻找。当结束发送时,就可以根据key来写入数据到MySQL。

写的可能比较粗略,下次会专门针对每个技术点进行详细讲述。

你可能感兴趣的:(Java基础,java,数据库,vue)