Skip to content

beyond-1234/OnlineSurvey

 
 

Repository files navigation

Pop Survey简单在线调查工具

1.开发描述

这是一个简单的前后端分离的在线调查工具

  • 前端使用vue.js开发,最终将打包为webapp
  • 前端组件使用有赞的vant组件库
  • 后端使用spring + mybatis进行开发
  • 数据库使用开源关系数据库MySql
  • 数据源与数据监控使用阿里的Druid
  • 后端服务器租用阿里云服务器
  • 短信发送、邮件发送与人脸识别功能均使用阿里的对应服务
  • 如阿里云accessKey等敏感信息本项目单独用了一个配置文件application-privateInfo.yml进行配置,该文件并未上传,需要在后端src/main/resources中新建该文件并添加对应配置。

2.项目简介

开发一个在线调查平台,让用户可以和公司交互,进行反馈。在此平台中,公司用 户可以创建和提交调查问卷给管理员,管理员审核后可批准发布调查,然后用户可以参加调查。 调查结束后,公司用户可以查看调查数据。该项目旨在开发一个平台,使得公司可以提供在线 调查,以获得关于其新产品、现有产品、服务等的反馈。

3.功能需求

3.1用户功能

3.1.1用户注册

用户需要在注册表单中输入要求的详细信息才能注册。 用户信息包括:昵称、头像、手机、电子邮件地址、性别、 密码、人脸识别信息等,密码将采取 加密(加密方法还未选定)并保存在数据库中。 用户注册时可以选择自己感兴趣的话题或领域,这样登录后可以看到推送的相关的调查。 可以限制用户可以选择的话题或领域的个数。

3.1.2用户登录

已注册用户可以通过输入其昵称、手机或电子邮件地址登录系统,或通过人脸识别进行登录。 用户登录后在显眼位置推送最近热门的调查和与用户感兴趣话题或领域相关的调查(默认 可按照发布时间排序)

3.1.3查看和检索调查问卷

用户可以输入关键字检索调查问卷,关键字可以是公司名、调查关键字(如防秃等),然 后显示检索到的调查问卷列表给用户,默认按照调查问卷参与人数排序,用户也可选择按照时 间进行排序,点击某个调查,用户可进入调查问卷页面,参与调查。 用户可查看自己参与过的调查的列表,并可管理列表中的调查,如删除想删除某个调查。

3.2公司用户功能

3.2.1公司用户注册

公司用户需要在注册表单中输入要求的详细信息才能注册。 公司用户也是一名用户,但对应权限不同。 公司用户注册的时候需要提供公司的相关信息,包括但不限于公司名称、公司类型、所属 行业、公司规模、公司简介等。

3.2.2公司用户登录

公司用户登录需求与普通用户相同

3.2.3发布调查

登录的公司用户可以创建新的调查,发布调查可以选择调查类型、指定调查问卷标题、添 加调查问卷题目等,问卷题目可以是文本类型、选择题类型等。创建好调查后可以提交调查, 等待管理员审核和发布问卷。

3.2.4管理调查

公司用户可以管理自己发布的调查问卷,公司用户可以查看发布的所有调查问卷,或者基 于一定条件检索调查问卷列表,如根据关键字进行检索,检索到的列表按照参与人数降序 排序,公司用户也可选择按照发布时间降序或升序排序。点击列表中的某个调查问卷,可 以查看调查问卷的详细内容,并可进行编辑更新或删除。

3.2.5查看调查结果

调查完成后,公司用户可以登录并查看与调查相关的汇总报告,报告可以以表格、图表和 其他格式显示。

3.3管理员功能

3.3.1管理员账户的创建

平台管理员的账户只能由现有平台管理员创建然后共享给其他管理员使用。

3.3.2审核和管理公司人员信息

平台管理员可以查看公司用户列表,点击某个公司人员可以查看其详细信息和关联的公司的信息 ,平台管理员有权限编辑和删除公司用户信息 。

3.3.3管理用户

平台管理员可以查看注册用户列表,或根据一定条件检索用户,如用户昵称、手机号、 邮箱等,平台管理员有权限编辑和删除用户信息。

3.3.4管理调查问卷

平台管理员可以查看所有提交未发布的调查问卷,默认按照发布时间倒序显示调查问 卷,或者根据关键字、发布人或发布人所属公司检索调查问卷列表,并对列表中的调查进 行批准或拒绝,批准后问卷发布,用户可以参与问卷调查,未批准的调查,用户不能参与 调查。如果拒绝或批准,公司用户会收到邮件提醒。 平台管理员可以查看所有已发布的调查问卷,默认按照调查参与人数倒序显示,或者 根据关键字、发布人或发布人所属公司检索调查问卷列表,平台管理员有权限删除一个或 多个调查问卷。

4.其他功能需求

4.1 数据量大的查询添加数据分页功能

4.2 表单元素添加适当的验证,如验证密码或用户名的有效输入

5.开发日志

2019年11月10日 GMT+8 下午7:56 创建vue项目OnlineSurvey作为本次在线调查系统的前端

2019年11月10日 GMT+8 下午8:00 添加快速打开命令行的工具

2019年11月10日 GMT+8 下午8:05 初始化npm项目创建package.json

2019年11月10日 GMT+8 下午8:09 安装vant组件库

2019年11月10日 GMT+8 下午8:44 add README.md

2019年11月10日 GMT+8 下午8:50 添加.gitattributes配置文件

2019年11月10日 GMT+8 下午9:21 创建后台工程

2019年11月10日 GMT+8 下午9:21 添加数据字典

2019年11月11日 GMT+8 上午8:58 完成vant使用配置

2019年11月11日 GMT+8 上午9:12 添加log4j配置文件

2019年11月11日 GMT+8 下午8:06 添加数据库脚本文件

2019年11月11日 GMT+8 下午10:02 设计index页面直接为登录页,添加部分表单组件

2019年11月12日 GMT+8 上午10:48 新建人脸识别登录页面loginFV

2019年11月12日 GMT+8 上午10:49 新建用户注册页面

2019年11月12日 GMT+8 上午10:49 将新页面注册至pages.json

2019年11月12日 GMT+8 上午11:54 完善人脸登录页面

2019年11月12日 GMT+8 上午11:54 完善用户注册页面

2019年11月12日 GMT+8 上午11:54 添加logo图片资源

2019年11月12日 GMT+8 下午4:37 添加yml配置文件

2019年11月12日 GMT+8 下午4:38 更新数据库连接url

2019年11月12日 GMT+8 下午4:39 更新数据字典

2019年11月12日 GMT+8 下午4:39 更新数据库脚本文件

2019年11月12日 GMT+8 下午5:00 创建数据库表对应JavaBean

2019年11月12日 GMT+8 下午5:01 完成属性添加与getter与setter创建

2019年11月12日 GMT+8 下午5:02 更新数据库脚本文件

2019年11月12日 GMT+8 下午5:04 完成druid数据监控配置

2019年11月13日 GMT+8 下午2:06 添加数据传输测试Controller

2019年11月13日 GMT+8 下午2:06 新建并注册测试界面test

2019年11月13日 GMT+8 下午2:11 安装request-promise

2019年11月13日 GMT+8 下午2:34 完成前后端通信测试代码

2019年11月13日 GMT+8 下午2:40 安装lrz图片压缩工具

2019年11月13日 GMT+8 下午8:08 完成跨域访问配置

2019年11月13日 GMT+8 下午8:08 添加获取手机验证码的Controller

2019年11月13日 GMT+8 下午8:10 添加gson与阿里云Alibaba Cloud SDK的依赖

2019年11月13日 GMT+8 下午8:11 修改部分样式

2019年11月13日 GMT+8 下午11:22 添加计划表

2019年11月13日 GMT+8 下午11:46 添加阿里fastjson依赖

2019年11月13日 GMT+8 下午11:47 完成手机验证码发送配置

2019年11月14日 GMT+8 下午4:44 完善handleClick函数

2019年11月14日 GMT+8 下午10:00 添加MapperScan注解配置

2019年11月14日 GMT+8 下午10:01 配置针对users的数据访问方法

2019年11月15日 GMT+8 上午12:11 创建包含companies的数据访问方法的mapper CmpMapper

2019年11月15日 GMT+8 上午12:11 添加公司Update方法

2019年11月15日 GMT+8 上午12:13 创建company动态sql的Provider类CmpMapperProvider 添加select方法

2019年11月15日 GMT+8 上午10:21 UserMapper修复updateUser SQL语句问题

2019年11月15日 GMT+8 上午10:23 CmpMapper完成插入删除更新

2019年11月15日 GMT+8 上午11:00 CmpMapper修改错误注释 添加插入方法Options配置

2019年11月15日 GMT+8 上午11:02 创建TagMapper配置针对taps的数据访问方法

2019年11月18日 GMT+8 上午9:01 添加UserController

2019年11月18日 GMT+8 上午9:01 添加数据库测试Controller DBTestController

2019年11月18日 GMT+8 上午9:02 编写数据库测试模块

2019年11月18日 GMT+8 下午8:31 添加手机验证码发送测试方法

2019年11月18日 GMT+8 下午9:53 UserMapper修正更新与插入中表名错误问题

2019年11月18日 GMT+8 下午9:54 junit添加用户插入测试方法

2019年11月18日 GMT+8 下午9:56 UserController完成针对接收前端数据新增用户的配置

2019年11月18日 GMT+8 下午9:56 添加测试用户信息

2019年11月18日 GMT+8 下午9:57 添加lrz图片压缩工具的import

2019年11月18日 GMT+8 下午10:02 register页面逻辑基本完成

2019年11月18日 GMT+8 下午10:08 创建用于处理人脸识别请求的Controller FVerifyController

2019年11月18日 GMT+8 下午10:29 创建人脸识别配置工具 FVerifyUtil

2019年11月18日 GMT+8 下午10:30 完成人脸识别配置工具 FVerifyUtil

2019年11月18日 GMT+8 下午10:33 完成FVerifyController

2019年11月19日 GMT+8 下午3:59 更新忽略文件 忽略隐私信息配置文件application-privateInfo.yml

2019年11月19日 GMT+8 下午4:01 FVerifyController.java人脸识别时将一并把用户详细数据返回给前端

2019年11月19日 GMT+8 下午4:05 登录页与注册页添加提交加载的显示

2019年11月19日 GMT+8 下午4:06 基本完成前端人脸识别登录的逻辑

2019年11月19日 GMT+8 下午4:44 安装vue-cookies

2019年11月19日 GMT+8 下午4:49 将阿里云accessKey相关敏感信息保存在配置文件application-privateInfo.yml中

2019年11月19日 GMT+8 下午4:49 添加敏感信息读取测试

2019年11月19日 GMT+8 下午5:16 前端添加并注册角色选择页

2019年11月19日 GMT+8 下午10:23 修正CmpMapper中insterCmp sql语句错误

2019年11月19日 GMT+8 下午10:25 UserMapper修正updateUserById传值错误

2019年11月19日 GMT+8 下午10:26 封装MD5加密工具

2019年11月19日 GMT+8 下午10:27 创建处理公司相关请求的Controller CmpController

2019年11月19日 GMT+8 下午10:29 添加注册完成页

2019年11月19日 GMT+8 下午10:29 添加注册普通用户页

2019年11月19日 GMT+8 下午10:30 添加注册公司页

2019年11月19日 GMT+8 下午10:30 添加tag页

2019年11月19日 GMT+8 下午10:30 添加用户信息页

2019年11月19日 GMT+8 下午10:31 注册新页面

2019年11月19日 GMT+8 下午10:32 完成登录标识

2019年11月19日 GMT+8 下午10:32 完成用户选择页

2019年11月19日 GMT+8 下午10:36 完善页面路由

2019年11月19日 GMT+8 下午10:40 新增管理员申请页面

2019年11月19日 GMT+8 下午10:40 完成用户注册分类路由

2019年11月20日 GMT+8 上午11:50 SmsController 替换过时方法

2019年11月20日 GMT+8 下午3:08 配置导航栏

2019年11月20日 GMT+8 下午3:09 引用js-pinyin

2019年11月21日 GMT+8 下午2:47 添加insertTag的测试

2019年11月21日 GMT+8 下午2:51 创建处理tag相关请求的Controller TagController

2019年11月21日 GMT+8 下午2:52 新增并在package.json中注册页面addtag

2019年11月21日 GMT+8 下午2:53 完成用户选择标签页的显示与选择功能

2019年11月21日 GMT+8 下午7:40 mybatis完成user与tag多对多映射

2019年11月21日 GMT+8 下午7:41 添加对user与tag的查询测试

2019年11月21日 GMT+8 下午7:43 UserControler 完成对添加user与tag关系的请求的处理

2019年11月21日 GMT+8 下午8:45 loginFV 修正cookies格式

2019年11月21日 GMT+8 下午8:46 registerOrdinaryUsers 完成用户选择标签功能

2019年11月21日 GMT+8 下午9:12 registerOrdinaryUsers 完善页面路由

2019年11月21日 GMT+8 下午9:12 添加静态资源文件sadPanda

2019年11月21日 GMT+8 下午9:14 registerAdmin 完成管理员注册页面设计

2019年11月21日 GMT+8 下午9:22 修改表结构设计

2019年11月21日 GMT+8 下午9:32 修改数据库表结构

2019年11月21日 GMT+8 下午10:06 Investigate类修正数据结构

2019年11月21日 GMT+8 下午10:07 添加针对investigates的数据访问的InvMapper

2019年11月25日 GMT+8 上午8:58 添加用户与公司一对一映射

2019年11月25日 GMT+8 上午9:00 InvMapper 修正缩进格式

2019年11月25日 GMT+8 上午9:14 CmpController insertCmp修正对用户对应cmp_id的修改

2019年11月25日 GMT+8 上午9:16 添加对查询用户的测试

2019年11月25日 GMT+8 上午9:37 添加用户与问卷的一对多映射

2019年11月25日 GMT+8 下午9:37 修改问卷表结构

2019年11月26日 GMT+8 下午8:30 重命名addTag为mdfTag 基本完成标签管理功能

2019年11月26日 GMT+8 下午8:32 TagMapper 添加不与user映射的tag查询方法

2019年11月26日 GMT+8 下午8:33 TagController 添加处理管理tag请求的方法

2019年11月26日 GMT+8 下午8:34 修改原addtag页的注册信息为mdfTag

2019年11月26日 GMT+8 下午8:34 添加不与user映射的tag查询的测试方法

2019年11月26日 GMT+8 下午8:41 mdfTag 添加下拉刷新功能

2019年11月26日 GMT+8 下午8:59 mdfTag修改错误函数调用

2019年11月26日 GMT+8 下午10:04 创建并注册新增问卷页面 addInvestigate

2019年11月26日 GMT+8 下午10:05 添加阿里云 aliyun-java-sdk-dm 依赖

2019年11月26日 GMT+8 下午10:06 创建处理邮件发送请求的Controller EmailController

2019年11月26日 GMT+8 下午10:07 OnlinesurveyApplicationTests 添加发送邮件测试方法

2019年11月27日 GMT+8 下午8:59 addInvestigates 基本完成所需功能

2019年11月27日 GMT+8 下午9:49 addInvestigates 增加添加问卷请求发送的数据

2019年11月27日 GMT+8 下午9:50 InvMapper 添加插入问卷与tag映射关系的方法

2019年11月27日 GMT+8 下午9:51 创建处理问卷相关请求的Controller InvController

2019年11月27日 GMT+8 下午9:57 创建并注册审核问卷页面 verifyInvestigates

2019年11月27日 GMT+8 下午9:59 InvMapper 修改查询动态sql生成方法

2019年11月27日 GMT+8 下午10:09 InvMapper 修正查询方法名

2019年11月27日 GMT+8 下午10:10 InvController 添加处理获取未审核问卷的请求

2019年11月27日 GMT+8 下午10:24 创建并注册审核详情页 verifyInvDetails

2019年11月27日 GMT+8 下午10:25 InvController 修改获取未审核问卷的方法

2019年11月27日 GMT+8 下午10:26 erifyInvestigates 添加问卷显示功能

2019年11月27日 GMT+8 下午10:31 verifyInvestigates 添加通过点击对应问卷单元格向verifyInvDetails传值路由

2019年11月28日 GMT+8 下午9:15 提取邮件发送方法

2019年11月28日 GMT+8 下午9:16 verifyInvestigates 修正变量名全部为驼峰命名法

2019年11月28日 GMT+8 下午9:17 OnlinesurveyApplicationTests 修改邮件发送测试方法

2019年11月28日 GMT+8 下午9:18 verifyInvDetails 审核页基本完成功能

2019年11月28日 GMT+8 下午9:20 InvController 添加处理审核请求的方法

2019年11月28日 GMT+8 下午10:18 创建并注册答题页面involvedInv

2019年11月28日 GMT+8 下午10:26 involvedInv 完成问题显示与答案存储

2019年11月29日 GMT+8 下午8:59 mUserMapper 添加插入用户作答表的方法

2019年11月29日 GMT+8 下午9:01 消除部分warning

2019年11月29日 GMT+8 下午9:01 involvedInv 基本完成用户作答功能

2019年11月29日 GMT+8 下午9:28 重命名suvvm头像文件avatar.jpg为avatar_suvvm.jpg

2019年11月29日 GMT+8 下午9:29 重命名suvvm人脸识别文件face.jpg为face_suvvm.jpg

2019年11月29日 GMT+8 下午9:30 添加测试用户静态图片文件

2019年11月29日 GMT+8 下午9:31 user 页修改临时图片地址

2019年11月29日 GMT+8 下午9:33 InvController 删除无用方法

2019年11月29日 GMT+8 下午9:35 UserController 添加处理插入用户作答请求的方法

2019年11月29日 GMT+8 下午10:27 test 测试由后端取出base64编码在前端显示文件

2019年11月29日 GMT+8 下午10:27 user 页面图片由临时图片转为后台图片

2019年11月29日 GMT+8 下午10:28 UserController 添加处理根据id获取用户全部信息的请求的方法

2019年11月30日 GMT+8 上午11:34 user 页更新用户判断机制

2019年11月30日 GMT+8 下午6:42 CmpController 添加处理更新公司信息请求的方法

2019年11月30日 GMT+8 下午6:43 创建并完成公司管理页

2019年11月30日 GMT+8 下午6:44 创建公司用户管理调查页

2019年11月30日 GMT+8 下午6:45 创建调查修改页

2019年11月30日 GMT+8 下午6:47 注册allCmpInv mdfInv userCompany至pages.json

2019年11月30日 GMT+8 下午6:48 user 用户页完善具体内容

2019年11月30日 GMT+8 下午8:43 InvMapper 修正update动态SQL生成方法中错误的表名

2019年11月30日 GMT+8 下午8:43 InvController 添加处理修改问卷请求的方法

2019年11月30日 GMT+8 下午8:45 测试分页方法

2019年11月30日 GMT+8 下午8:46 mallCmpInv 功能基本完成

2019年11月30日 GMT+8 下午8:46 添加分页功能

2019年11月30日 GMT+8 下午8:47 mdfInv 功能基本完成

2019年11月30日 GMT+8 下午8:50 user 页添加登出按钮

2019年11月30日 GMT+8 下午9:55 UserController 添加处理更新用户请求的方法

2019年11月30日 GMT+8 下午9:56 创建注册并完成用户更新页

2019年11月30日 GMT+8 下午10:05 新增关于我们页

2019年11月30日 GMT+8 下午10:05 user 页更新部分路由

2019年11月30日 GMT+8 下午10:14 完成关于页面

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 60.2%
  • Java 38.6%
  • CSS 1.2%