questionnaire 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
questionnaire 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
questionnaire 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

软件简介

questionnaire

一个极简的问卷系统,只需一些简单的配置就可以帮您解决问卷相关需求。
前端主要框架与库:VueElementVuexVue-Router
后端主要框架与库:expressmongodbmongoose

业务逻辑

  1. 用户需先在模板管理页面创建问卷模板,再在问卷管理页面,选中该模板创建新的问卷。
  2. 一个模板可对应多个(期)问卷,例:消费调查模板可对应,1月份消费调查问卷、2月份消费调查问卷、3月份消费调查问卷等,但同一模板下只允许一个(期)问卷为打开状态。
  3. 点击问卷管理页面的查看按钮,获得问卷填写链接,此链接发给所有需要做问卷调查的用户,如果已填写过此期问卷则不能重复填写。
  4. 问卷统计目前只能统计某一期的投票数据,暂不支持以模板为主体,统计该模板下多期综合投票数据。

主要功能

  1. 管理员登录 (PS: 控制开启、关闭低多边形背景动画。目前版本开启背景动画对电脑性能考验较大,建议关闭)
    login  

  2. 设置问卷模板。
    setQ

  3. 选择模板生成问卷。
    set

  4. 用户填写问卷。
    answer

  5. 统计问卷。
    statistics

使用与安装

  1. 下载代码 git clone https://github.com/no5no6/questionnaire.git

  2. 安装后端依赖,项目根目录下执行 npm install

  3. 安装前端依赖,项目questionnaire_web目录下执行 npm install

  4. 配置数据库,首先确认本机已经正确安装了mongodb并在本机正常启动。在本地创建 questionnaire 数据库,设置登录账号用户名为 ky1,密码为 123 (PS:如果需要更改数据库名称、用户名、密码,请打开questionnaire/models/index.js文件,找到对应位置 'mongodb://ky1:123@localhost:27017/questionnaire' 修改即可)。
    (1). 打开终端窗口(Terminal)。
    (2). 用命令行进入mongodb,输入并执行 mongo
    (3). 创建questionnaire数据库,输入并执行 use questionnaire
    (4). 创建用户,输入并执行

      db.createUser({
        user:'ky1',
        pwd:'123',
        roles:[{
          "role" : "readWrite",
          "db": "questionnaire"
        }]
      })
    
  5. 启动后端服务,项目根目录下执行 node questionnaire。  

  6. 创建管理员
    (1). 打开终端窗口(Terminal)。
    (2). 用命令行进入mongodb,输入并执行 mongo
    (3). 创建questionnaire数据库,输入并执行 use questionnaire
    (4). 创建用户,输入并执行

      db.users.insert({
        name: "admin", 
        password: "123", 
        organization: 'test' 
      })
    
  7. 启动前端服务,项目questionnaire_web目录下执行 npm run dev。  

  8. 打开浏览器,访问 localhost:8080/#/questionList。(PS: 填写问卷时只需将查看地址发给所有需要填写问卷的用户)  

项目结构

├── db                 // 备份数据库脚本
├── models             // 数据库模型目录
├── public
│   └── web            // 前端打包后运行文件目录
│
├── questionnaire_web  // 前端目录
│   ├── src
│   │   ├── components // 组件目录
│   │   ├──router      // 路由目录(vue-router)
│   │   ├── store      // 模型目录(vuex)
│   │   ├── views      // 视图目录
│   │   └── main.js    // 前端入口文件
│   ├── index.html     // 首页
│   └── package.json   // 前端包管理文件
│
├── router             // 接口目录
├── package.json       // 后端包管理文件
└── questionnaire.js   // 项目主进程
展开阅读全文

代码

评论 (0)

加载中
更多评论
暂无内容
2020/03/01 15:48

架构师内功心法,注重方法调用顺序的建造者模式详解

# 一、建造者模式的定义 大家平时都去过肯德基用餐,那里不变的是炸鸡、汉堡、薯条、可乐等,这些都是一直都有的,不变的,而其它组合是经常变化的,从而生成不同的“套餐”罢了。而建造模式(Builder Pattern)是将一个复杂的对象的构建过程与它的表示分离,使得同样的构建过程构建不同的表示。使用建造者模式对于用户而言只需要关注指定需要建造的类型就可以获得对象,而不需要了解建造的过程以及细节。 ![](https://oscimg.o...

0
0
发表于数据库专区
2013/10/21 16:22

SQLSERVER newId()

SELECT ID,NewsType,Title,inputDate,hitcounter,sources FROM cv_other.dbo.Hr_Newscontent SELECT ID,NewsType,Title,inputDate,hitcounter,sources FROM cv_other.dbo.Hr_Newscontent where 1=1 order by inputdate desc SELECT NewTypeID, NewTypeName FROM cv_Other.dbo.Dic_HrNewsType WHERE newTypeID LIKE '%' ORDER BY NewTypeID ASC select q.referenceId, q.questionName, q.questionType from cv_other.dbo.Hr_Ques...

0
0
发表了博客
2019/05/23 11:53

Java普通员工管理系统

login GUI界面(登录) package 普通员工管理系统; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPasswordField; import javax.swing.JTextField; public class Login extends JFrame { /** * */ private stati...

0
0
发表了博客
2018/07/01 17:25

完成一个springboot项目的完整总结------三

这一次的总结是最关键的部分,主要涉及了ORM的三种操作,这些操作是项目的难点,三种操作包括多对一、多对多、一对多三种模式,接下来展示项目代码 1.多对一 clazz表对应grade表和charge表 bean extend ClazzVM.java package com.briup.apps.poll.bean.extend; import com.briup.apps.poll.bean.Grade; import com.briup.apps.poll.bean.User; public class ClazzVM { private Long id; private String name;...

0
0
发表于大前端专区
2016/11/18 13:50

jquery.cookie.js使用

记录用户是否首次访问 或者用户名,密码等 用javascript+cookie判断用户是否首次访问网站 有时候,需要判断用户是否初次访问网站。 本文介绍一种javascript+cookie的方法。 通过javascript读写cookie,在cookie里记录用户是否访问过的信息。如果不能读出相应信息,则说明用户是初次访问。 什么是cookie? 从安全角度考虑浏览器是不能直接写本地硬盘的。 不过有些信息需要本地保存,就发明了cookie这么个东西。 浏览器写入cookie的...

0
1
发表了博客
2020/05/06 16:59

CTF-Pwn-[BJDCTF 2nd]snake2_dyn

## CTF-Pwn-[BJDCTF 2nd]snake2_dyn **博客说明** > 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与交流,不得用于非法用途! #### CTP平台 网址 [https://buuoj.cn/challenges](https://buuoj.cn/challenges) #### 题目 Pwn类,[BJDCTF 2nd]snake2_dyn ![image-20200506162850542](https://oscimg.oschina.net/oscnet/up-cb0a1f1f2ccb818e20...

0
0
发表了博客
2014/11/19 09:15

What Your Work Gains From A Walk In The Park

I was in the Kings Cross area of London this week and walked past the site for the proposed new Google headquarters that is being built in the area. It's a fascinating building, not only because of the redevelopment of that part of town, but for the facilities that the building will offer to employees. Undoubtedly one of the more interesting among them is to be found on the roof of the building...

0
0
发表了博客
2015/01/20 14:24

Cheap diesel jacket keeps you chic before others

Such a state-of-the-art dress-up costume tastefully engages couple of low precious gem stones at the 18 o-clock marker, knowning the fact that true leather-based Buy Diesel Watches put is normally high quality. This specific access for actuality makes mine set of the very most finest valuable stone timepieces pertaining to men within $100, a majority of these often is the large admiration in wh...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
0 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部