这是一个适用于中学的学生反馈网站项目,具有简单易用的特点,您无需任何技术即可在服务器上完成网站部署,并快速投入使用,使用该网站系统可有效拓宽学生反馈渠道,促进学生与学校共同发展。该项目后端使用c++/drogon框架构建,前端使用vue3+vite构建。
该网站系统具有以下优点:
- 简单易用,无需任何技术即可完成网站搭建
- 高度匿名,让学生能大胆写出内心真实的想法和对学校的建议
- 投票公平,系统通过浏览器指纹+IP+手写轨迹多重验证,实现无需用户输入隐私信息来判断唯一性,并保证用户无法重复投票
- 支持单独对老师提建议,学校和其他老师无法查看(除公开的建议外)
- 支持AI评分等AI功能
- 用户可自由选择是否公开及是否匿名
- 可自定义网站标题、Logo等
- UI整体简洁美观
一键部署目前仅支持Windows系统服务器,点击此处查看详细部署说明。
使用自定义部署则默认你已熟悉Nginx、PostgreSQL的安装及基本配置。
到此处下载最新的前端、后端已构建完成的包。
可使用以下命令初始化数据库,也可自行使用其他方式,在仓库的根目录可获取stufbsys_db.sql
psql -U "posetgres" -c "CREATE DATABASE stufbsys;" # 创建数据库
psql -U "posetgres" -d "stufbsys" -f "/stufbsys_db.sql"
# -f "/stufbsys_db.sql" 是你的stufbsys_db.sql文件路径将server-win64.zip解压到任意合适的位置,编辑config.json配置文件,完成数据库连接配置,可参考drogon文档:数据库配置
并编辑以下自定义选项
// 其他配置...
{
"name": "JwtPlugin",
"dependencies": [],
"config": {
"secret": "", // jwt的加密密钥,数字和字母组成
"sessionTime": 86400, // jwt会话时间,单位为s,通常不用更改
}
}
// 其他配置...
"custom_config": {
"defaultTeacherPassword": "teacher123456", // 教师后台默认密码
"encryptTextKey": "", // 32字节,ase加密的密钥,数字和字母组成
"encryptTextIv": "", // 16字节,ase加密的偏移量,数字和字母组成
"verifyImageCompareThreshold": 0.86, // 轨迹图片对比阈值,通常不用更改
"verifyImageSimpleCompareThreshold": 0.75 // 轨迹图片简单对比阈值,通常不用更改
}
完成配置后直接启动stuFBSys.exe即可,如需创建Windows服务,请使用winsw
请使用源码编译安装后端服务,并将后端源码目录下的config.json配置文件复制到安装目录,配置文件的修改与Windows端一致,在安装目录下创建log目录并运行stuFBSys
将front-admin.zip、front-teacherAdmin.zip 、front-reception.zip解压到nginx网站根目录,请使用以下目录结构
网站根目录
|--- admin # front-admin.zip解压文件
|--- teacherAdmin # front-teacherAdmin.zip解压文件
└─-- ··· # front-reception.zip解压文件,直接放至网站根目录
nginx配置可参考此处
前端:vue.js、element-plus、pure-admin
配置工具、一键部署工具:Qt