EvaluationSystem:项目分析
0、需求分析
最近项目要求做一个音频的主管评测平台,用户对给定音频进行主观听测实验,并根据指标打出相应分数。前端主要由 周周 负责,这里不会详细展开讲。
采用框架:node.js + koa + mysql
1、功能分析
主页面
- 广场(展示若干条语音测评——可以是测评数量最多或最少的若干条)
- 可以进入每条语音测评详情页(各个评测项的平均分等)
用户层
- 用户登录/注册/退出登录
- 对每条记录进行评分/评论
- 查看所有自己参与评分的记录
- 用户个人中心/修改密码
管理员
- 管理员后台
- 管理员查看每条记录评分情况
- 管理员查看用户参与评分的记录
2、项目框架:
{
"name": "eval",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"koa": "^2.11.0",
"koa-bodyparser": "^4.2.1",
"koa-ejs": "^4.2.0",
"koa-router": "^7.4.0",
"koa-static": "^5.0.0",
"mysql2": "^2.0.1",
"sequelize": "^5.21.2"
},
"devDependencies": {
"@types/koa": "^2.0.52",
"@types/koa-router": "^7.0.42",
"@types/sequelize": "^4.28.7",
"nodemon": "^1.19.4"
}
}
3、项目目录:
node_modules 项目依赖库
//后端
shared 共享组件
middlewares kos 中间件
models 模型定义(数据库)
db.js 数据块建立文件
services 业务逻辑api
routes 路由定义
//前端(主要由 周周 负责)
templates 视图文件
public 静态文件
//入口和配置文件
index.js 入口文件
package.json 包描述文件
allocation.js 自定义配置文件
4、全局配置文件(./allocation.js)
主要是全局用到的参数配置
- 具体评估指标配置
- 测评数据配置
- 数据库参数配置
// 自定义全局参数
// 评估指标
exports.evalOpt = ['index1','index2','index3'];
// 待评估数据库
exports.dbname = 'data'
exports.dbpath = './public/data'
// 数据库配置
exports.database = 'evaluation';
exports.host = 'localhost';
exports.port = 3306;
exports.username = 'root';
exports.password = '2553Jacky';